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;


Reply via email to