Author: wkeil Date: Sun Aug 21 16:52:26 2016 New Revision: 1757066 URL: http://svn.apache.org/viewvc?rev=1757066&view=rev Log: DMAP-196: Deploy Snapshots to Apache Snapshot repo
Task-Url: https://issues.apache.org/jira/browse/DMAP-196 Added: devicemap/trunk/clients/1.0/java/console/src/main/resources/ devicemap/trunk/clients/1.0/java/console/src/main/resources/app.properties Modified: 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/client/src/main/java/org/apache/devicemap/loader/LoaderFactory.java devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/resource/URLResource.java devicemap/trunk/clients/1.0/java/console/pom.xml devicemap/trunk/clients/1.0/java/console/src/main/java/org/apache/devicemap/console/DeviceMapConsole.java devicemap/trunk/clients/1.0/java/pom.xml 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=1757066&r1=1757065&r2=1757066&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 16:52:26 2016 @@ -34,7 +34,7 @@ import org.apache.devicemap.loader.Loade /** * @author Werner Keil - * @version 1.0.13 + * @version 1.1 */ public class DeviceMapClient { private static final Logger LOG = Logger.getLogger(DeviceMapClient.class.getName()); @@ -57,18 +57,13 @@ public class DeviceMapClient { uAttributes = Collections.unmodifiableMap(uAttributes); unknown = new Device(Device.UNKNOWN_ID, uAttributes); } - - public void initDeviceData(LoaderOption option, boolean snapshot) throws IOException { - initDeviceData(option, null, snapshot); - } public void initDeviceData(LoaderOption option) throws IOException { - initDeviceData(option, false); + initDeviceData(option, null); } - public synchronized void initDeviceData(LoaderOption option, String path, - boolean snapshot) throws IOException { - devices = LoaderFactory.getLoader(option, path, snapshot).getData(); + public synchronized void initDeviceData(LoaderOption option, String path) throws IOException { + devices = LoaderFactory.getLoader(option, path).getData(); initCount++; if (initCount % 1000 == 0) { @@ -83,11 +78,6 @@ public class DeviceMapClient { createIndex(); } - public void initDeviceData(LoaderOption option, String path) - throws IOException { - initDeviceData(option, path, false); - } - private void createIndex() { patterns = new HashMap<String, List<DeviceType>>(8000); 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=1757066&r1=1757065&r2=1757066&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 16:52:26 2016 @@ -23,7 +23,7 @@ import org.apache.devicemap.loader.Loade /** * @author Werner Keil - * @version 1.1 + * @version 1.1.1 */ public final class DeviceMapFactory { private static DeviceMapClient client = null; @@ -38,21 +38,17 @@ public final class DeviceMapFactory { return getClient(DEFAULT, null); } - public static DeviceMapClient getClient(LoaderOption option, boolean snapshot) { - return getClient(option, null, snapshot); - } - public static DeviceMapClient getClient(LoaderOption option) { - return getClient(option, false); + return getClient(option, null); } - public static DeviceMapClient getClient(LoaderOption option, String path, boolean snapshot) { + public static DeviceMapClient getClient(LoaderOption option, String path) { if (!initialized) { synchronized (DeviceMapFactory.class) { if (!initialized) { client = new DeviceMapClient(); try { - client.initDeviceData(option, path, snapshot); + client.initDeviceData(option, path); } catch (IOException ex) { throw new RuntimeException(ex); } @@ -62,11 +58,7 @@ public final class DeviceMapFactory { } return client; } - - public static DeviceMapClient getClient(LoaderOption option, String path) { - return getClient(option, path, false); - } - + public static void resetClient() { initialized = false; } Modified: devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/LoaderFactory.java URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/LoaderFactory.java?rev=1757066&r1=1757065&r2=1757066&view=diff ============================================================================== --- devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/LoaderFactory.java (original) +++ devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/LoaderFactory.java Sun Aug 21 16:52:26 2016 @@ -28,11 +28,11 @@ import org.apache.devicemap.loader.impl. /** * @author Werner Keil - * @version 1.1.1 + * @version 1.2 */ public abstract class LoaderFactory { - public static Loader getLoader(LoaderOption option, String path, boolean snapshot) { + public static Loader getLoader(LoaderOption option, String path) { switch (option) { case JAR: { return new DDRLoader(new JarResource(path)); @@ -41,7 +41,7 @@ public abstract class LoaderFactory { return new DDRLoader(new FileResource(path)); } case URL: { - return new DDRLoader(new URLResource(path, snapshot)); + return new DDRLoader(new URLResource(path)); } case NOOP: { return new NoopLoader(); @@ -50,8 +50,4 @@ public abstract class LoaderFactory { return new UninitializedLoader(); } } - - public static Loader getLoader(LoaderOption option, String path) { - return getLoader(option, path, false); - } } \ No newline at end of file Modified: devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/resource/URLResource.java URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/resource/URLResource.java?rev=1757066&r1=1757065&r2=1757066&view=diff ============================================================================== --- devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/resource/URLResource.java (original) +++ devicemap/trunk/clients/1.0/java/client/src/main/java/org/apache/devicemap/loader/resource/URLResource.java Sun Aug 21 16:52:26 2016 @@ -29,33 +29,18 @@ import org.apache.devicemap.loader.Resou * @version 1.1 */ public class URLResource implements Resource { - //FIXME: Move this out into DeviceMapConsole (or its config) - private static final String LATEST_PATH = "http://devicemap-vm.apache.org/data/latest"; - private static final String SNAPSHOT_PATH = "http://devicemap-vm.apache.org/data/snapshot"; - private final String path; - private final boolean isSnapshot; - - public URLResource(String path, boolean snapshot) { - this.isSnapshot = snapshot; - if (path == null) { - if (isSnapshot) { - this.path = SNAPSHOT_PATH; - } else { - this.path = LATEST_PATH; - } - } else { - this.path = path; - } - } - + public URLResource(String path) { - this(path, false); + this.path = path; + if (path == null) { + throw new NullPointerException("URL Path cannot be null"); + } } @Override public InputStream getResource(String file) throws IOException { - String rpath = path + "/" + file; - return new URL(rpath).openStream(); + String rpath = path + "/" + file; + return new URL(rpath).openStream(); } } Modified: devicemap/trunk/clients/1.0/java/console/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/console/pom.xml?rev=1757066&r1=1757065&r2=1757066&view=diff ============================================================================== --- devicemap/trunk/clients/1.0/java/console/pom.xml (original) +++ devicemap/trunk/clients/1.0/java/console/pom.xml Sun Aug 21 16:52:26 2016 @@ -41,11 +41,19 @@ <artifactId>devicemap-client</artifactId> </dependency> <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + </dependency> + <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> + <artifactId>commons-configuration2</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> 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=1757066&r1=1757065&r2=1757066&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 16:52:26 2016 @@ -34,6 +34,8 @@ import org.apache.commons.cli.HelpFormat import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; +import org.apache.commons.configuration2.PropertiesConfiguration; +import org.apache.commons.configuration2.builder.fluent.Configurations; import org.apache.commons.lang3.time.StopWatch; import org.apache.devicemap.DeviceMapClient; import org.apache.devicemap.data.Device; @@ -43,19 +45,25 @@ import org.apache.devicemap.loader.impl. /** * @author Reza Naghibi * @author Werner Keil - * @version 1.1.5 + * @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 final static Logger LOG = Logger.getLogger(CLASS_NAME); - + 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()); + + " " + 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; @@ -89,13 +97,11 @@ public class DeviceMapConsole { .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()); + 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); @@ -123,46 +129,32 @@ public class DeviceMapConsole { } if (lvCmd.hasOption('f')) { - option = LoaderOption.FOLDER; - loaderPath = lvCmd.getOptionValue('f'); + option = LoaderOption.FOLDER; + loaderPath = lvCmd.getOptionValue('f'); } if (lvCmd.hasOption('j')) { - LOG.fine("JAR: " + lvCmd.getOptionObject('j')); - option = LoaderOption.JAR; + 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')); + 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')); + parameter = lvCmd.getOptionValue('d'); + LOG.fine("UA: " + lvCmd.getOptionObject('d')); } - // lvFormater.printHelp(CLASS_NAME, lvOptions); // or shall we - // classify with default UA? - - /* - * } else if (args[i].startsWith("-h") || args[i].startsWith("--h")) - * { System.out.println("Usage: " + DeviceMapConsole.class.getName() - * + " [OPTIONS] [FILE|STRING]\n"); System.out - * .println(" FILE text file of strings"); - * System.out.println(" STRING test string"); - * - * return; } // [test string] | [test file] else if - * (!args[i].isEmpty()) { parameter = args[i]; - * System.out.println(parameter); } } - */ if ("default".equals(loaderPath)) { - loaderPath = null; + loaderPath = config.getString(CONFIG_PROP_CONNECT); } if (LoaderOption.UNINITIALIZED.equals(option)) { - option = LoaderOption.URL; + option = LoaderOption.URL; } final DeviceMapClient client = new DeviceMapClient(); final long start = System.currentTimeMillis(); @@ -188,60 +180,59 @@ public class DeviceMapConsole { long diffn; if (parameter == null) { } else if ((new File(parameter)).exists()) { - System.out.println("Text file: " + parameter); - int count = 0; - int total = 0; + System.out.println("Text file: " + parameter); + int count = 0; + int total = 0; - BufferedReader in = new BufferedReader( + 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++; + 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 + ": '" + System.out.println("Text lookup " + count + ": '" + device.getId() + "' time: " + (diffn / 1000) + "usec"); - } + } - in.close(); + in.close(); - if (count == 0) { - count = 1; - } - total /= count; + if (count == 0) { + count = 1; + } + total /= count; - System.out.println("TOTAL lookups: " + 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()); + 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 { - 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 '" + System.out.println("No attributes found for '" + parameter + "'."); - } } + } } return; @@ -260,7 +251,7 @@ public class DeviceMapConsole { stopWatch.stop(); String deviceId = "unknown"; if (device != null) { - deviceId = device.getId(); + deviceId = device.getId(); } System.out.println("Result: " + deviceId + " took " + stopWatch.getTime() + " ms"); Added: devicemap/trunk/clients/1.0/java/console/src/main/resources/app.properties URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/console/src/main/resources/app.properties?rev=1757066&view=auto ============================================================================== --- devicemap/trunk/clients/1.0/java/console/src/main/resources/app.properties (added) +++ devicemap/trunk/clients/1.0/java/console/src/main/resources/app.properties Sun Aug 21 16:52:26 2016 @@ -0,0 +1 @@ +connectionString = http://devicemap-vm.apache.org/data/latest \ No newline at end of file Modified: devicemap/trunk/clients/1.0/java/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/clients/1.0/java/pom.xml?rev=1757066&r1=1757065&r2=1757066&view=diff ============================================================================== --- devicemap/trunk/clients/1.0/java/pom.xml (original) +++ devicemap/trunk/clients/1.0/java/pom.xml Sun Aug 21 16:52:26 2016 @@ -52,12 +52,22 @@ <version>${project.version}</version> </dependency> <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + <version>1.9.2</version> + </dependency> + <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> + <artifactId>commons-configuration2</artifactId> + <version>2.1</version> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
