You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2011/03/19 14:40:34 UTC
svn commit: r1083179 - in
/incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering:
RendererFactory.java TypeRenderletRendererImpl.java
Author: reto
Date: Sat Mar 19 13:40:34 2011
New Revision: 1083179
URL: http://svn.apache.org/viewvc?rev=1083179&view=rev
Log:
CLEREZZA-460: creating TypeRenderletRenedererImpl when BundleContext is guaranteed to be avaibalbe
Modified:
incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererFactory.java
incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderletRendererImpl.java
Modified: incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererFactory.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererFactory.java?rev=1083179&r1=1083178&r2=1083179&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererFactory.java (original)
+++ incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/RendererFactory.java Sat Mar 19 13:40:34 2011
@@ -65,8 +65,8 @@ public class RendererFactory {
@Reference
private TypePrioritizer typePrioritizer;
- private Map<UriRef, RegexMap<MediaTypeMap<Renderer>>> typeRenderletMap =
- new HashMap<UriRef, RegexMap<MediaTypeMap<Renderer>>>();
+ private Map<UriRef, RegexMap<MediaTypeMap<TypeRenderlet>>> typeRenderletMap =
+ new HashMap<UriRef, RegexMap<MediaTypeMap<TypeRenderlet>>>();
private BundleContext bundleContext;
@@ -114,15 +114,21 @@ public class RendererFactory {
Iterator<UriRef> sortedTypes = typePrioritizer.iterate(types);
while (sortedTypes.hasNext()) {
final UriRef currentType = sortedTypes.next();
- final RegexMap<MediaTypeMap<Renderer>> regexMap = typeRenderletMap.get(currentType);
+ final RegexMap<MediaTypeMap<TypeRenderlet>> regexMap = typeRenderletMap.get(currentType);
if (regexMap != null) {
- Iterator<MediaTypeMap<Renderer>> mediaTypeMapIter = regexMap.getMatching(mode);
+ Iterator<MediaTypeMap<TypeRenderlet>> mediaTypeMapIter = regexMap.getMatching(mode);
while (mediaTypeMapIter.hasNext()) {
- MediaTypeMap<Renderer> mediaTypeMap = mediaTypeMapIter.next();
+ MediaTypeMap<TypeRenderlet> mediaTypeMap = mediaTypeMapIter.next();
for (MediaType acceptableType : acceptableMediaTypes) {
- Iterator<Renderer> renderlets = mediaTypeMap.getMatching(acceptableType);
+ Iterator<TypeRenderlet> renderlets = mediaTypeMap.getMatching(acceptableType);
if (renderlets.hasNext()) {
- return renderlets.next();
+ TypeRenderlet typeRenderlet = renderlets.next();
+ //TODO is this the most convrete type
+ return new TypeRenderletRendererImpl(
+ typeRenderlet,
+ acceptableType,
+ this,
+ bundleContext);
}
}
}
@@ -133,23 +139,19 @@ public class RendererFactory {
protected void bindTypeRenderlet(TypeRenderlet typeRenderlet) {
final UriRef rdfType = typeRenderlet.getRdfType();
- RegexMap<MediaTypeMap<Renderer>> regexMap = typeRenderletMap.get(rdfType);
+ RegexMap<MediaTypeMap<TypeRenderlet>> regexMap = typeRenderletMap.get(rdfType);
if (regexMap == null) {
- regexMap = new RegexMap<MediaTypeMap<Renderer>>();
+ regexMap = new RegexMap<MediaTypeMap<TypeRenderlet>>();
typeRenderletMap.put(rdfType, regexMap);
}
final String mode = typeRenderlet.getModePattern();
- MediaTypeMap<Renderer> mediaTypeMap = regexMap.getFirstExactMatch(mode);
+ MediaTypeMap<TypeRenderlet> mediaTypeMap = regexMap.getFirstExactMatch(mode);
if (mediaTypeMap == null) {
- mediaTypeMap = new MediaTypeMap<Renderer>();
+ mediaTypeMap = new MediaTypeMap<TypeRenderlet>();
regexMap.addEntry(mode, mediaTypeMap);
}
final MediaType mediaType = typeRenderlet.getMediaType();
- final Renderer renderer = new TypeRenderletRendererImpl(null,
- typeRenderlet, mediaType,
- this,
- bundleContext);
- mediaTypeMap.addEntry(mediaType, renderer);
+ mediaTypeMap.addEntry(mediaType, typeRenderlet);
}
protected void unbindTypeRenderlet(TypeRenderlet typeRenderlet) {
Modified: incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderletRendererImpl.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderletRendererImpl.java?rev=1083179&r1=1083178&r2=1083179&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderletRendererImpl.java (original)
+++ incubator/clerezza/trunk/parent/platform.typerendering/platform.typerendering.core/src/main/java/org/apache/clerezza/platform/typerendering/TypeRenderletRendererImpl.java Sat Mar 19 13:40:34 2011
@@ -39,26 +39,17 @@ import org.osgi.framework.BundleContext;
*/
class TypeRenderletRendererImpl implements Renderer {
- private URI renderSpecUri = null;
private TypeRenderlet renderlet = null;
private MediaType mediaType = null;
private final RendererFactory rendererFactory;
private final BundleContext bundleContext;
- TypeRenderletRendererImpl(UriRef renderingSpecification,
- TypeRenderlet renderlet, MediaType mediaType,
+ TypeRenderletRendererImpl(TypeRenderlet renderlet, MediaType mediaType,
RendererFactory rendererFactory,
BundleContext bundleContext) {
this.renderlet = renderlet;
this.mediaType = mediaType;
this.rendererFactory = rendererFactory;
- if (renderingSpecification != null) {
- try {
- renderSpecUri = new URI(renderingSpecification.getUnicodeString());
- } catch (URISyntaxException ex) {
- throw new WebApplicationException(ex);
- }
- }
this.bundleContext = bundleContext;
}