You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/06/06 09:30:47 UTC

svn commit: r1490181 - in /stanbol/trunk/entityhub/indexing/geonames: ./ src/main/java/org/apache/stanbol/entityhub/indexing/geonames/GeonamesIndexingSource.java src/main/java/org/apache/stanbol/entityhub/indexing/geonames/HierarchyProcessor.java

Author: rwesten
Date: Thu Jun  6 07:30:47 2013
New Revision: 1490181

URL: http://svn.apache.org/r1490181
Log:
fix for STANBOL-1056

Modified:
    stanbol/trunk/entityhub/indexing/geonames/   (props changed)
    stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/GeonamesIndexingSource.java
    stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/HierarchyProcessor.java

Propchange: stanbol/trunk/entityhub/indexing/geonames/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Jun  6 07:30:47 2013
@@ -7,3 +7,5 @@ target
 .classpath
 
 .project
+
+dependency-reduced-pom.xml

Modified: stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/GeonamesIndexingSource.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/GeonamesIndexingSource.java?rev=1490181&r1=1490180&r2=1490181&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/GeonamesIndexingSource.java (original)
+++ stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/GeonamesIndexingSource.java Thu Jun  6 07:30:47 2013
@@ -332,18 +332,16 @@ public class GeonamesIndexingSource impl
                     adminCodes[1] = '0'+adminCodes[1];
                 }
                 //now process the admin Codes (including the country at index 0)
-                for(int i=0;i<adminCodes.length;i++){
-                    if(adminCodes[i] != null && !adminCodes[i].equals("00")){ //00 is used to indicate not known
-                        StringBuilder parentCode = new StringBuilder();
-                        for(int j=0;j<i;j++){
-                            parentCode.append(adminCodes[j]); //add all the previous
-                            parentCode.append('.'); //add the seperator char
-                        }
-                        parentCode.append(adminCodes[i]);//add the current (last) Element
-                        String property = i==0 ? GeonamesPropertyEnum.idx_CC.toString() :
-                            new StringBuilder(GeonamesPropertyEnum.idx_ADM.toString()).append(i).toString();
-                        doc.add(property, parentCode.toString());
+                StringBuilder parentCode = new StringBuilder();
+                //iterate over parent codes until the first NULL (or '00' unknown) element
+                for(int i=0;i<adminCodes.length && adminCodes[i] != null && !adminCodes[i].equals("00") ;i++){
+                    if(i>0){
+                        parentCode.append('.');
                     }
+                    parentCode.append(adminCodes[i]);//add the current (last) Element
+                    String property = i==0 ? GeonamesPropertyEnum.idx_CC.toString() :
+                        new StringBuilder(GeonamesPropertyEnum.idx_ADM.toString()).append(i).toString();
+                    doc.add(property, parentCode.toString()); // add each level
                 }
 
                 //[14] population

Modified: stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/HierarchyProcessor.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/HierarchyProcessor.java?rev=1490181&r1=1490180&r2=1490181&view=diff
==============================================================================
--- stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/HierarchyProcessor.java (original)
+++ stanbol/trunk/entityhub/indexing/geonames/src/main/java/org/apache/stanbol/entityhub/indexing/geonames/HierarchyProcessor.java Thu Jun  6 07:30:47 2013
@@ -339,13 +339,7 @@ public class HierarchyProcessor implemen
         //now process the admin Codes (including the country at index 0)
         for(int i=0;i<adminCodes.length;i++){
             if(adminCodes[i] != null && !adminCodes[i].equals("00")){ //00 is used to indicate not known
-                StringBuilder parentCode = new StringBuilder();
-                for(int j=0;j<i;j++){
-                    parentCode.append(adminCodes[j]); //add all the previous
-                    parentCode.append('.'); //add the seperator char
-                }
-                parentCode.append(adminCodes[i]);//add the current (last) Element
-                adminIds[i] =adminCode2featureId.get(parentCode.toString()); //might also add null!
+                adminIds[i] =adminCode2featureId.get(adminCodes[i]); //might also add null!
             }
         }
         //now get the direct parents
@@ -402,7 +396,8 @@ public class HierarchyProcessor implemen
         if(!currentLevel.isEmpty()){ //now add all the adm1 we found
             doc.add(property.toString(), getFeatureReferences(currentLevel));
             if(currentLevel.size()>1){ //write warning if there are multiple ids
-                log.warn(String.format("Multiple %s for ID %s (ids: %s)",property.name(),doc.getId(),currentLevel.toString()));
+                log.warn("Multiple {} for ID {} (ids: {})",new Object[]{
+                        property.name(),doc.getId(),currentLevel.toString()});
             }
         }
         return currentLevel;