You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by it...@apache.org on 2010/11/10 14:45:48 UTC

svn commit: r1033465 - /incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java

Author: ito
Date: Wed Nov 10 13:45:48 2010
New Revision: 1033465

URL: http://svn.apache.org/viewvc?rev=1033465&view=rev
Log:
CLEREZZA-357: platformConfig.getPlatformInstance() used

Modified:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java?rev=1033465&r1=1033464&r2=1033465&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.language/org.apache.clerezza.platform.language.core/src/main/java/org/apache/clerezza/platform/language/LanguageWidget.java Wed Nov 10 13:45:48 2010
@@ -31,6 +31,7 @@ import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.core.MediaType;
 import org.apache.clerezza.platform.Constants;
+import org.apache.clerezza.platform.config.PlatformConfig;
 
 import org.apache.clerezza.rdf.utils.GraphNode;
 import org.apache.felix.scr.annotations.Component;
@@ -84,6 +85,9 @@ public class LanguageWidget implements U
 	private TcManager TcManager;
 
 	@Reference
+	private PlatformConfig platformConfig;
+
+	@Reference
 	private RenderletManager renderletManager;
 	@Reference
 	private LanguageService languageService;
@@ -111,22 +115,29 @@ public class LanguageWidget implements U
 	}
 
 	@Override
-	public GraphNode addUserContext(final GraphNode node) {
+	public GraphNode addUserContext(final GraphNode node) {	
+		final NonLiteral platformInstance = AccessController.doPrivileged(
+			new PrivilegedAction<NonLiteral>() {
+				@Override
+				public NonLiteral run() {
+					return (NonLiteral) platformConfig.getPlatformInstance().getNode();
+				}
+			});
 		try {
-			return addLanguages(node, languageService.getLanguages(), false);
+			return addLanguages(node, platformInstance, languageService.getLanguages(), false);
 			 
 		} catch (AccessControlException ex) {
 			return AccessController.doPrivileged(
 				new PrivilegedAction<GraphNode>() {
 					@Override
 					public GraphNode run() {
-						return addLanguages(node, languageService.getLanguages(), true);						 
+						return addLanguages(node, platformInstance, languageService.getLanguages(), true);
 					}
 				});
 		}		
 	}
 
-	private GraphNode addLanguages(GraphNode node, List<LanguageDescription> languages, boolean copyToNode) {
+	private GraphNode addLanguages(GraphNode node, NonLiteral platformInstance, List<LanguageDescription> languages, boolean copyToNode) {
 		TripleCollection graph = node.getGraph();
 		BNode listNode = new BNode();		
 		RdfList list = new RdfList(listNode, graph);
@@ -139,10 +150,9 @@ public class LanguageWidget implements U
 					getNodeContext());
 			}
 		}
-		BNode instance = new BNode();
-		node.addProperty(PLATFORM.instance, instance);
-		graph.add(new TripleImpl(instance, RDF.type, PLATFORM.Instance));
-		graph.add(new TripleImpl(instance, PLATFORM.languages, listNode));
+		node.addProperty(PLATFORM.instance, platformInstance);
+		graph.add(new TripleImpl(platformInstance, RDF.type, PLATFORM.Instance));
+		graph.add(new TripleImpl(platformInstance, PLATFORM.languages, listNode));
 		graph.add(new TripleImpl(listNode, RDF.type, LANGUAGE.LanguageList));
 		if (!copyToNode) {
 			node = new GraphNode(node.getNode(), new UnionMGraph(graph, configGraph));