@Override public String toString() { return udn == null || serviceId == null ? "" : udn.toString() + DELIMITER + serviceId.toString(); }
return new ServiceId(matcher.group(1), matcher.group(2)); return new ServiceId(matcher.group(1), matcher.group(2)); if (matcher.matches() && matcher.groupCount() >= 1) { log.warning("UPnP specification violation, no service ID token, defaulting to " + UNKNOWN + ": " + s); return new ServiceId(matcher.group(1), UNKNOWN); if (tokens.length == 4) { log.warning("UPnP specification violation, trying a simple colon-split of: " + s); return new ServiceId(tokens[1], tokens[3]);
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ServiceReference that = (ServiceReference) o; if (!serviceId.equals(that.serviceId)) return false; if (!udn.equals(that.udn)) return false; return true; }
@Override public String toString() { return "urn:" + getNamespace() + ":serviceId:" + getId(); }
public ServiceReference(String s) { String[] split = s.split("/"); if (split.length == 2) { this.udn = UDN.valueOf(split[0]); this.serviceId = ServiceId.valueOf(split[1]); } else { this.udn = null; this.serviceId = null; } }
@Override public int hashCode() { int result = udn.hashCode(); result = 31 * result + serviceId.hashCode(); return result; }
protected String getServicePath(Service service) { if (service.getServiceId() == null) { throw new IllegalStateException("Can't generate local URI prefix without service ID"); } StringBuilder s = new StringBuilder(); s.append(SERVICE); s.append("/"); s.append(service.getServiceId().getNamespace()); s.append("/"); s.append(service.getServiceId().getId()); return getDevicePath(service.getDevice()) + s.toString(); } }
service.serviceType = (ServiceType.valueOf(XMLUtil.getTextContent(serviceChild))); } else if (ELEMENT.serviceId.equals(serviceChild)) { service.serviceId = (ServiceId.valueOf(XMLUtil.getTextContent(serviceChild))); } else if (ELEMENT.SCPDURL.equals(serviceChild)) { service.descriptorURI = parseURI(XMLUtil.getTextContent(serviceChild));
@Override public int hashCode() { int result = udn.hashCode(); result = 31 * result + serviceId.hashCode(); return result; }
@Override public String toString() { return "urn:" + getNamespace() + ":serviceId:" + getId(); }
setToolTipText(serviceNode.getServiceId().toString()); setText(serviceNode.getServiceType().getType());
@Override public void endElement(ELEMENT element) throws SAXException { try { switch (element) { case serviceType: getInstance().serviceType = ServiceType.valueOf(getCharacters()); break; case serviceId: getInstance().serviceId = ServiceId.valueOf(getCharacters()); break; case SCPDURL: getInstance().descriptorURI = parseURI(getCharacters()); break; case controlURL: getInstance().controlURI = parseURI(getCharacters()); break; case eventSubURL: getInstance().eventSubscriptionURI = parseURI(getCharacters()); break; } } catch (InvalidValueException ex) { log.warning( "UPnP specification violation, skipping invalid service declaration. " + ex.getMessage() ); } }
private boolean isMatch(Service s, ServiceType serviceType, ServiceId serviceId) { boolean matchesType = serviceType == null || s.getServiceType().implementsVersion(serviceType); boolean matchesId = serviceId == null || s.getServiceId().equals(serviceId); return matchesType && matchesId; }
public LocalService read(Class<?> clazz) throws LocalServiceBindingException { log.fine("Reading and binding annotations of service implementation class: " + clazz); // Read the service ID and service type from the annotation if (clazz.isAnnotationPresent(UpnpService.class)) { UpnpService annotation = clazz.getAnnotation(UpnpService.class); UpnpServiceId idAnnotation = annotation.serviceId(); UpnpServiceType typeAnnotation = annotation.serviceType(); ServiceId serviceId = idAnnotation.namespace().equals(UDAServiceId.DEFAULT_NAMESPACE) ? new UDAServiceId(idAnnotation.value()) : new ServiceId(idAnnotation.namespace(), idAnnotation.value()); ServiceType serviceType = typeAnnotation.namespace().equals(UDAServiceType.DEFAULT_NAMESPACE) ? new UDAServiceType(typeAnnotation.value(), typeAnnotation.version()) : new ServiceType(typeAnnotation.namespace(), typeAnnotation.value(), typeAnnotation.version()); boolean supportsQueryStateVariables = annotation.supportsQueryStateVariables(); Set<Class> stringConvertibleTypes = readStringConvertibleTypes(annotation.stringConvertibleTypes()); return read(clazz, serviceId, serviceType, supportsQueryStateVariables, stringConvertibleTypes); } else { throw new LocalServiceBindingException("Given class is not an @UpnpService"); } }
@Override public int hashCode() { int result = udn.hashCode(); result = 31 * result + serviceId.hashCode(); return result; }
public URI getPath(Service service) { if (service.getServiceId() == null) { throw new IllegalStateException("Can't generate local URI prefix without service ID"); } StringBuilder s = new StringBuilder(); s.append(SERVICE); s.append("/"); s.append(service.getServiceId().getNamespace()); s.append("/"); s.append(service.getServiceId().getId()); return URI.create(getPath(service.getDevice()).toString() + s.toString()); }
@Override public String toString() { return udn == null || serviceId == null ? "" : udn.toString() + DELIMITER + serviceId.toString(); }
public ServiceReference(String s) { String[] split = s.split("/"); if (split.length == 2) { this.udn = UDN.valueOf(split[0]); this.serviceId = ServiceId.valueOf(split[1]); } else { this.udn = null; this.serviceId = null; } }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ServiceReference that = (ServiceReference) o; if (!serviceId.equals(that.serviceId)) return false; if (!udn.equals(that.udn)) return false; return true; }
return new ServiceId(matcher.group(1), matcher.group(2)); return new ServiceId(matcher.group(1), matcher.group(2)); if (matcher.matches() && matcher.groupCount() >= 1) { log.warning("UPnP specification violation, no service ID token, defaulting to " + UNKNOWN + ": " + s); return new ServiceId(matcher.group(1), UNKNOWN); if (tokens.length == 4) { log.warning("UPnP specification violation, trying a simple colon-split of: " + s); return new ServiceId(tokens[1], tokens[3]);