private ServiceRegistration getAlreadyRegisteredServiceReg(IRI rdfType, MediaType mediaType, String modePattern) { for (ServiceRegistration serviceRegistration : registeredTypeRenderlets) { TypeRenderlet registeredRenderlet = (TypeRenderlet) bundleContext.getService(serviceRegistration.getReference()); if (registeredRenderlet != null && registeredRenderlet.getRdfType().equals(rdfType) && registeredRenderlet.getMediaType().equals(mediaType)) { if(modePattern == null && registeredRenderlet.getModePattern() == null) { return serviceRegistration; } else if(modePattern != null && registeredRenderlet.getModePattern() != null) { if(registeredRenderlet.getModePattern().equals(modePattern)) { return serviceRegistration; } } } } return null; } }
private void registerRenderlet(TypeRenderlet typeRenderlet, int startLevel) { final IRI rdfType = typeRenderlet.getRdfType(); RegexMap<MediaTypeMap<TypeRenderletStartLevel>> regexMap = typeRenderletMap.get(rdfType); if (regexMap == null) { regexMap = new RegexMap<MediaTypeMap<TypeRenderletStartLevel>>(); typeRenderletMap.put(rdfType, regexMap); } final String modePattern = typeRenderlet.getModePattern(); MediaTypeMap<TypeRenderletStartLevel> mediaTypeMap = regexMap.getFirstExactMatch(modePattern); if (mediaTypeMap == null) { mediaTypeMap = new MediaTypeMap<TypeRenderletStartLevel>(); regexMap.addEntry(modePattern, mediaTypeMap); } final MediaType mediaType = typeRenderlet.getMediaType(); mediaTypeMap.addEntry(mediaType, new TypeRenderletStartLevel(typeRenderlet, startLevel)); }