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;
 	}