You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devicemap.apache.org by re...@apache.org on 2013/06/23 17:40:32 UTC

svn commit: r1495831 - in /incubator/devicemap/trunk/devicemapjava/src/main/java: ./ org/apache/devicemap/client/

Author: rezan
Date: Sun Jun 23 15:40:32 2013
New Revision: 1495831

URL: http://svn.apache.org/r1495831
Log:
longest match

Modified:
    incubator/devicemap/trunk/devicemapjava/src/main/java/Main.java
    incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/DeviceMapClient.java
    incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/FileLoader.java
    incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/Loader.java
    incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/XMLParser.java

Modified: incubator/devicemap/trunk/devicemapjava/src/main/java/Main.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/devicemapjava/src/main/java/Main.java?rev=1495831&r1=1495830&r2=1495831&view=diff
==============================================================================
--- incubator/devicemap/trunk/devicemapjava/src/main/java/Main.java (original)
+++ incubator/devicemap/trunk/devicemapjava/src/main/java/Main.java Sun Jun 23 15:40:32 2013
@@ -21,6 +21,8 @@ public class Main {
         classify(client,"Mozilla/5.0 (BlackBerry; U; BlackBerry 9810; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.261 Mobile Safari/534.11+");
         classify(client,"Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X; en-us) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/23.0.1271.91 Mobile/10A403 Safari/8536.25");
         classify(client,"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; .NET4.0C; IPH 1.1.21.4019; AskTbORJ/5.13.1.18107)");
+        classify(client,"Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus S 4G Build/GWK74) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1");
+        classify(client,"Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 1 subscribers; feed-id=3694668351925170997)");
     }
     
     public static void classify(DeviceMapClient client, String text) {
@@ -30,6 +32,8 @@ public class Main {
         
         long diff=System.currentTimeMillis()-start;
         
-        System.out.println("Result: "+ret.get("id")+" took "+diff+"ms");
+        System.out.println("");
+        System.out.println("Result: "+((ret==null)?"unknown":ret.get("id"))+" took "+diff+"ms");
+        System.out.println("");
     }
 }

Modified: incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/DeviceMapClient.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/DeviceMapClient.java?rev=1495831&r1=1495830&r2=1495831&view=diff
==============================================================================
--- incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/DeviceMapClient.java (original)
+++ incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/DeviceMapClient.java Sun Jun 23 15:40:32 2013
@@ -61,6 +61,7 @@ public class DeviceMapClient {
     public Map<String,String> classify(String text) {
         Map<String,Device> hits=new HashMap<String,Device>();
         Device winner=null;
+        String winnerStr="";
         
         if(text==null) {
             return null;
@@ -95,14 +96,19 @@ public class DeviceMapClient {
                 }
             }
             
-            Util.log("Hit candidate: "+device.getId());
+            Util.log("Hit candidate: "+hit+" => "+device.getId());
             
             if(winner!=null) {
                 if("SimpleDeviceBuilder".equals(winner.getBuilder()) && !"SimpleDeviceBuilder".equals(device.getBuilder())) {
                     winner=device;
+                    winnerStr=hit;
+                } else if(hit.length()>winnerStr.length() && !"SimpleDeviceBuilder".equals(device.getBuilder())) {
+                    winner=device;
+                    winnerStr=hit;
                 }
             } else {
                 winner=device;
+                winnerStr=hit;
             }
         }
         

Modified: incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/FileLoader.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/FileLoader.java?rev=1495831&r1=1495830&r2=1495831&view=diff
==============================================================================
--- incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/FileLoader.java (original)
+++ incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/FileLoader.java Sun Jun 23 15:40:32 2013
@@ -19,6 +19,7 @@
 
 package org.apache.devicemap.client;
 
+import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
@@ -46,12 +47,12 @@ public class FileLoader {
         String bpath=folder+File.separatorChar+"BuilderDataSource.xml";
         String bppath=folder+File.separatorChar+"BuilderDataSourcePatch.xml";
 
-        InputStreamReader ddin=new InputStreamReader(new FileInputStream(ddpath), "UTF-8");
+        BufferedReader ddin=new BufferedReader(new InputStreamReader(new FileInputStream(ddpath), "UTF-8"));
         loader.loadDeviceData(ddin);
         ddin.close();
         
         try {
-            InputStreamReader ddpin=new InputStreamReader(new FileInputStream(ddppath), "UTF-8");
+            BufferedReader ddpin=new BufferedReader(new InputStreamReader(new FileInputStream(ddppath), "UTF-8"));
             loader.loadDeviceData(ddpin);
             ddpin.close();
         } catch(FileNotFoundException ex) {
@@ -60,12 +61,12 @@ public class FileLoader {
 
         loader.setParentAttributes();
 
-        InputStreamReader bin=new InputStreamReader(new FileInputStream(bpath), "UTF-8");
+        BufferedReader bin=new BufferedReader(new InputStreamReader(new FileInputStream(bpath), "UTF-8"));
         loader.loadDevicePatterns(bin);
         bin.close();
         
         try {
-            InputStreamReader bpin=new InputStreamReader(new FileInputStream(bppath), "UTF-8");
+            BufferedReader bpin=new BufferedReader(new InputStreamReader(new FileInputStream(bppath), "UTF-8"));
             loader.loadDevicePatterns(bpin);
             bpin.close();
         } catch(FileNotFoundException ex) {

Modified: incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/Loader.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/Loader.java?rev=1495831&r1=1495830&r2=1495831&view=diff
==============================================================================
--- incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/Loader.java (original)
+++ incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/Loader.java Sun Jun 23 15:40:32 2013
@@ -19,7 +19,7 @@
 
 package org.apache.devicemap.client;
 
-import java.io.InputStreamReader;
+import java.io.Reader;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -40,7 +40,7 @@ public class Loader {
     /*
      * loads device data from an InputStreamReader
      */
-    public void loadDeviceData(InputStreamReader in) {
+    public void loadDeviceData(Reader in) {
         XMLParser parser=new XMLParser(in);
         String tag;
         
@@ -77,7 +77,7 @@ public class Loader {
     /*
      * loads patterns from an InputStreamReader
      */
-    public void loadDevicePatterns(InputStreamReader in) {
+    public void loadDevicePatterns(Reader in) {
         XMLParser parser=new XMLParser(in);
         String tag;
         

Modified: incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/XMLParser.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/XMLParser.java?rev=1495831&r1=1495830&r2=1495831&view=diff
==============================================================================
--- incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/XMLParser.java (original)
+++ incubator/devicemap/trunk/devicemapjava/src/main/java/org/apache/devicemap/client/XMLParser.java Sun Jun 23 15:40:32 2013
@@ -20,7 +20,7 @@
 package org.apache.devicemap.client;
 
 import java.io.IOException;
-import java.io.InputStreamReader;
+import java.io.Reader;
 
 /**
  *
@@ -28,13 +28,13 @@ import java.io.InputStreamReader;
  */
 public class XMLParser {
     
-    private InputStreamReader in;
+    private Reader in;
     
     private char pre;
 
     private XMLParser() {}
     
-    public XMLParser(InputStreamReader in) {
+    public XMLParser(Reader in) {
         this.in=in;
         pre=0;
     }