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;
}