devicemap-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wk...@apache.org
Subject svn commit: r1757070 - in /devicemap/trunk/clients/1.0/java: client/src/main/java/org/apache/devicemap/ console/src/main/java/org/apache/devicemap/console/
Date Sun, 21 Aug 2016 17:35:32 GMT
Author: wkeil
Date: Sun Aug 21 17:35:32 2016
New Revision: 1757070

URL: http://svn.apache.org/viewvc?rev=1757070&view=rev
Log:
DMAP-196: Deploy Snapshots to Apache Snapshot repo 

Task-Url: https://issues.apache.org/jira/browse/DMAP-196

Modified:
    devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceFixer.java
    devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceHints.java
    devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapClient.java
    devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapFactory.java
    devicemap/trunk/clients/1.0/java/console/src/main/java/org/apache/devicemap/console/DeviceMapConsole.java

Modified: devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceFixer.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceFixer.java?rev=1757070&r1=1757069&r2=1757070&view=diff
==============================================================================
--- devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceFixer.java
(original)
+++ devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceFixer.java
Sun Aug 21 17:35:32 2016
@@ -24,15 +24,12 @@ import static org.apache.devicemap.data.
 import java.util.HashMap;
 import java.util.Map;
 import java.util.logging.Logger;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
 import org.apache.devicemap.data.DeviceType;
 import org.apache.devicemap.data.UserAgent;
 
 /**
  * @author Werner Keil
- * @version 0.2
+ * @version 1.0
  */
 abstract class DeviceFixer {
     private static final Logger LOG = Logger.getLogger(DeviceFixer.class
@@ -48,7 +45,7 @@ abstract class DeviceFixer {
 
     private static final String CHROME_VERSION_REGEXP = "Chrome.([0-9a-z\\.b]+).*";
     private static final String SAFARI_REGEXP = ".*Safari/([0-9\\.]+).*?";
-    
+
     private static final String BROWSER = "mobile_browser";
     private static final String BROWSER_VERSION = "mobile_browser_version";
 
@@ -63,7 +60,7 @@ abstract class DeviceFixer {
 	} else {
 	    attributes = device.getAttributes();
 	}
-	
+
 	// OS
 	String pattern = userAgent.getPatternElementsInside();
 	if (pattern != null && pattern.contains(";")) {
@@ -151,22 +148,21 @@ abstract class DeviceFixer {
 		String parts = pattern.substring(pattern.indexOf(CHROME));
 		String version = parts.substring(CHROME.length() + 1,
 			parts.indexOf(" "));
-//		System.out.println(version);
+		// System.out.println(version);
 		// Matcher chromeVersionMatcher =
 		// chromeVersionPattern.matcher(pattern);
 		// System.out.println(chromeVersionMatcher);
-		final String versionExisting = attributes
-			.get(BROWSER_VERSION);
+		final String versionExisting = attributes.get(BROWSER_VERSION);
 		if (!version.equals(versionExisting)) {
-		    LOG.fine("Fixing '" + versionExisting + "' to '"
-			    + version + "'");
+		    LOG.fine("Fixing '" + versionExisting + "' to '" + version
+			    + "'");
 		    attributes.put(BROWSER_VERSION, version);
 		}
 	    }
 	    // Pattern safariPattern = Pattern.compile(SAFARI_REGEXP);
 
 	}
-	
+
 	device.setAttributes(attributes);
 
 	// logger.info("Device: " + device.getId() + " - " +

Modified: devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceHints.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceHints.java?rev=1757070&r1=1757069&r2=1757070&view=diff
==============================================================================
--- devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceHints.java
(original)
+++ devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceHints.java
Sun Aug 21 17:35:32 2016
@@ -20,47 +20,51 @@ package org.apache.devicemap;
 
 /**
  * @author Werner Keil
- * @version 0.2
+ * @version 0.3
  */
 abstract class DeviceHints {
-	static enum WindowsVersion {
-		WIN_81("Windows NT 6.3"	,"Windows 8.1", "8.1"),
-		WIN_8("Windows NT 6.2",	"Windows 8", "8.0"),
-		WIN_7("Windows NT 6.1",	"Windows 7", "7.0"),
-		VISTA("Windows NT 6.0",	"Windows Vista", "6.0"),
-		WIN_2003("Windows NT 5.2",	"Windows Server 2003; Windows XP x64 Edition", "2003"),
-		WIN_XP("Windows NT 5.1",	"Windows XP", "5.1"),
-		WIN_2000_SP1("Windows NT 5.01",	"Windows 2000, Service Pack 1 (SP1)", "5.01"),
-		WIN_2000("Windows NT 5.0",	"Windows 2000", "2000"),
-		WIN_NT_4("Windows NT 4.0",	"Microsoft Windows NT 4.0", "4.0"),
-		WIN_ME("Windows 98; Win 9x 4.90",	"Windows Millennium Edition (Windows Me)", "4.90"),
-		WIN_98("Windows 98",	"Windows 98", "98"),
-		WIN_95("Windows 95", "Windows 95", "95"),
-		WIN_CE("Windows CE",	"Windows CE", "CE"); // TODO  version nr?
-				
-		private final String token;
-		private final String description;
-		private final String version;
-		
-		private WindowsVersion(String t, String d, String v) {
-			token = t;
-			description = d;
-			version = v;
-		}
-		
-		String getDescription() {
-			return description;
-		}
-		
-		String getVersion() {
-			return version;
-		}
-		
-		static final WindowsVersion ofToken(String token) {
-			for (WindowsVersion version : values()) {
-				if (version.token.equalsIgnoreCase(token)) return version;
-			}
-			return null;
-		}
+    static enum WindowsVersion {
+	WIN_81("Windows NT 6.3", "Windows 8.1", "8.1"), //
+	WIN_8("Windows NT 6.2", "Windows 8", "8.0"), //
+	WIN_7("Windows NT 6.1", "Windows 7", "7.0"), //
+	VISTA("Windows NT 6.0", "Windows Vista", "6.0"), //
+	WIN_2003("Windows NT 5.2",
+		"Windows Server 2003; Windows XP x64 Edition", "2003"), //
+	WIN_XP("Windows NT 5.1", "Windows XP", "5.1"), //
+	WIN_2000_SP1("Windows NT 5.01", "Windows 2000, Service Pack 1 (SP1)",
+		"5.01"), //
+	WIN_2000("Windows NT 5.0", "Windows 2000", "2000"), //
+	WIN_NT_4("Windows NT 4.0", "Microsoft Windows NT 4.0", "4.0"), //
+	WIN_ME("Windows 98; Win 9x 4.90",
+		"Windows Millennium Edition (Windows Me)", "4.90"), //
+	WIN_98("Windows 98", "Windows 98", "98"), //
+	WIN_95("Windows 95", "Windows 95", "95"), //
+	WIN_CE("Windows CE", "Windows CE", "CE"); // TODO version nr?
+
+	private final String token;
+	private final String description;
+	private final String version;
+
+	private WindowsVersion(String t, String d, String v) {
+	    token = t;
+	    description = d;
+	    version = v;
+	}
+
+	String getDescription() {
+	    return description;
+	}
+
+	String getVersion() {
+	    return version;
+	}
+
+	static final WindowsVersion ofToken(String token) {
+	    for (WindowsVersion version : values()) {
+		if (version.token.equalsIgnoreCase(token))
+		    return version;
+	    }
+	    return null;
 	}
+    }
 }

Modified: devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapClient.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapClient.java?rev=1757070&r1=1757069&r2=1757070&view=diff
==============================================================================
--- devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapClient.java
(original)
+++ devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapClient.java
Sun Aug 21 17:35:32 2016
@@ -34,10 +34,11 @@ import org.apache.devicemap.loader.Loade
 
 /**
  * @author Werner Keil
- * @version 1.1
+ * @version 1.2
  */
 public class DeviceMapClient {
-    private static final Logger LOG = Logger.getLogger(DeviceMapClient.class.getName());
+    private static final Logger LOG = Logger.getLogger(DeviceMapClient.class
+	    .getName());
     private static final java.util.regex.Pattern TEXT_SPLIT_PATTERN = java.util.regex.Pattern
 	    .compile(" |-|_|/|\\\\|\\[|\\]|\\(|\\)|;");
 
@@ -57,12 +58,13 @@ public class DeviceMapClient {
 	uAttributes = Collections.unmodifiableMap(uAttributes);
 	unknown = new Device(Device.UNKNOWN_ID, uAttributes);
     }
-    
+
     public void initDeviceData(LoaderOption option) throws IOException {
 	initDeviceData(option, null);
     }
 
-    public synchronized void initDeviceData(LoaderOption option, String path) throws IOException
{
+    public synchronized void initDeviceData(LoaderOption option, String path)
+	    throws IOException {
 	devices = LoaderFactory.getLoader(option, path).getData();
 	initCount++;
 
@@ -215,4 +217,4 @@ public class DeviceMapClient {
     Map<String, DeviceType> getDevices() {
 	return devices;
     }
-}
+}
\ No newline at end of file

Modified: devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapFactory.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapFactory.java?rev=1757070&r1=1757069&r2=1757070&view=diff
==============================================================================
--- devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapFactory.java
(original)
+++ devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/DeviceMapFactory.java
Sun Aug 21 17:35:32 2016
@@ -23,43 +23,43 @@ import org.apache.devicemap.loader.Loade
 
 /**
  * @author Werner Keil
- * @version 1.1.1
+ * @version 1.2
  */
 public final class DeviceMapFactory {
     private static DeviceMapClient client = null;
     private static volatile boolean initialized = false;
-    
+
     private static final LoaderOption DEFAULT = LoaderOption.JAR;
 
     private DeviceMapFactory() {
     }
 
     public static DeviceMapClient getClient() {
-        return getClient(DEFAULT, null);
+	return getClient(DEFAULT, null);
     }
 
     public static DeviceMapClient getClient(LoaderOption option) {
-        return getClient(option, null);
+	return getClient(option, null);
     }
 
     public static DeviceMapClient getClient(LoaderOption option, String path) {
-        if (!initialized) {
-            synchronized (DeviceMapFactory.class) {
-                if (!initialized) {
-                    client = new DeviceMapClient();
-                    try {
-                        client.initDeviceData(option, path);
-                    } catch (IOException ex) {
-                        throw new RuntimeException(ex);
-                    }
-                    initialized = true;
-                }
-            }
-        }
-        return client;
+	if (!initialized) {
+	    synchronized (DeviceMapFactory.class) {
+		if (!initialized) {
+		    client = new DeviceMapClient();
+		    try {
+			client.initDeviceData(option, path);
+		    } catch (IOException ex) {
+			throw new RuntimeException(ex);
+		    }
+		    initialized = true;
+		}
+	    }
+	}
+	return client;
     }
 
     public static void resetClient() {
-        initialized = false;
+	initialized = false;
     }
 }

Modified: devicemap/trunk/clients/1.0/java/console/src/main/java/org/apache/devicemap/console/DeviceMapConsole.java
URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/console/src/main/java/org/apache/devicemap/console/DeviceMapConsole.java?rev=1757070&r1=1757069&r2=1757070&view=diff
==============================================================================
--- devicemap/trunk/clients/1.0/java/console/src/main/java/org/apache/devicemap/console/DeviceMapConsole.java
(original)
+++ devicemap/trunk/clients/1.0/java/console/src/main/java/org/apache/devicemap/console/DeviceMapConsole.java
Sun Aug 21 17:35:32 2016
@@ -48,212 +48,221 @@ import org.apache.devicemap.loader.impl.
  * @version 1.2
  */
 public class DeviceMapConsole {
-	private static final String APP_NAME = "DeviceMap Java Console";
-	private static final String CLASS_NAME = DeviceMapConsole.class.getName();
-	private static final Logger LOG = Logger.getLogger(CLASS_NAME);
-	private static final String CONFIG_FILE = "app.properties";
-	private static final String CONFIG_PROP_CONNECT = "connectionString";
-	
-	public static void main(String[] args) throws Exception {
-		System.out.println(APP_NAME
-				+ " " + DeviceMapConsole.class.getPackage()
-				        .getImplementationVersion());
-
-		final Configurations configs = new Configurations();
-		// Read data from this file
-		final File propertiesFile = new File(CONFIG_FILE);
-		final PropertiesConfiguration config = configs.properties(propertiesFile);
-		
-		@SuppressWarnings("unused")
-		boolean debug = false;
-		String loaderPath = null;
-		LoaderOption option = LoaderOption.UNINITIALIZED;
-		String parameter = null;
-		Level debugLevel = Level.OFF;
-
-		CommandLine lvCmd = null;
-		final HelpFormatter lvFormater = new HelpFormatter();
-		final CommandLineParser lvParser = new DefaultParser();
-		final Options lvOptions = new Options();
-
-		final Option lvHelp = new Option("h", "help", false, "Show Help.");
-		final Option lverbose = new Option("v", "verbose", false,
-				"Verbose mode.");
-
-		lvOptions.addOption(lvHelp);
-		lvOptions.addOption(lverbose);
-		lvOptions.addOption(new Option("o", "json", false, "Output as JSON."));
-
-		lvOptions.addOption(Option.builder("d").longOpt("device").argName("UA")
-				.desc("User Agent of device to test").hasArg()
-				.optionalArg(true).build());
-
-		lvOptions.addOption(Option.builder("u").longOpt("url").argName("url")
-				.desc("Load DeviceMap resouces from URL or \"default\"")
-				.hasArg().optionalArg(true).build());
-
-		lvOptions.addOption(Option.builder("f").longOpt("folder")
-				.argName("path")
-				.desc("Load DeviceMap resouces from folder or \"default\"")
-				.hasArg().optionalArg(true).build());
-
-		lvOptions.addOption(Option.builder("j")
-				.longOpt("jar")
-				.argName("jar")
-				.desc("Load DeviceMap resouces from JAR file in classpath or \"default\"")
-				.hasArg().optionalArg(true).build());
-
-		try {
-			lvCmd = lvParser.parse(lvOptions, args);
-
-			if (lvCmd.hasOption('h')) {
-				lvFormater.printHelp(CLASS_NAME, lvOptions);
-				return;
-			}
-
-			if (lvCmd.hasOption('v')) {
-				debug = true;
-				debugLevel = Level.ALL;
-				LOG.setLevel(debugLevel);
-				Logger.getLogger(DeviceMapClient.class.getName()).setLevel(
-						debugLevel);
-				Logger.getLogger(DDRLoader.class.getName())
-						.setLevel(debugLevel);
-				for (Handler h : Logger
-						.getLogger(DeviceMapClient.class.getName()).getParent()
-						.getHandlers()) {
-					if (h instanceof ConsoleHandler) {
-						h.setLevel(debugLevel);
-					}
-				}
-			}
-
-			if (lvCmd.hasOption('f')) {
-			    option = LoaderOption.FOLDER;
-			    loaderPath = lvCmd.getOptionValue('f');
-			}
-
-			if (lvCmd.hasOption('j')) {
-			    LOG.fine("JAR: " + lvCmd.getOptionObject('j'));
-			    option = LoaderOption.JAR;
-			}
-
-			if (lvCmd.hasOption('u')) {
-			    option = LoaderOption.URL;
-			    loaderPath = lvCmd.getOptionValue('u');
-			    LOG.fine("URL: " + lvCmd.getOptionObject('u'));
-			}
+    private static final String APP_NAME = "DeviceMap Java Console";
+    private static final String CLASS_NAME = DeviceMapConsole.class.getName();
+    private static final Logger LOG = Logger.getLogger(CLASS_NAME);
+    private static final String CONFIG_FILE = "app.properties";
+    private static final String CONFIG_PROP_CONNECT = "connectionString";
+
+    public static void main(String[] args) throws Exception {
+	System.out.println(APP_NAME
+		+ " "
+		+ DeviceMapConsole.class.getPackage()
+			.getImplementationVersion());
+
+	final Configurations configs = new Configurations();
+	// Read data from this file
+	final File propertiesFile = new File(CONFIG_FILE);
+	final PropertiesConfiguration config = configs
+		.properties(propertiesFile);
+
+	@SuppressWarnings("unused")
+	boolean debug = false;
+	String loaderPath = null;
+	LoaderOption option = LoaderOption.UNINITIALIZED;
+	String parameter = null;
+	Level debugLevel = Level.OFF;
+
+	CommandLine lvCmd = null;
+	final HelpFormatter lvFormater = new HelpFormatter();
+	final CommandLineParser lvParser = new DefaultParser();
+	final Options lvOptions = new Options();
+
+	final Option lvHelp = new Option("h", "help", false, "Show Help.");
+	final Option lverbose = new Option("v", "verbose", false,
+		"Verbose mode.");
+
+	lvOptions.addOption(lvHelp);
+	lvOptions.addOption(lverbose);
+	lvOptions.addOption(new Option("o", "json", false, "Output as JSON."));
+
+	lvOptions.addOption(Option.builder("d").longOpt("device").argName("UA")
+		.desc("User Agent of device to test").hasArg()
+		.optionalArg(true).build());
+
+	lvOptions.addOption(Option.builder("u").longOpt("url").argName("url")
+		.desc("Load DeviceMap resouces from URL or \"default\"")
+		.hasArg().optionalArg(true).build());
+
+	lvOptions.addOption(Option.builder("f").longOpt("folder")
+		.argName("path")
+		.desc("Load DeviceMap resouces from folder or \"default\"")
+		.hasArg().optionalArg(true).build());
+
+	lvOptions
+		.addOption(Option
+			.builder("j")
+			.longOpt("jar")
+			.argName("jar")
+			.desc("Load DeviceMap resouces from JAR file in classpath or \"default\"")
+			.hasArg().optionalArg(true).build());
+
+	try {
+	    lvCmd = lvParser.parse(lvOptions, args);
+
+	    if (lvCmd.hasOption('h')) {
+		lvFormater.printHelp(CLASS_NAME, lvOptions);
+		return;
+	    }
+
+	    if (lvCmd.hasOption('v')) {
+		debug = true;
+		debugLevel = Level.ALL;
+		LOG.setLevel(debugLevel);
+		Logger.getLogger(DeviceMapClient.class.getName()).setLevel(
+			debugLevel);
+		Logger.getLogger(DDRLoader.class.getName())
+			.setLevel(debugLevel);
+		for (Handler h : Logger
+			.getLogger(DeviceMapClient.class.getName()).getParent()
+			.getHandlers()) {
+		    if (h instanceof ConsoleHandler) {
+			h.setLevel(debugLevel);
+		    }
+		}
+	    }
 
-			if (lvCmd.hasOption('d')) {
-			    parameter = lvCmd.getOptionValue('d');
-			    LOG.fine("UA: " + lvCmd.getOptionObject('d'));
-			}
+	    if (lvCmd.hasOption('f')) {
+		option = LoaderOption.FOLDER;
+		loaderPath = lvCmd.getOptionValue('f');
+	    }
+
+	    if (lvCmd.hasOption('j')) {
+		LOG.fine("JAR: " + lvCmd.getOptionObject('j'));
+		option = LoaderOption.JAR;
+	    }
+
+	    if (lvCmd.hasOption('u')) {
+		option = LoaderOption.URL;
+		loaderPath = lvCmd.getOptionValue('u');
+		LOG.fine("URL: " + lvCmd.getOptionObject('u'));
+	    }
+
+	    if (lvCmd.hasOption('d')) {
+		parameter = lvCmd.getOptionValue('d');
+		LOG.fine("UA: " + lvCmd.getOptionObject('d'));
+	    }
+
+	    if ("default".equals(loaderPath)) {
+		loaderPath = config.getString(CONFIG_PROP_CONNECT);
+	    }
+
+	    if (LoaderOption.UNINITIALIZED.equals(option)) {
+		option = LoaderOption.URL;
+	    }
+	    final DeviceMapClient client = new DeviceMapClient();
+	    final long start = System.currentTimeMillis();
+	    client.initDeviceData(option, loaderPath);
+	    long diff = System.currentTimeMillis() - start;
+
+	    System.out.println("Loaded " + client.getDeviceCount()
+		    + " devices with " + client.getPatternCount()
+		    + " patterns and " + client.getNodeCount() + " nodes in "
+		    + diff + " ms");
+
+	    System.out.println("Cold run");
+	    long startn = System.nanoTime();
+	    final long startm = System.currentTimeMillis();
+	    map(client,
+		    "Mozilla/5.0 (Linux; U; Android 2.2; en; HTC Aria A6380 Build/ERE27) AppleWebKit/540.13+
(KHTML, like Gecko) Version/3.1 Mobile Safari/524.15.0");
+	    map(client,
+		    "Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML,
like Gecko) Mobile/8L1");
+	    map(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+");
+	    map(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");
+	    // long diffn = (System.nanoTime() - startn) / 1000;
+	    final long diffm = System.currentTimeMillis() - startm;
+	    System.out.println("End cold run : " + diffm + " ms");
+
+	    long diffn;
+	    if (parameter == null) {
+	    } else if ((new File(parameter)).exists()) {
+		System.out.println("Text file: " + parameter);
+		int count = 0;
+		int total = 0;
+
+		BufferedReader in = new BufferedReader(
+			new FileReader(parameter));
+		String line;
+		Device device;
+		while ((line = in.readLine()) != null) {
+		    System.out.println("Text: '" + line + "'");
+		    startn = System.nanoTime();
+		    device = client.classifyDevice(line);
+		    diffn = System.nanoTime() - startn;
+		    total += diffn;
+		    count++;
+
+		    System.out.println("Text lookup " + count + ": '"
+			    + device.getId() + "' time: " + (diffn / 1000)
+			    + "usec");
+		}
 
-			if ("default".equals(loaderPath)) {
-			    loaderPath = config.getString(CONFIG_PROP_CONNECT);
-			}
+		in.close();
 
-			if (LoaderOption.UNINITIALIZED.equals(option)) {
-			    option = LoaderOption.URL;
-			}
-			final DeviceMapClient client = new DeviceMapClient();
-			final long start = System.currentTimeMillis();
-			client.initDeviceData(option, loaderPath);
-			long diff = System.currentTimeMillis() - start;
-
-			System.out.println("Loaded " + client.getDeviceCount()
-					+ " devices with " + client.getPatternCount()
-					+ " patterns and " + client.getNodeCount() + " nodes in "
-					+ diff + " ms");
-
-			System.out.println("Cold run");
-			long startn = System.nanoTime();
-			final long startm = System.currentTimeMillis();
-			map(client, "Mozilla/5.0 (Linux; U; Android 2.2; en; HTC Aria A6380 Build/ERE27) AppleWebKit/540.13+
(KHTML, like Gecko) Version/3.1 Mobile Safari/524.15.0");
-			map(client, "Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9
(KHTML, like Gecko) Mobile/8L1");
-			map(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+");
-			map(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");
-			//long diffn = (System.nanoTime() - startn) / 1000;
-			final long diffm = System.currentTimeMillis() - startm;
-			System.out.println("End cold run : " + diffm + " ms");
-
-			long diffn;
-			if (parameter == null) {
-			} else if ((new File(parameter)).exists()) {
-			    System.out.println("Text file: " + parameter);
-			    int count = 0;
-			    int total = 0;
-
-			    BufferedReader in = new BufferedReader(
-						new FileReader(parameter));
-			    String line;
-			    Device device;
-			    while ((line = in.readLine()) != null) {
-				System.out.println("Text: '" + line + "'");
-				startn = System.nanoTime();
-				device = client.classifyDevice(line);
-				diffn = System.nanoTime() - startn;
-				total += diffn;
-				count++;
-
-				System.out.println("Text lookup " + count + ": '"
-							+ device.getId() + "' time: " + (diffn / 1000)
-							+ "usec");
-			    }
-
-			    in.close();
-
-			    if (count == 0) {
-				count = 1;
-			    }
-			    total /= count;
-
-			    System.out.println("TOTAL lookups: " + count
-						+ ", average time: " + (total / 1000) + "usec");
-			} else {
-			    System.out.println("UA: '" + parameter + "'");
-			    startn = System.nanoTime();
-			    final Device device = client.classifyDevice(parameter);
-			    diffn = System.nanoTime() - startn;
-			    System.out.println("UA lookup: '" + device.getId() + "' time: "
-				    + (diffn / 1000) + "usec");
-			    if (lvCmd.hasOption('o')) {
-				System.out.println("DeviceMap JSON => " + device.toString());
-			    } else {
-				Map<String, String> m = device.getAttributes();
-				// iterate thru the attributes
-				if (m != null
-					&& (m.keySet() != null && m.keySet().size() > 0)) {
-					System.out.println("=== ATTRIBUTES ===");
-					for (String attr : m.keySet()) {
-					    System.out.println(attr + ": " + m.get(attr));
-					}
-				} else {
-				    System.out.println("No attributes found for '"
-								+ parameter + "'.");
-				}
-			    }
-			}
+		if (count == 0) {
+		    count = 1;
+		}
+		total /= count;
 
-			return;
-		} catch (ParseException pvException) {
-			lvFormater.printHelp(CLASS_NAME, lvOptions);
-			System.out.println("Parse Error:" + pvException.getMessage());
-			return;
+		System.out.println("TOTAL lookups: " + count
+			+ ", average time: " + (total / 1000) + "usec");
+	    } else {
+		System.out.println("UA: '" + parameter + "'");
+		startn = System.nanoTime();
+		final Device device = client.classifyDevice(parameter);
+		diffn = System.nanoTime() - startn;
+		System.out.println("UA lookup: '" + device.getId() + "' time: "
+			+ (diffn / 1000) + "usec");
+		if (lvCmd.hasOption('o')) {
+		    System.out
+			    .println("DeviceMap JSON => " + device.toString());
+		} else {
+		    Map<String, String> m = device.getAttributes();
+		    // iterate thru the attributes
+		    if (m != null
+			    && (m.keySet() != null && m.keySet().size() > 0)) {
+			System.out.println("=== ATTRIBUTES ===");
+			for (String attr : m.keySet()) {
+			    System.out.println(attr + ": " + m.get(attr));
+			}
+		    } else {
+			System.out.println("No attributes found for '"
+				+ parameter + "'.");
+		    }
 		}
+	    }
+
+	    return;
+	} catch (ParseException pvException) {
+	    lvFormater.printHelp(CLASS_NAME, lvOptions);
+	    System.out.println("Parse Error:" + pvException.getMessage());
+	    return;
 	}
+    }
 
-	private static void map(DeviceMapClient client, String text) {
-		StopWatch stopWatch = new StopWatch();
-		stopWatch.start();
-
-		Device device = client.classifyDevice(text);
-		stopWatch.stop();
-		String deviceId = "unknown";
-		if (device != null) {
-		    deviceId = device.getId();
-		}
-		System.out.println("Result: " + deviceId + " took "
-				+ stopWatch.getTime() + " ms");
+    private static void map(DeviceMapClient client, String text) {
+	StopWatch stopWatch = new StopWatch();
+	stopWatch.start();
+
+	Device device = client.classifyDevice(text);
+	stopWatch.stop();
+	String deviceId = "unknown";
+	if (device != null) {
+	    deviceId = device.getId();
 	}
+	System.out.println("Result: " + deviceId + " took "
+		+ stopWatch.getTime() + " ms");
+    }
 }



Mime
View raw message