Author: mir
Date: Wed Jun  2 12:24:13 2010
New Revision: 950528

URL: http://svn.apache.org/viewvc?rev=950528&view=rev
Log:
added additional method to languageService to retrieve lingvoj uri for a label 
name

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

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=950528&r1=950527&r2=950528&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
 Wed Jun  2 12:24:13 2010
@@ -34,9 +34,11 @@ import org.apache.felix.scr.annotations.
 import org.apache.clerezza.platform.config.SystemConfig;
 import org.apache.clerezza.rdf.core.BNode;
 import org.apache.clerezza.rdf.core.Graph;
+import org.apache.clerezza.rdf.core.Language;
 import org.osgi.service.component.ComponentContext;
 import org.apache.clerezza.rdf.core.MGraph;
 import org.apache.clerezza.rdf.core.NonLiteral;
+import org.apache.clerezza.rdf.core.PlainLiteral;
 import org.apache.clerezza.rdf.core.Resource;
 import org.apache.clerezza.rdf.core.Triple;
 import org.apache.clerezza.rdf.core.UriRef;
@@ -115,7 +117,8 @@ public class LanguageService {      
        /**
         * Returns a set containg all language uris which are in the
         * <http://www.lingvoj.org/lingvoj> graph which is included in this 
bundle.
-        * @return a set containing all language uris
+        * @return a set containing all language uris. This uris can be used to 
+        * add the language to Clerezza over the addLanguage()-method in this 
class.
         */
        public Set<UriRef> getAllLanguages() {
                Set<UriRef> result = new HashSet<UriRef>();
@@ -130,6 +133,35 @@ public class LanguageService {     
        }
 
        /**
+        * Returns a language uri of a language which has a label containing the
+        * specified languageName. The label itself is in the language 
specified through
+        * inLanguage. If inLanguage is null, then all labels of a language of 
searched.
+        * If no language was found in the <http://www.lingvoj.org/lingvoj>
+        * graph, then null is returned. The returned uri can be used to
+        * add the language to Clerezza over the addLanguage()-method in this 
class.
+        * @return a language uris
+        */
+       public UriRef getLanguage(String languageName, Language inLanguage) {
+               Graph lingvojGraph = getLingvojGraph();
+               Iterator<Triple> languages = lingvojGraph.filter(null, 
RDFS.isDefinedBy,
+                               null);
+               while (languages.hasNext()) {
+                       GraphNode languageNode = new GraphNode((UriRef) 
languages.next().getSubject(),
+                                       lingvojGraph);
+                       Iterator<Resource> labels = 
languageNode.getObjects(RDFS.label);
+                       while (labels.hasNext()) {
+                               PlainLiteral label = (PlainLiteral) 
labels.next();
+                               if (label.getLanguage().equals(inLanguage) || 
inLanguage == null) {
+                                       if 
(label.getLexicalForm().contains(languageName)) {
+                                               return (UriRef) 
languageNode.getNode();
+                                       }
+                               }
+                       }
+               }
+               return null;
+       }
+
+       /**
         * Adds the language specified through languageUri to the Clerezza
         * platform. The languageUri has to be a 
<http://www.lingvoj.org/ontology#Lingvo>
         * according to the graph <http://www.lingvoj.org/lingvoj> included in 
this


Reply via email to