Author: reto
Date: Mon Mar  8 10:59:01 2010
New Revision: 920266

URL: http://svn.apache.org/viewvc?rev=920266&view=rev
Log:
object-iterator to return null if iterator doesn't have a next element

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/LanguageDescription.java
    
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/LanguageService.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/LanguageDescription.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/LanguageDescription.java?rev=920266&r1=920265&r2=920266&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/LanguageDescription.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/LanguageDescription.java
 Mon Mar  8 10:59:01 2010
@@ -23,6 +23,7 @@
 import org.apache.clerezza.rdf.core.Literal;
 import org.apache.clerezza.rdf.core.PlainLiteral;
 import org.apache.clerezza.rdf.core.Resource;
+import org.apache.clerezza.rdf.core.UriRef;
 import org.apache.clerezza.rdf.ontologies.LINGVOJ;
 import org.apache.clerezza.rdf.ontologies.RDFS;
 import org.apache.clerezza.rdf.utils.GraphNode;
@@ -39,8 +40,12 @@
 
        LanguageDescription(GraphNode resource) {
                this.resource = resource;
-               String iso1 = 
((Literal)resource.getObjects(LINGVOJ.iso1).next()).
-                               getLexicalForm();
+               Literal iso1Literal = (Literal) 
resource.getObjects(LINGVOJ.iso1).next();
+               if (iso1Literal == null) {
+                       throw new RuntimeException("No iso1 code for "
+                                       +resource.getNode());
+               }
+               String iso1 = iso1Literal.getLexicalForm();
                this.language = new Language(iso1);
        }
 

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/LanguageService.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/LanguageService.java?rev=920266&r1=920265&r2=920266&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/LanguageService.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/LanguageService.java
 Mon Mar  8 10:59:01 2010
@@ -43,6 +43,7 @@
 import org.apache.clerezza.rdf.core.impl.TripleImpl;
 import org.apache.clerezza.rdf.core.serializedform.ParsingProvider;
 import org.apache.clerezza.rdf.core.serializedform.SupportedFormat;
+import org.apache.clerezza.rdf.ontologies.LINGVOJ;
 import org.apache.clerezza.rdf.ontologies.PLATFORM;
 import org.apache.clerezza.rdf.ontologies.RDF;
 import org.apache.clerezza.rdf.ontologies.RDFS;
@@ -140,14 +141,31 @@
        public void addLanguage(UriRef languageUri) {
                if (!languageListCache.contains(languageUri)) {
                        if(languageList.add(languageUri)) {
-                               cgProvider.getContentGraph().
-                                               
addAll(getLanguageContext(languageUri));
+                               addToContentGraph(languageUri);
                        }
                        languageListCache.add(languageUri);
                }
        }
 
-       private Graph getLanguageContext(UriRef langUri) {
+       private void synchronizeContentGraph() {
+               for (Resource resource : languageListCache) {
+                       addToContentGraph((UriRef)resource);
+               }
+       }
+       /**
+        * Adds the langugae information for the specified language to the 
content
+        * graph, if the content-graph contains no LINGVOJ.iso1 property for 
that suject.
+        *
+        * @param languageUri
+        */
+       private void addToContentGraph(NonLiteral languageUri) {
+               final MGraph contentGraph = cgProvider.getContentGraph();
+               if (!contentGraph.filter(languageUri, LINGVOJ.iso1, 
null).hasNext()) {
+                       contentGraph.addAll(getLanguageContext(languageUri));
+               }
+       }
+
+       private Graph getLanguageContext(NonLiteral langUri) {
                Graph lingvojRdf = getLingvojGraph();
                GraphNode languageNode = new GraphNode(langUri, lingvojRdf);
                return languageNode.getNodeContext();
@@ -187,6 +205,8 @@
                if (languageListCache.size() == 0) {
                        addLanguage(new 
UriRef("http://www.lingvoj.org/lang/en";));
                }
+               //this is to make sure the content graph contains the relevant 
data
+               synchronizeContentGraph();
        }
 
        private NonLiteral getListNode() {


Reply via email to