From 9e0afa24049b28dbff34042985bfc8c4000d829d Mon Sep 17 00:00:00 2001 From: Diego Martinez Date: Tue, 3 Jul 2012 12:46:22 +0200 Subject: [PATCH] CTIC performance improvements. More info: CTIC_README --- CTIC_README | 60 ++ lib/commons-collections-3.2.1.jar | Bin 0 -> 575389 bytes src/oddr.properties | 23 +- .../simpleapi/oddr/VitaminedODDRService.java | 917 ++++++++++++++++++ .../oddr/builder/vitamineddevice/Token.java | 132 +++ .../VitaminedAndroidDeviceBuilder.java | 220 +++++ .../VitaminedDeviceBuilder.java | 36 + .../VitaminedIOSDeviceBuilder.java | 92 ++ .../VitaminedOrderedTokenDeviceBuilder.java | 102 ++ .../VitaminedSimpleDeviceBuilder.java | 90 ++ .../VitaminedSymbianDeviceBuilder.java | 226 +++++ .../VitaminedTwoStepDeviceBuilder.java | 251 +++++ .../VitaminedWinPhoneDeviceBuilder.java | 178 ++++ .../identificator/BrowserIdentificator.java | 6 +- .../CachedBrowserIdentificator.java | 131 +++ .../CachedDeviceIdentificator.java | 141 +++ .../identificator/CachedIdentificator.java | 67 ++ .../identificator/CachedOSIdentificator.java | 115 +++ .../identificator/DeviceIdentificator.java | 4 +- .../oddr/identificator/OSIdentificator.java | 6 +- 20 files changed, 2786 insertions(+), 11 deletions(-) create mode 100644 CTIC_README create mode 100644 lib/commons-collections-3.2.1.jar create mode 100644 src/org/openddr/simpleapi/oddr/VitaminedODDRService.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/Token.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedAndroidDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedIOSDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedOrderedTokenDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSimpleDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSymbianDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedTwoStepDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedWinPhoneDeviceBuilder.java create mode 100644 src/org/openddr/simpleapi/oddr/identificator/CachedBrowserIdentificator.java create mode 100644 src/org/openddr/simpleapi/oddr/identificator/CachedDeviceIdentificator.java create mode 100644 src/org/openddr/simpleapi/oddr/identificator/CachedIdentificator.java create mode 100644 src/org/openddr/simpleapi/oddr/identificator/CachedOSIdentificator.java diff --git a/CTIC_README b/CTIC_README new file mode 100644 index 0000000..e08af46 --- /dev/null +++ b/CTIC_README @@ -0,0 +1,60 @@ +Performance Requirements +During the use of OpenDDR in a real environment a set of performance requirements has been detected: +1 - High-load environments need a high number of device identifications per second. +2 - In real browsing situations, the same User-Agent string is used repeatedly. + +To improve the performance of OpenDDR in these situations the effort was focused in the addition of Cache mechanisms and the optimization in the use of Regular Expressions. + + +Regular Expressions Optimization. + +This task is accomplished in the org.openddr.simpleapi.oddr.builder.vitamineddevice package. +The package implements some computational optimizations for the original OpenDDR device builders. These device builders make intensive use of regular expressions. + +User Agent Strings are matched with Strings tokens by the use of two kinds of sentences: +Case A - java.util.String.matches(); +Example - userAgent.getCompleteUserAgent().matches(".*" + token + ".*"); + +Case B - java.util.regex.Pattern + java.util.regex.Matcher +Example - Pattern loosePattern = Pattern.compile("(?i).*" + looseToken + ".*"); + loosePattern.matcher(userAgent.getCompleteUserAgent()).matches()); + +Both approaches are similar but inefficient because of the high number of "Pattern.compile" calls (implicit calls in Case A as can be shown in [1] and [2]). +The idea is to avoid the use of String.matches and to precompile the regex Patterns as far as possible. A new Token class is implemented in order to reach this optimization. This Token class replaces the token string used in the builders method "elaborateDeviceWithToken" and includes the most frequently used "regex.Patterns" instantiated in the OpenDDR initialization phase. Tokens are stored into the builders and each device identification reuses these "regex.Patterns". + +A new version of BuilderDataSource.xml and BuilderDataSourcePatch.xml has been created. These files are equivalent to the original files but with references to the new device builders. + +The "VitaminedTwoStepDeviceBuilder.elaborateTwoStepDeviceWithToken" method keeps its original signature and doesn't make use of the Token class because of the lack of performance improvement. + + + +Cache mechanisms. + +In real browsing situations a single request sent from a web browser will generate several requests to the web server or proxy -one for the markup and one for each external resource (CSS, JS, ...)- If identification of these agents for each request can be avoided, a big amount of time will be saved. + +In order to improve the performance of the identification process, a set of caches has been used. A new java interface has been created: "org.openddr.simpleapi.oddr.identificator.CachedIdentificator" providing cache support to identificators. + +New "identificator" classes has also been generated implementing "CachedIdentificator" interface: +- org.openddr.simpleapi.oddr.identificator.CachedDeviceIdentificator +- org.openddr.simpleapi.oddr.identificator.CachedBrowserIdentificator +- org.openddr.simpleapi.oddr.identificator.CachedIdentifcator + +Each of these classes provides two different caches: +- notFoundUa Cache: LRU Map [3] used to store the User Agent string of unknown devices. +- object Cache: LRU Map -indexed by User Agent string- used to store the capabilities of previously requested devices. + +Three new properties have been added to the oddr.properties files to set the max size of the caches: +- oddr.cache.device.size: maximum size of devices cache +- oddr.cache.browser.size: maximum size of browsers cache +- oddr.cache.os.size: maximum size of operating systems cache +- oddr.cache.unknownUAs.size: maximum size of unknown devices cache + + + +Finally, the service "org.openddr.simpleapi.oddr.VitaminedODDRService" has been created cloning "org.openddr.simpleapi.oddr.ODDRService" but using CachedIdentificators instead of OpenDDR default identificators. + + + +[1] http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#matches(java.lang.String) +[2] http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#matches(java.lang.String, java.lang.CharSequence) +[3] http://commons.apache.org/collections/apidocs/org/apache/commons/collections/map/LRUMap.html \ No newline at end of file diff --git a/lib/commons-collections-3.2.1.jar b/lib/commons-collections-3.2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..c35fa1fee145cba638884e41b80a401cbe4924ef GIT binary patch literal 575389 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
?oJ#e5nzTJZ4Sq?os&$ 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 f(viV8|<)1Q_i6^T8<~L81!dx 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

oP&EDG7=|3nt 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

gGq`-FI=+pT1=Z`t5S))m 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�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 z%0A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 literal 0 HcmV?d00001 diff --git a/src/oddr.properties b/src/oddr.properties index 8e4ec4f..2d0f07b 100644 --- a/src/oddr.properties +++ b/src/oddr.properties @@ -1,6 +1,18 @@ -oddr.ua.device.builder.path=/FILESYSTEM_PATH_TO_RESOURCES/BuilderDataSource.xml +#oddr.ua.device.builder.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/BuilderDataSource.xml +#oddr.ua.device.datasource.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/DeviceDataSource.xml +#oddr.ua.device.builder.patch.paths=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/BuilderDataSourcePatch.xml +#oddr.ua.device.datasource.patch.paths=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/DeviceDataSourcePatch.xml +#oddr.ua.browser.datasource.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/BrowserDataSource.xml +#oddr.ua.operatingSystem.datasource.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/OperatingSystemDataSource.xml +#ddr.vocabulary.core.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/coreVocabulary.xml +#oddr.vocabulary.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/oddrVocabulary.xml +#oddr.limited.vocabulary.path=/FILESYSTEM_PATH_TO_/FILESYSTEM_PATH_TO_RESOURCES/oddrLimitedVocabulary.xml +#oddr.vocabulary.device=http://www.openddr.org/oddr-vocabulary +#oddr.threshold=70 + +oddr.ua.device.builder.path=/FILESYSTEM_PATH_TO_RESOURCES/VitaminedBuilderDataSource.xml oddr.ua.device.datasource.path=/FILESYSTEM_PATH_TO_RESOURCES/DeviceDataSource.xml -oddr.ua.device.builder.patch.paths=/FILESYSTEM_PATH_TO_RESOURCES/BuilderDataSourcePatch.xml +oddr.ua.device.builder.patch.paths=/FILESYSTEM_PATH_TO_RESOURCES/VitaminedBuilderDataSourcePatch.xml oddr.ua.device.datasource.patch.paths=/FILESYSTEM_PATH_TO_RESOURCES/DeviceDataSourcePatch.xml oddr.ua.browser.datasource.path=/FILESYSTEM_PATH_TO_RESOURCES/BrowserDataSource.xml oddr.ua.operatingSystem.datasource.path=/FILESYSTEM_PATH_TO_RESOURCES/OperatingSystemDataSource.xml @@ -8,4 +20,9 @@ ddr.vocabulary.core.path=/FILESYSTEM_PATH_TO_RESOURCES/coreVocabulary.xml oddr.vocabulary.path=/FILESYSTEM_PATH_TO_RESOURCES/oddrVocabulary.xml oddr.limited.vocabulary.path=/FILESYSTEM_PATH_TO_RESOURCES/oddrLimitedVocabulary.xml oddr.vocabulary.device=http://www.openddr.org/oddr-vocabulary -oddr.threshold=70 \ No newline at end of file +oddr.threshold=70 + +oddr.cache.device.size= 5000 +oddr.cache.browser.size= 5000 +oddr.cache.os.size= 5000 +oddr.cache.unknownUAs.size= 500 \ No newline at end of file diff --git a/src/org/openddr/simpleapi/oddr/VitaminedODDRService.java b/src/org/openddr/simpleapi/oddr/VitaminedODDRService.java new file mode 100644 index 0000000..f240f5f --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/VitaminedODDRService.java @@ -0,0 +1,917 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.apache.commons.jexl2.Expression; +import org.apache.commons.jexl2.JexlContext; +import org.apache.commons.jexl2.JexlEngine; +import org.apache.commons.jexl2.MapContext; +import org.openddr.simpleapi.oddr.builder.Builder; +import org.openddr.simpleapi.oddr.builder.browser.DefaultBrowserBuilder; +import org.openddr.simpleapi.oddr.builder.device.DeviceBuilder; +import org.openddr.simpleapi.oddr.builder.os.DefaultOSBuilder; +import org.openddr.simpleapi.oddr.documenthandler.BrowserDatasourceHandler; +import org.openddr.simpleapi.oddr.documenthandler.DeviceBuilderHandler; +import org.openddr.simpleapi.oddr.documenthandler.DeviceDatasourceHandler; +import org.openddr.simpleapi.oddr.documenthandler.OperatingSystemDatasourceHandler; +import org.openddr.simpleapi.oddr.identificator.CachedBrowserIdentificator; +import org.openddr.simpleapi.oddr.identificator.CachedDeviceIdentificator; +import org.openddr.simpleapi.oddr.identificator.CachedOSIdentificator; +import org.openddr.simpleapi.oddr.model.BufferedODDRHTTPEvidence; +import org.openddr.simpleapi.oddr.model.ODDRHTTPEvidence; +import org.openddr.simpleapi.oddr.model.ODDRPropertyName; +import org.openddr.simpleapi.oddr.model.ODDRPropertyRef; +import org.openddr.simpleapi.oddr.model.ODDRPropertyValue; +import org.openddr.simpleapi.oddr.model.ODDRPropertyValues; +import org.openddr.simpleapi.oddr.model.UserAgent; +import org.openddr.simpleapi.oddr.model.UserAgentFactory; +import org.openddr.simpleapi.oddr.model.browser.Browser; +import org.openddr.simpleapi.oddr.model.device.Device; +import org.openddr.simpleapi.oddr.model.os.OperatingSystem; +import org.openddr.simpleapi.oddr.model.vocabulary.Vocabulary; +import org.openddr.simpleapi.oddr.model.vocabulary.VocabularyProperty; +import org.openddr.simpleapi.oddr.vocabulary.VocabularyHolder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.w3c.ddr.simple.Evidence; +import org.w3c.ddr.simple.PropertyName; +import org.w3c.ddr.simple.PropertyRef; +import org.w3c.ddr.simple.PropertyValue; +import org.w3c.ddr.simple.PropertyValues; +import org.w3c.ddr.simple.Service; +import org.w3c.ddr.simple.exception.InitializationException; +import org.w3c.ddr.simple.exception.NameException; +import org.xml.sax.SAXException; + +public class VitaminedODDRService implements Service { + + public static final String ASPECT_DEVICE = "device"; + public static final String ASPECT_WEB_BROWSER = "webBrowser"; + public static final String ASPECT_OPERATIVE_SYSTEM = "operativeSystem"; + public static final String ASPECT_GROUP = "group"; + public static final String ODDR_UA_DEVICE_BUILDER_PATH_PROP = "oddr.ua.device.builder.path"; + public static final String ODDR_UA_DEVICE_DATASOURCE_PATH_PROP = "oddr.ua.device.datasource.path"; + public static final String ODDR_UA_DEVICE_BUILDER_PATCH_PATHS_PROP = "oddr.ua.device.builder.patch.paths"; + public static final String ODDR_UA_DEVICE_DATASOURCE_PATCH_PATHS_PROP = "oddr.ua.device.datasource.patch.paths"; + public static final String ODDR_UA_BROWSER_DATASOURCE_PATH_PROP = "oddr.ua.browser.datasource.path"; + public static final String ODDR_UA_OPERATINGSYSTEM_DATASOURCE_PATH_PROP = "oddr.ua.operatingSystem.datasource.path"; + public static final String ODDR_UA_DEVICE_BUILDER_STREAM_PROP = "oddr.ua.device.builder.stream"; + public static final String ODDR_UA_DEVICE_DATASOURCE_STREAM_PROP = "oddr.ua.device.datasource.stream"; + public static final String ODDR_UA_DEVICE_BUILDER_PATCH_STREAMS_PROP = "oddr.ua.device.builder.patch.streams"; + public static final String ODDR_UA_DEVICE_DATASOURCE_PATCH_STREAMS_PROP = "oddr.ua.device.datasource.patch.streams"; + public static final String ODDR_UA_BROWSER_DATASOURCE_STREAM_PROP = "oddr.ua.browser.datasource.stream"; + public static final String ODDR_UA_OPERATINGSYSTEM_DATASOURCE_STREAM_PROP = "oddr.ua.operatingSystem.datasource.stream"; + public static final String ODDR_THRESHOLD_PROP = "oddr.threshold"; + public static final String ODDR_VOCABULARY_IRI = "oddr.vocabulary.device"; + + // cache constants + public static final String ODDR_CACHE_DEVICE_SIZE = "oddr.cache.device.size"; + public static final String ODDR_CACHE_BROWSER_SIZE = "oddr.cache.browser.size"; + public static final String ODDR_CACHE_OS_SIZE = "oddr.cache.os.size"; + public static final String ODDR_CACHE_UNKNOWNUAS_SIZE = "oddr.cache.unknownUAs.size"; + + private static final String ODDR_API_VERSION = "1.0.0"; + private static final String ODDR_DATA_VERSION = "2012"; + private static final int ODDR_DEFAULT_THRESHOLD = 70; + private String defaultVocabularyIRI = null; + private CachedDeviceIdentificator deviceIdentificator = null; + private CachedBrowserIdentificator browserIdentificator = null; + private CachedOSIdentificator osIdentificator = null; + private VocabularyHolder vocabularyHolder = null; + private int threshold = ODDR_DEFAULT_THRESHOLD; + private static final String GROUP_REGEXPR = "\\$([^ ]+)"; + private Pattern groupRegexprPattern = Pattern.compile(GROUP_REGEXPR); + protected final Logger logger = LoggerFactory.getLogger(getClass()); + + public void initialize(String defaultVocabularyIRI, Properties prprts) throws NameException, InitializationException { + if (defaultVocabularyIRI == null || defaultVocabularyIRI.trim().length() == 0) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new NullPointerException("defaultVocabularyIRI can not be null")); + } + + /*Initializing VocabularyHolder*/ + ODDRVocabularyService oddrVocabularyService = new ODDRVocabularyService(); + oddrVocabularyService.initialize(prprts); + + vocabularyHolder = oddrVocabularyService.getVocabularyHolder(); + vocabularyHolder.existVocabulary(defaultVocabularyIRI); + + String oddrUaDeviceBuilderPath = prprts.getProperty(ODDR_UA_DEVICE_BUILDER_PATH_PROP); + String oddrUaDeviceDatasourcePath = prprts.getProperty(ODDR_UA_DEVICE_DATASOURCE_PATH_PROP); + String oddrUaDeviceBuilderPatchPaths = prprts.getProperty(ODDR_UA_DEVICE_BUILDER_PATCH_PATHS_PROP); + String oddrUaDeviceDatasourcePatchPaths = prprts.getProperty(ODDR_UA_DEVICE_DATASOURCE_PATCH_PATHS_PROP); + String oddrUaBrowserDatasourcePaths = prprts.getProperty(ODDR_UA_BROWSER_DATASOURCE_PATH_PROP); + String oddrUaOperatingSystemDatasourcePaths = prprts.getProperty(ODDR_UA_OPERATINGSYSTEM_DATASOURCE_PATH_PROP); + + Integer maxDeviceCache= new Integer(prprts.getProperty(ODDR_CACHE_DEVICE_SIZE)); + Integer maxBrowserCache= new Integer(prprts.getProperty(ODDR_CACHE_BROWSER_SIZE)); + Integer maxOsCache= new Integer(prprts.getProperty(ODDR_CACHE_OS_SIZE)); + Integer maxUnknownCache= new Integer(prprts.getProperty(ODDR_CACHE_UNKNOWNUAS_SIZE)); + + + InputStream oddrUaDeviceBuilderStream = null; + InputStream oddrUaDeviceDatasourceStream = null; + InputStream[] oddrUaDeviceBuilderPatchStreams = null; + InputStream[] oddrUaDeviceDatasourcePatchStreams = null; + InputStream oddrUaBrowserDatasourceStream = null; + InputStream oddrUaOperatingSystemDatasourceStream = null; + + try { + oddrUaDeviceBuilderStream = (InputStream) prprts.get(ODDR_UA_DEVICE_BUILDER_STREAM_PROP); + } catch (Exception ex) { + oddrUaDeviceBuilderStream = null; + } + try { + oddrUaDeviceDatasourceStream = (InputStream) prprts.get(ODDR_UA_DEVICE_DATASOURCE_STREAM_PROP); + } catch (Exception ex) { + oddrUaDeviceDatasourceStream = null; + } + try { + oddrUaDeviceBuilderPatchStreams = (InputStream[]) prprts.get(ODDR_UA_DEVICE_BUILDER_PATCH_STREAMS_PROP); + } catch (Exception ex) { + oddrUaDeviceBuilderPatchStreams = null; + } + try { + oddrUaDeviceDatasourcePatchStreams = (InputStream[]) prprts.get(ODDR_UA_DEVICE_DATASOURCE_PATCH_STREAMS_PROP); + } catch (Exception ex) { + oddrUaDeviceDatasourcePatchStreams = null; + } + try { + oddrUaBrowserDatasourceStream = (InputStream) prprts.get(ODDR_UA_BROWSER_DATASOURCE_STREAM_PROP); + } catch (Exception ex) { + oddrUaBrowserDatasourceStream = null; + } + try { + oddrUaOperatingSystemDatasourceStream = (InputStream) prprts.get(ODDR_UA_OPERATINGSYSTEM_DATASOURCE_STREAM_PROP); + } catch (Exception ex) { + oddrUaOperatingSystemDatasourceStream = null; + } + + String oddrThreshold = prprts.getProperty(ODDR_THRESHOLD_PROP); + + if ((oddrUaDeviceBuilderPath == null || oddrUaDeviceBuilderPath.trim().length() == 0) && oddrUaDeviceBuilderStream == null) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not find property " + ODDR_UA_DEVICE_BUILDER_PATH_PROP)); + } + + if ((oddrUaDeviceDatasourcePath == null || oddrUaDeviceDatasourcePath.trim().length() == 0) && oddrUaDeviceDatasourceStream == null) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not find property " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP)); + } + + String oddrUaDeviceBuilderPatchPathArray[] = null; + + if (oddrUaDeviceBuilderPatchPaths != null && oddrUaDeviceBuilderPatchPaths.trim().length() != 0) { + oddrUaDeviceBuilderPatchPathArray = oddrUaDeviceBuilderPatchPaths.split(","); + + } else { + oddrUaDeviceBuilderPatchPathArray = new String[0]; + } + + String ooddrUaDeviceDatasourcePatchPathArray[] = null; + + if (oddrUaDeviceDatasourcePatchPaths != null && oddrUaDeviceDatasourcePatchPaths.trim().length() != 0) { + ooddrUaDeviceDatasourcePatchPathArray = oddrUaDeviceDatasourcePatchPaths.split(","); + + } else { + ooddrUaDeviceDatasourcePatchPathArray = new String[0]; + } + + if (oddrUaDeviceBuilderPatchStreams == null) { + oddrUaDeviceBuilderPatchStreams = new InputStream[0]; + } + + if (oddrUaDeviceDatasourcePatchStreams == null) { + oddrUaDeviceDatasourcePatchStreams = new InputStream[0]; + } + + if ((oddrUaBrowserDatasourcePaths == null || oddrUaBrowserDatasourcePaths.trim().length() == 0) && oddrUaBrowserDatasourceStream == null) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not find property " + ODDR_UA_BROWSER_DATASOURCE_PATH_PROP)); + } + + if ((oddrUaOperatingSystemDatasourcePaths == null || oddrUaOperatingSystemDatasourcePaths.trim().length() == 0) && oddrUaOperatingSystemDatasourceStream == null) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not find property " + ODDR_UA_OPERATINGSYSTEM_DATASOURCE_PATH_PROP)); + } + + if (oddrThreshold == null || oddrThreshold.trim().length() == 0) { + this.threshold = ODDR_DEFAULT_THRESHOLD; + + } else { + try { + this.threshold = Integer.parseInt(oddrThreshold); + if (this.threshold <= 0) { + this.threshold = ODDR_DEFAULT_THRESHOLD; + } + + } catch (NumberFormatException x) { + this.threshold = ODDR_DEFAULT_THRESHOLD; + } + } + + Map devices = new HashMap(); + DeviceDatasourceHandler deviceDatasourceHandler = new DeviceDatasourceHandler(devices, vocabularyHolder); + + InputStream stream = null; + SAXParser parser = null; + + try { + if (oddrUaDeviceDatasourceStream != null) { + stream = oddrUaDeviceDatasourceStream; + } else { + stream = new FileInputStream(new File(oddrUaDeviceDatasourcePath)); + } + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not open " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP + " " + oddrUaDeviceDatasourcePath)); + } + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, deviceDatasourceHandler); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse document: " + oddrUaDeviceDatasourcePath)); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not open " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP + " :" + oddrUaDeviceDatasourcePath)); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + + deviceDatasourceHandler.setPatching(true); + + if (oddrUaDeviceDatasourcePatchStreams != null) { + for (int i = 0; i < oddrUaDeviceDatasourcePatchStreams.length; i++) { + stream = oddrUaDeviceDatasourcePatchStreams[i]; + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, deviceDatasourceHandler); + + } catch (Exception ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse DeviceDatasource input stream " + i)); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + } + } else { + for (int i = 0; i < ooddrUaDeviceDatasourcePatchPathArray.length; i++) { + try { + stream = new FileInputStream(new File(ooddrUaDeviceDatasourcePatchPathArray[i])); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not open " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP + " " + ooddrUaDeviceDatasourcePatchPathArray[i])); + } + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, deviceDatasourceHandler); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse document: " + ooddrUaDeviceDatasourcePatchPathArray[i])); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not open " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP + " :" + ooddrUaDeviceDatasourcePatchPathArray[i])); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + } + + } + + List builders = new ArrayList(); + DeviceBuilderHandler deviceBuilderHandler = new DeviceBuilderHandler(builders); + + try { + if (oddrUaDeviceBuilderStream != null) { + stream = oddrUaDeviceBuilderStream; + } else { + stream = new FileInputStream(new File(oddrUaDeviceBuilderPath)); + } + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not open " + ODDR_UA_DEVICE_BUILDER_PATH_PROP + " " + oddrUaDeviceBuilderPath)); + } + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, deviceBuilderHandler); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse document: " + oddrUaDeviceBuilderPath)); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not open " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP + " :" + oddrUaDeviceBuilderPath)); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + + if (oddrUaDeviceBuilderPatchStreams != null) { + for (int i = 0; i < oddrUaDeviceBuilderPatchStreams.length; i++) { + stream = oddrUaDeviceBuilderPatchStreams[i]; + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, deviceBuilderHandler); + + } catch (Exception ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse DeviceBuilder input stream " + i)); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + } + + } else { + for (int i = 0; i < oddrUaDeviceBuilderPatchPathArray.length; i++) { + try { + stream = new FileInputStream(new File(oddrUaDeviceBuilderPatchPathArray[i])); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not open " + ODDR_UA_DEVICE_BUILDER_PATCH_PATHS_PROP + " " + oddrUaDeviceBuilderPatchPathArray[i])); + } + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, deviceBuilderHandler); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse document: " + oddrUaDeviceBuilderPatchPathArray[i])); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not open " + ODDR_UA_DEVICE_DATASOURCE_PATH_PROP + " :" + oddrUaDeviceBuilderPatchPathArray[i])); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + } + } + + BrowserDatasourceHandler browserDatasourceHandler = new BrowserDatasourceHandler(vocabularyHolder); + + try { + if (oddrUaBrowserDatasourceStream != null) { + stream = oddrUaBrowserDatasourceStream; + } else { + stream = new FileInputStream(new File(oddrUaBrowserDatasourcePaths)); + } + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not open " + ODDR_UA_BROWSER_DATASOURCE_PATH_PROP + " " + oddrUaBrowserDatasourcePaths)); + } + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, browserDatasourceHandler); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse document: " + oddrUaBrowserDatasourcePaths)); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not open " + ODDR_UA_BROWSER_DATASOURCE_PATH_PROP + " :" + oddrUaBrowserDatasourcePaths)); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + + OperatingSystemDatasourceHandler operatingSystemDatasourceHandler = new OperatingSystemDatasourceHandler(vocabularyHolder); + + try { + if (oddrUaOperatingSystemDatasourceStream != null) { + stream = oddrUaOperatingSystemDatasourceStream; + } else { + stream = new FileInputStream(new File(oddrUaOperatingSystemDatasourcePaths)); + } + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalArgumentException("Can not open " + ODDR_UA_OPERATINGSYSTEM_DATASOURCE_PATH_PROP + " " + oddrUaOperatingSystemDatasourcePaths)); + } + + try { + parser = SAXParserFactory.newInstance().newSAXParser(); + + } catch (ParserConfigurationException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new IllegalStateException("Can not instantiate SAXParserFactory.newInstance().newSAXParser()")); + } + + try { + parser.parse(stream, operatingSystemDatasourceHandler); + + } catch (SAXException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not parse document: " + oddrUaOperatingSystemDatasourcePaths)); + + } catch (IOException ex) { + throw new InitializationException(InitializationException.INITIALIZATION_ERROR, new RuntimeException("Can not open " + ODDR_UA_OPERATINGSYSTEM_DATASOURCE_PATH_PROP + " :" + oddrUaOperatingSystemDatasourcePaths)); + } + + try { + stream.close(); + + } catch (IOException ex) { + logger.warn("", ex); + } + + deviceIdentificator = new CachedDeviceIdentificator(deviceBuilderHandler.getBuilders(), deviceDatasourceHandler.getDevices(), maxDeviceCache, maxUnknownCache); + deviceIdentificator.completeInit(); + + browserIdentificator = new CachedBrowserIdentificator(new Builder[]{DefaultBrowserBuilder.getInstance()}, browserDatasourceHandler.getBrowsers(), maxBrowserCache, maxUnknownCache); + browserIdentificator.completeInit(); + + osIdentificator = new CachedOSIdentificator(new Builder[]{DefaultOSBuilder.getInstance()}, operatingSystemDatasourceHandler.getOperatingSystems(), maxOsCache, maxUnknownCache); + osIdentificator.completeInit(); + + deviceDatasourceHandler = null; + deviceBuilderHandler = null; + browserDatasourceHandler = null; + operatingSystemDatasourceHandler = null; + + this.defaultVocabularyIRI = defaultVocabularyIRI; + + parser = null; + + oddrVocabularyService = null; + + return; + } + + public String getAPIVersion() { + return ODDR_API_VERSION; + } + + public String getDataVersion() { + return ODDR_DATA_VERSION; + } + + public PropertyRef[] listPropertyRefs() { + List propertyRefsList = new ArrayList(); + Map vocabularies = vocabularyHolder.getVocabularies(); + Set vocabularyKeys = vocabularies.keySet(); + + for (String vocabularyKey : vocabularyKeys) { + Vocabulary vocabulary = vocabularies.get(vocabularyKey); + Map properties = vocabulary.getProperties(); + Set propertyKeys = properties.keySet(); + for (String propertyKey : propertyKeys) { + PropertyName propertyName = new ODDRPropertyName(propertyKey, vocabularyKey); + for (int i = 0; i < properties.get(propertyKey).getAspects().length; i++) { + PropertyRef propertyRef = new ODDRPropertyRef(propertyName, properties.get(propertyKey).getAspects()[i]); + propertyRefsList.add(propertyRef); + } + } + } + + PropertyRef[] propertyRefs = new PropertyRef[propertyRefsList.size()]; + propertyRefs = propertyRefsList.toArray(propertyRefs); + + return propertyRefs; + } + + public PropertyValue getPropertyValue(Evidence evdnc, PropertyRef pr) throws NameException { + return getPropertyValues(evdnc, new PropertyRef[]{pr}).getValue(pr); + } + + public PropertyValue getPropertyValue(Evidence evdnc, String localPropertyName, String localAspectName, String vocabularyIRI) throws NameException { + return getPropertyValue(evdnc, newPropertyRef(newPropertyName(localPropertyName, vocabularyIRI), localAspectName)); + } + + public PropertyValue getPropertyValue(Evidence evdnc, PropertyName pn) throws NameException { + return getPropertyValue(evdnc, newPropertyRef(pn)); + } + + public PropertyValue getPropertyValue(Evidence evdnc, String localPropertyName) throws NameException { + return getPropertyValue(evdnc, newPropertyName(localPropertyName)); + } + + public PropertyValues getPropertyValues(Evidence evdnc) { + Device deviceFound = null; + Browser browserFound = null; + OperatingSystem osFound = null; + boolean deviceIdentified = false; + boolean browserIdentified = false; + boolean osIdentified = false; + UserAgent deviceUA = null; + UserAgent browserUA = null; + + JexlEngine jexl = new JexlEngine(); + ODDRPropertyValues ret = new ODDRPropertyValues(); + Map vocabularies = vocabularyHolder.getVocabularies(); + Set vocabularyKeys = vocabularies.keySet(); + + for (String vocabularyKey : vocabularyKeys) { + Vocabulary vocabulary = vocabularies.get(vocabularyKey); + Map properties = vocabulary.getProperties(); + Set propertyKeys = properties.keySet(); + for (String propertyKey : propertyKeys) { + PropertyName propertyName = new ODDRPropertyName(propertyKey, vocabularyKey); + for (int i = 0; i < properties.get(propertyKey).getAspects().length; i++) { + PropertyRef propertyRef = new ODDRPropertyRef(propertyName, properties.get(propertyKey).getAspects()[i]); + if (ASPECT_DEVICE.equals(propertyRef.getAspectName())) { + if (!deviceIdentified) { + if (deviceUA == null) { + deviceUA = UserAgentFactory.newDeviceUserAgent(evdnc); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + deviceFound = ((BufferedODDRHTTPEvidence) evdnc).getDeviceFound(); + } + if (deviceFound == null) { + deviceFound = deviceIdentificator.get(deviceUA, this.threshold); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + ((BufferedODDRHTTPEvidence) evdnc).setDeviceFound(deviceFound); + } + deviceIdentified = true; + } + String property = null; + if (deviceFound != null) { + property = deviceFound.get(propertyRef.getLocalPropertyName()); + ret.addProperty(new ODDRPropertyValue(property, properties.get(propertyKey).getType(), propertyRef)); + + } else { + ret.addProperty(new ODDRPropertyValue(null, properties.get(propertyKey).getType(), propertyRef)); + } + continue; + + } else if (ASPECT_WEB_BROWSER.equals(propertyRef.getAspectName())) { + if (!browserIdentified) { + if (browserUA == null) { + browserUA = UserAgentFactory.newBrowserUserAgent(evdnc); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + browserFound = ((BufferedODDRHTTPEvidence) evdnc).getBrowserFound(); + } + if (browserFound == null) { + browserFound = browserIdentificator.get(browserUA, this.threshold); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + ((BufferedODDRHTTPEvidence) evdnc).setBrowserFound(browserFound); + } + + browserIdentified = true; + } + String property = null; + if (browserFound != null) { + property = browserFound.get(propertyRef.getLocalPropertyName()); + ret.addProperty(new ODDRPropertyValue(property, properties.get(propertyKey).getType(), propertyRef)); + + } else { + ret.addProperty(new ODDRPropertyValue(null, properties.get(propertyKey).getType(), propertyRef)); + } + continue; + + } else if (ASPECT_OPERATIVE_SYSTEM.equals(propertyRef.getAspectName())) { + if (!osIdentified) { + if (deviceUA == null) { + deviceUA = UserAgentFactory.newDeviceUserAgent(evdnc); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + osFound = ((BufferedODDRHTTPEvidence) evdnc).getOsFound(); + } + if (osFound == null) { + osFound = osIdentificator.get(deviceUA, this.threshold); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + ((BufferedODDRHTTPEvidence) evdnc).setOsFound(osFound); + } + + osIdentified = true; + } + String property = null; + if (osFound != null) { + property = osFound.get(propertyRef.getLocalPropertyName()); + ret.addProperty(new ODDRPropertyValue(property, properties.get(propertyKey).getType(), propertyRef)); + + } else { + ret.addProperty(new ODDRPropertyValue(null, properties.get(propertyKey).getType(), propertyRef)); + } + continue; + + } else if (ASPECT_GROUP.equals(propertyRef.getAspectName())) { + try { + String jexlExp = properties.get(propertyKey).getExpr(); + Matcher m = groupRegexprPattern.matcher(jexlExp); + while (m.find()) { + String id = m.group(1); + String propertyValueString = null; + PropertyValue propertyValue = getPropertyValue(evdnc, vocabulary.getVocabularyVariables().get(id).getName(), vocabulary.getVocabularyVariables().get(id).getAspect(), vocabulary.getVocabularyVariables().get(id).getVocabulary()); + propertyValueString = (propertyValue.exists() ? propertyValue.getString() : "-"); + String toReplace = "$" + id; + jexlExp = jexlExp.replaceAll(Matcher.quoteReplacement(toReplace), "'" + propertyValueString + "'"); + } + Expression e = jexl.createExpression(jexlExp); + JexlContext jc = new MapContext(); + Object o = e.evaluate(jc); + ret.addProperty(new ODDRPropertyValue(o.toString(), properties.get(propertyKey).getType(), propertyRef)); + + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + } + } + } + + return ret; + } + + public PropertyValues getPropertyValues(Evidence evdnc, PropertyRef[] prs) throws NameException { + Device deviceFound = null; + Browser browserFound = null; + OperatingSystem osFound = null; + boolean deviceIdentified = false; + boolean browserIdentified = false; + boolean osIdentified = false; + UserAgent deviceUA = null; + UserAgent browserUA = null; + + JexlEngine jexl = new JexlEngine(); + ODDRPropertyValues ret = new ODDRPropertyValues(); + Map vocabularies = vocabularyHolder.getVocabularies(); + + for (PropertyRef propertyRef : prs) { + VocabularyProperty vocabularyProperty = vocabularyHolder.existProperty(propertyRef.getLocalPropertyName(), propertyRef.getAspectName(), propertyRef.getNamespace()); + Vocabulary vocabulary = vocabularies.get(propertyRef.getNamespace()); + if (ASPECT_DEVICE.equals(propertyRef.getAspectName())) { + if (!deviceIdentified) { + if (deviceUA == null) { + deviceUA = UserAgentFactory.newDeviceUserAgent(evdnc); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + deviceFound = ((BufferedODDRHTTPEvidence) evdnc).getDeviceFound(); + } + if (deviceFound == null) { + deviceFound = deviceIdentificator.get(deviceUA, this.threshold); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + ((BufferedODDRHTTPEvidence) evdnc).setDeviceFound(deviceFound); + } + + deviceIdentified = true; + } + String property = null; + + if (deviceFound != null) { + property = deviceFound.get(propertyRef.getLocalPropertyName()); + ret.addProperty(new ODDRPropertyValue(property, vocabularyProperty.getType(), propertyRef)); + + } else { + ret.addProperty(new ODDRPropertyValue(null, vocabularyProperty.getType(), propertyRef)); + } + continue; + + } else if (ASPECT_WEB_BROWSER.equals(propertyRef.getAspectName())) { + //TODO: evaluate ua-pixels header in evidence + if (!browserIdentified) { + if (browserUA == null) { + browserUA = UserAgentFactory.newBrowserUserAgent(evdnc); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + browserFound = ((BufferedODDRHTTPEvidence) evdnc).getBrowserFound(); + } + if (browserFound == null) { + browserFound = browserIdentificator.get(browserUA, this.threshold); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + ((BufferedODDRHTTPEvidence) evdnc).setBrowserFound(browserFound); + } + browserIdentified = true; + } + String property = null; + if (browserFound != null) { + property = browserFound.get(propertyRef.getLocalPropertyName()); + ret.addProperty(new ODDRPropertyValue(property, vocabularyProperty.getType(), propertyRef)); + + } else { + ret.addProperty(new ODDRPropertyValue(null, vocabularyProperty.getType(), propertyRef)); + } + continue; + + } else if (ASPECT_OPERATIVE_SYSTEM.equals(propertyRef.getAspectName())) { + //TODO: evaluate ua-os header in evidence + if (!osIdentified) { + if (deviceUA == null) { + deviceUA = UserAgentFactory.newDeviceUserAgent(evdnc); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + osFound = ((BufferedODDRHTTPEvidence) evdnc).getOsFound(); + } + if (osFound == null) { + osFound = osIdentificator.get(deviceUA, this.threshold); + } + if (evdnc instanceof BufferedODDRHTTPEvidence) { + ((BufferedODDRHTTPEvidence) evdnc).setOsFound(osFound); + } + osIdentified = true; + } + String property = null; + if (osFound != null) { + property = osFound.get(propertyRef.getLocalPropertyName()); + ret.addProperty(new ODDRPropertyValue(property, vocabularyProperty.getType(), propertyRef)); + + } else { + ret.addProperty(new ODDRPropertyValue(null, vocabularyProperty.getType(), propertyRef)); + } + continue; + + } else if (ASPECT_GROUP.equals(propertyRef.getAspectName())) { + try { + String jexlExp = vocabularyProperty.getExpr(); + Matcher m = groupRegexprPattern.matcher(jexlExp); + while (m.find()) { + String id = m.group(1); + String propertyValueString = null; + PropertyValue propertyValue = getPropertyValue(evdnc, vocabulary.getVocabularyVariables().get(id).getName(), vocabulary.getVocabularyVariables().get(id).getAspect(), vocabulary.getVocabularyVariables().get(id).getVocabulary()); + propertyValueString = (propertyValue.exists() ? propertyValue.getString() : "-"); + String toReplace = "$" + id; + jexlExp = jexlExp.replaceAll(Matcher.quoteReplacement(toReplace), "'" + propertyValueString + "'"); + } + Expression e = jexl.createExpression(jexlExp); + JexlContext jc = new MapContext(); + Object o = e.evaluate(jc); + ret.addProperty(new ODDRPropertyValue(o.toString(), vocabularyProperty.getType(), propertyRef)); + + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + } + + return ret; + } + + public PropertyValues getPropertyValues(Evidence evdnc, String localAspectName) throws NameException { + return getPropertyValues(evdnc, localAspectName, defaultVocabularyIRI); + } + + public PropertyValues getPropertyValues(Evidence evdnc, String localAspectName, String vocabularyIRI) throws NameException { + VocabularyProperty vocabularyProperty = vocabularyHolder.existProperty(localAspectName, null, vocabularyIRI); + + PropertyName propertyName = new ODDRPropertyName(localAspectName, vocabularyIRI); + PropertyRef propertyRef = new ODDRPropertyRef(propertyName, vocabularyProperty.getDefaultAspect()); + + return getPropertyValues(evdnc, new PropertyRef[]{propertyRef}); + } + + public PropertyName newPropertyName(String localPropertyName, String vocabularyIRI) throws NameException { + vocabularyHolder.existProperty(localPropertyName, null, vocabularyIRI); + return new ODDRPropertyName(localPropertyName, vocabularyIRI); + } + + public PropertyName newPropertyName(String localPropertyName) throws NameException { + return newPropertyName(localPropertyName, defaultVocabularyIRI); + } + + public PropertyRef newPropertyRef(PropertyName pn, String localAspectName) throws NameException { + vocabularyHolder.existProperty(pn.getLocalPropertyName(), localAspectName, pn.getNamespace()); + return new ODDRPropertyRef(pn, localAspectName); + } + + public PropertyRef newPropertyRef(PropertyName pn) throws NameException { + VocabularyProperty vocabularyProperty = vocabularyHolder.existProperty(pn.getLocalPropertyName(), null, pn.getNamespace()); + return newPropertyRef(pn, vocabularyProperty.getDefaultAspect()); + } + + public PropertyRef newPropertyRef(String localPropertyName) throws NameException { + return newPropertyRef(newPropertyName(localPropertyName)); + } + + public Evidence newHTTPEvidence() { + return new ODDRHTTPEvidence(); + } + + public Evidence newHTTPEvidence(Map map) { + return new ODDRHTTPEvidence(map); + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/Token.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/Token.java new file mode 100644 index 0000000..7c9b574 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/Token.java @@ -0,0 +1,132 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.regex.Pattern; + +//same approach as token strings with commndly used regex patterns +public class Token { + + private String id; //token string + private Pattern midPattern; //case-insensitive '.*id.*' regex + private Pattern tailPattern; //case-insensitive '.*id' regex + private Pattern semicolonPattern; //case-insensitive '.*id.?;.*' regex + private Pattern quotePattern; //case-insensitive '.* + Pattern.quote(token) + .*' + private String looseId; //loose token + private Pattern looseMidPattern; //case-insensitive '.*looseID.*' regex + private Pattern looseTailPattern; //case-insensitive '.*looseID' regex + private Pattern looseSemicolonPattern; //case-insensitive '.*looseID.?;.*' regex + + private Pattern caseSensitiveMidPattern; //case-sensitive '.*id.*' regex + private Pattern caseSensitiveTailPattern; //case-sensitive '.*id' regex + private Pattern caseSensitiveSemicolonPattern; //case-sensitive '.*id.?;.*' regex + private Pattern caseSensitiveQuotePattern; //case-sensitive '.* + Pattern.quote(token) + .*' + private Pattern caseSensitiveLooseMidPattern; //case-sensitive '.*looseID.*' regex + private Pattern caseSensitiveLooseTailPattern; //case-sensitive '.*looseID' regex + private Pattern caseSensitiveLooseSemicolonPattern; //case-sensitive '.*looseID.?;.*' regex + + public Token(String id){ + this.id = id; + this.midPattern = Pattern.compile("(?i).*" + this.id + ".*"); + this.tailPattern = Pattern.compile("(?i).*" + this.id); + this.semicolonPattern = Pattern.compile("(?i).*" + this.id + ".?;.*"); + this.quotePattern = Pattern.compile("(?i).*" + Pattern.quote(this.id) + ".*"); + this.looseId = this.id.replaceAll("[ _/-]", ".?"); + this.looseMidPattern = Pattern.compile("(?i).*" + this.looseId + ".*"); + this.looseTailPattern = Pattern.compile("(?i).*" + this.looseId); + this.looseSemicolonPattern = Pattern.compile("(?i).*" + this.looseId + ".?;.*"); + + this.caseSensitiveMidPattern = Pattern.compile(".*" + this.id + ".*"); + this.caseSensitiveTailPattern = Pattern.compile(".*" + this.id); + this.caseSensitiveSemicolonPattern = Pattern.compile(".*" + this.id + ".?;.*"); + this.caseSensitiveQuotePattern = Pattern.compile(".*" + Pattern.quote(this.id) + ".*"); + this.caseSensitiveLooseMidPattern = Pattern.compile(".*" + this.looseId + ".*"); + this.caseSensitiveLooseTailPattern = Pattern.compile(".*" + this.looseId); + this.caseSensitiveLooseSemicolonPattern = Pattern.compile(".*" + this.looseId + ".?;.*"); + } + + public String getId() { + return id; + } + + public String getLooseId() { + return looseId; + } + + public Pattern getMidPattern() { + return midPattern; + } + + public Pattern getTailPattern() { + return tailPattern; + } + + public Pattern getSemicolonPattern() { + return semicolonPattern; + } + + public Pattern getLooseMidPattern() { + return looseMidPattern; + } + + public Pattern getLooseTailPattern() { + return looseTailPattern; + } + + public Pattern getLooseSemicolonPattern() { + return looseSemicolonPattern; + } + + public Pattern getQuotePattern() { + return quotePattern; + } + + public Pattern getCaseSensitiveMidPattern() { + return caseSensitiveMidPattern; + } + + public Pattern getCaseSensitiveTailPattern() { + return caseSensitiveTailPattern; + } + + public Pattern getCaseSensitiveSemicolonPattern() { + return caseSensitiveSemicolonPattern; + } + + public Pattern getCaseSensitiveQuotePattern() { + return caseSensitiveQuotePattern; + } + + public Pattern getCaseSensitiveLooseMidPattern() { + return caseSensitiveLooseMidPattern; + } + + public Pattern getCaseSensitiveLooseTailPattern() { + return caseSensitiveLooseTailPattern; + } + + public Pattern getCaseSensitiveLooseSemicolonPattern() { + return caseSensitiveLooseSemicolonPattern; + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedAndroidDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedAndroidDeviceBuilder.java new file mode 100644 index 0000000..d8e62ad --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedAndroidDeviceBuilder.java @@ -0,0 +1,220 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.openddr.simpleapi.oddr.model.device.Device; +import org.openddr.simpleapi.oddr.model.UserAgent; + +public class VitaminedAndroidDeviceBuilder extends VitaminedOrderedTokenDeviceBuilder { + + private static final String BUILD_HASH_REGEXP = ".*Build/([^ \\)\\(]*).*"; + private Pattern buildHashPattern = Pattern.compile(BUILD_HASH_REGEXP); + private Map devices; + + public VitaminedAndroidDeviceBuilder() { + super(); + } + + public boolean canBuild(UserAgent userAgent) { + if (userAgent.containsAndroid()) { + return true; + + } else { + return false; + } + } + + public Device build(UserAgent userAgent, int confidenceTreshold) { + ArrayList foundDevices = new ArrayList(); + Iterator it = orderedRules.keySet().iterator(); + while (it.hasNext()) { + String tokenString = (String) it.next(); + Token tokenInstance = tokensCache.get(tokenString); //get the token by key + Device d = elaborateAndroidDeviceWithToken(userAgent, tokenInstance); + if (d != null) { + if (d.getConfidence() > confidenceTreshold) { + return d; + + } else { + if (d.getConfidence() > 0) { + foundDevices.add(d); + } + } + } + } + if (foundDevices.size() > 0) { + Collections.sort(foundDevices, Collections.reverseOrder()); + return foundDevices.get(0); + } + return null; + } + + public void putDevice(String deviceID, List initProperties) { + orderedRules.put(initProperties.get(0), deviceID); + } + + private Device elaborateAndroidDeviceWithToken(UserAgent userAgent, Token tokenInst) { + if (userAgent.hasMozillaPattern() || userAgent.hasOperaPattern()) { + int subtract = 0; + + Pattern loosePattern = tokenInst.getLooseMidPattern(); + + if (!loosePattern.matcher(userAgent.getCompleteUserAgent().replaceAll("Android", "")).matches()) { + return null; + } + + String patternElementInsideClean = cleanPatternElementInside(userAgent.getPatternElementsInside()); + + Pattern currentPattern = null; + + for (int i = 0; i <= 1; i++) { + + if (i == 1) currentPattern = Pattern.compile("(?i).*" + tokenInst.getLooseId() + ".?Build/.*"); + else currentPattern = Pattern.compile("(?i).*" + tokenInst.getId() + ".?Build/.*"); + if (patternElementInsideClean != null && currentPattern.matcher(patternElementInsideClean).matches()) {//&& userAgent.getPatternElementsInside().matches(".*" + currentToken + ".?Build/.*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(100 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getLooseTailPattern(); + else currentPattern = tokenInst.getTailPattern(); + if (userAgent.getPatternElementsPre() != null && currentPattern.matcher(userAgent.getPatternElementsPre()).matches()) {//userAgent.getPatternElementsPre().matches(".*" + currentToken)) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(95 - subtract); + return retDevice; + } + } + + if (patternElementInsideClean != null && currentPattern.matcher(patternElementInsideClean).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken)) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(90 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getLooseSemicolonPattern(); + else currentPattern = tokenInst.getSemicolonPattern(); + if (patternElementInsideClean != null && currentPattern.matcher(patternElementInsideClean).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken + ".?;.*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(90 - subtract); + return retDevice; + } + } + + + if (i == 1) currentPattern = tokenInst.getLooseMidPattern(); + else currentPattern = tokenInst.getMidPattern(); + if (patternElementInsideClean != null && currentPattern.matcher(patternElementInsideClean).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(80 - subtract); + return retDevice; + } + } + if (userAgent.getPatternElementsPre() != null && currentPattern.matcher(userAgent.getPatternElementsPre()).matches()) {//userAgent.getPatternElementsPre().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(80 - subtract); + return retDevice; + } + } + if (userAgent.getPatternElementsPost() != null && currentPattern.matcher(userAgent.getPatternElementsPost()).matches()) {//userAgent.getPatternElementsPost().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(60 - subtract); + return retDevice; + } + } + if (i == 1) { + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(40); + return retDevice; + } + } + } + subtract += 20; + } + } + + return null; + } + + @Override + protected void afterOderingCompleteInit(Map devices) { + this.devices = devices; + for (Object devIdObj : orderedRules.values()) { + String devId = (String) devIdObj; + if (!devices.containsKey(devId)) { + throw new IllegalStateException("unable to find device with id: " + devId + "in devices"); + } + } + } + + private String cleanPatternElementInside(String patternElementsInside) { + String patternElementInsideClean = patternElementsInside; + + Matcher buildHashMatcher = buildHashPattern.matcher(patternElementInsideClean); + + if (buildHashMatcher.find()) { + String build = buildHashMatcher.group(1); + patternElementInsideClean = patternElementInsideClean.replaceAll("Build/" + Pattern.quote(build), "Build/"); + + } + patternElementInsideClean = patternElementInsideClean.replaceAll("Android", ""); + + return patternElementInsideClean; + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedDeviceBuilder.java new file mode 100644 index 0000000..aebde32 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedDeviceBuilder.java @@ -0,0 +1,36 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.HashMap; + +import org.openddr.simpleapi.oddr.builder.device.DeviceBuilder; + +//includes tokens as complex class instead of simple strings +//each token includes frequently used Pattern instances +public abstract class VitaminedDeviceBuilder implements DeviceBuilder { + + protected HashMap tokensCache = new HashMap(); + +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedIOSDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedIOSDeviceBuilder.java new file mode 100644 index 0000000..603e28d --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedIOSDeviceBuilder.java @@ -0,0 +1,92 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.openddr.simpleapi.oddr.builder.device.DeviceBuilder; +import org.openddr.simpleapi.oddr.model.device.Device; +import org.openddr.simpleapi.oddr.model.UserAgent; + +public class VitaminedIOSDeviceBuilder extends VitaminedDeviceBuilder { + + private LinkedHashMap iOSDevices; + private Map devices; + + public VitaminedIOSDeviceBuilder() { + iOSDevices = new LinkedHashMap(); + } + + public boolean canBuild(UserAgent userAgent) { + if (userAgent.containsIOSDevices() && (!userAgent.containsAndroid()) && (!userAgent.containsWindowsPhone())) { + return true; + + } else { + return false; + } + } + + public Device build(UserAgent userAgent, int confidenceTreshold) { + Iterator it = iOSDevices.keySet().iterator(); + while (it.hasNext()) { + String tokenString = (String) it.next(); + Token tokenInstance = tokensCache.get(tokenString); //get the token by key + if (tokenInstance.getCaseSensitiveMidPattern().matcher(userAgent.getCompleteUserAgent()).matches()) { + String iosDeviceID = iOSDevices.get(tokenString); + if (iosDeviceID != null) { + Device retDevice = (Device) devices.get(iosDeviceID).clone(); + retDevice.setConfidence(90); + return retDevice; + } + } + } + return null; + } + + public void putDevice(String device, List initProperties) { + iOSDevices.put(initProperties.get(0), device); + } + + public void completeInit(Map devices) { + String global = "iPhone"; + if (iOSDevices.containsKey(global)) { + String iphone = iOSDevices.get(global); + iOSDevices.remove(global); + iOSDevices.put(global, iphone); + } + + this.devices = devices; + + for (String deviceID : iOSDevices.values()) { + if (!devices.containsKey(deviceID)) { + throw new IllegalStateException("unable to find device with id: " + deviceID + "in devices"); + } + else + tokensCache.put(deviceID, new Token(deviceID)); + } + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedOrderedTokenDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedOrderedTokenDeviceBuilder.java new file mode 100644 index 0000000..4c6b9e2 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedOrderedTokenDeviceBuilder.java @@ -0,0 +1,102 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; + +import org.openddr.simpleapi.oddr.builder.device.DeviceBuilder; +import org.openddr.simpleapi.oddr.model.device.Device; + +public abstract class VitaminedOrderedTokenDeviceBuilder extends VitaminedDeviceBuilder { + + protected LinkedHashMap orderedRules; + + public VitaminedOrderedTokenDeviceBuilder() { + orderedRules = new LinkedHashMap(); + } + + abstract protected void afterOderingCompleteInit(Map devices); + + public final void completeInit(Map devices) { + LinkedHashMap tmp = new LinkedHashMap(); + ArrayList keys = new ArrayList(orderedRules.keySet()); + Collections.sort(keys, new Comparator() { + + public int compare(String o1, String o2) { + return o2.length() - o1.length(); + } + }); + for (String string : keys) { + tmp.put(string, orderedRules.get(string)); + } + ArrayList keysOrdered = new ArrayList(); + + orderedRules = new LinkedHashMap(); + + while (keys.size() > 0) { + boolean found = false; + for (String k1 : keys) { + for (String k2 : keys) { + if ((!k1.equals(k2)) && k2.matches(".*" + k1 + ".*")) { + found = true; + break; + } + } + if (!found) { + keysOrdered.add(k1); + keys.remove(k1); + break; + } + } + if (!found) { + continue; + } + int max = 0; + int idx = -1; + for (int i = 0; i < keys.size(); i++) { + String string = keys.get(i); + if (string.length() > max) { + max = string.length(); + idx = i; + } + } + if (idx >= 0) { + keysOrdered.add(keys.get(idx)); + keys.remove(idx); + } + } + for (String key : keysOrdered) { + orderedRules.put(key, tmp.get(key)); + tokensCache.put(key, new Token(key)); + tmp.remove(key); + } + + afterOderingCompleteInit(devices); + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSimpleDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSimpleDeviceBuilder.java new file mode 100644 index 0000000..ebe9a2f --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSimpleDeviceBuilder.java @@ -0,0 +1,90 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +import org.openddr.simpleapi.oddr.builder.device.DeviceBuilder; +import org.openddr.simpleapi.oddr.model.BuiltObject; +import org.openddr.simpleapi.oddr.model.UserAgent; +import org.openddr.simpleapi.oddr.model.device.Device; + +public class VitaminedSimpleDeviceBuilder extends VitaminedDeviceBuilder { + + private LinkedHashMap simpleTokenMap; + private Map devices; + + public VitaminedSimpleDeviceBuilder() { + simpleTokenMap = new LinkedHashMap(); + } + + public void putDevice(String deviceId, List initProperties) { + + for (String token : initProperties) { + simpleTokenMap.put(token, deviceId); + } + } + + public void completeInit(Map devices) { + this.devices = devices; + + for (String deviceID : simpleTokenMap.values()) { + if (!devices.containsKey(deviceID)) { + throw new IllegalStateException("unable to find device with id: " + deviceID + "in devices"); + } + else + tokensCache.put(deviceID, new Token(deviceID)); + } + } + + public boolean canBuild(UserAgent userAgent) { + for (String token : simpleTokenMap.keySet()) { + Token tokenInstance = tokensCache.get(token); + if (tokenInstance.getQuotePattern().matcher(userAgent.getCompleteUserAgent()).matches()) { + return true; + } + } + return false; + } + + public BuiltObject build(UserAgent userAgent, int confidenceTreshold) { + Iterator it = simpleTokenMap.keySet().iterator(); + while (it.hasNext()) { + String tokenString = (String) it.next(); + Token tokenInstance = tokensCache.get(tokenString); //get the token by key + if (tokenInstance.getQuotePattern().matcher(userAgent.getCompleteUserAgent()).matches()) { + String desktopDeviceId = simpleTokenMap.get(tokenString); + if (desktopDeviceId != null) { + Device device = devices.get(desktopDeviceId); + return device; + } + } + } + return null; + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSymbianDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSymbianDeviceBuilder.java new file mode 100644 index 0000000..abe4bfc --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedSymbianDeviceBuilder.java @@ -0,0 +1,226 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +import org.openddr.simpleapi.oddr.model.device.Device; +import org.openddr.simpleapi.oddr.model.UserAgent; + +public class VitaminedSymbianDeviceBuilder extends VitaminedOrderedTokenDeviceBuilder { + + private Map devices; + + public VitaminedSymbianDeviceBuilder() { + super(); + } + + public boolean canBuild(UserAgent userAgent) { + if (userAgent.containsSymbian()) { + return true; + + } else { + return false; + } + } + + public Device build(UserAgent userAgent, int confidenceTreshold) { + ArrayList foundDevices = new ArrayList(); + Iterator it = orderedRules.keySet().iterator(); + while (it.hasNext()) { + String tokenString = (String) it.next(); + Token tokenInstance = tokensCache.get(tokenString); //get the token by key + Device d = elaborateSymbianDeviceWithToken(userAgent, tokenInstance); + if (d != null) { + if (d.getConfidence() > confidenceTreshold) { + return d; + + } else { + if (d.getConfidence() > 0) { + foundDevices.add(d); + } + } + } + } + + if (foundDevices.size() > 0) { + Collections.sort(foundDevices, Collections.reverseOrder()); + return foundDevices.get(0); + } + return null; + } + + public void putDevice(String device, List initProperties) { + orderedRules.put(initProperties.get(0), device); + } + + private Device elaborateSymbianDeviceWithToken(UserAgent userAgent, Token tokenInst) { + if (userAgent.hasMozillaPattern() || userAgent.hasOperaPattern()) { + int subtract = 0; + Pattern loosePattern = tokenInst.getCaseSensitiveLooseMidPattern(); + + if (!loosePattern.matcher(userAgent.getCompleteUserAgent()).matches()) { + return null; + } + + Pattern currentPattern = null; + + if (userAgent.hasOperaPattern()) { + subtract += 10; + } + for (int i = 0; i <= 1; i++) { + + if (i == 1) currentPattern = Pattern.compile(".*Series60.?(\\d+)\\.(\\d+).?" + tokenInst.getLooseId() + ".*"); + else currentPattern = Pattern.compile(".*Series60.?(\\d+)\\.(\\d+).?" + tokenInst.getId() + ".*"); + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) {// userAgent.getPatternElementsInside().matches(".*Series60.?(\\d+)\\.(\\d+).?" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(100 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getCaseSensitiveLooseTailPattern(); + else currentPattern = tokenInst.getCaseSensitiveTailPattern(); + if (userAgent.getPatternElementsPre() != null && currentPattern.matcher(userAgent.getPatternElementsPre()).matches()) {//userAgent.getPatternElementsPre().matches(".*" + currentToken)) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(95 - subtract); + return retDevice; + } + } + + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken)) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(90 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getCaseSensitiveLooseSemicolonPattern(); + else currentPattern = tokenInst.getCaseSensitiveSemicolonPattern(); + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken + ".?;.*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(90 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getCaseSensitiveLooseMidPattern(); + else currentPattern = tokenInst.getCaseSensitiveMidPattern(); + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) {//userAgent.getPatternElementsInside().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(80 - subtract); + return retDevice; + } + } + + if (userAgent.getPatternElementsPre() != null && currentPattern.matcher(userAgent.getPatternElementsPre()).matches()) {//userAgent.getPatternElementsPre().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(80 - subtract); + return retDevice; + } + } + + if (userAgent.getPatternElementsPost() != null && currentPattern.matcher(userAgent.getPatternElementsPost()).matches()) {//userAgent.getPatternElementsPost().matches(".*" + currentToken + ".*")) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(60 - subtract); + return retDevice; + } + } + subtract += 20; + } + } else { + String ua = userAgent.getCompleteUserAgent().replaceAll("SN[0-9]*", ""); + + int subtract = 0; + String currentToken = tokenInst.getId(); + + String looseToken = tokenInst.getLooseId(); + Pattern loosePattern = tokenInst.getCaseSensitiveLooseMidPattern(); + + if (!loosePattern.matcher(userAgent.getCompleteUserAgent()).matches()) { + return null; + } + + Pattern currentPattern = null; + + for (int i = 0; i <= 1; i++) { + if (i == 1) { + currentToken = looseToken; + } + + currentPattern = Pattern.compile(".*" + currentToken + ".*"); + if (currentPattern.matcher(ua).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(100 - subtract); + return retDevice; + } + } + + subtract += 20; + } + } + + return null; + } + + @Override + protected void afterOderingCompleteInit(Map devices) { + this.devices = devices; + for (Object devIdObj : orderedRules.values()) { + String devId = (String) devIdObj; + if (!devices.containsKey(devId)) { + throw new IllegalStateException("unable to find device with id: " + devId + "in devices"); + } + } + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedTwoStepDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedTwoStepDeviceBuilder.java new file mode 100644 index 0000000..da56ad1 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedTwoStepDeviceBuilder.java @@ -0,0 +1,251 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.openddr.simpleapi.oddr.model.device.Device; +import org.openddr.simpleapi.oddr.model.UserAgent; + +public class VitaminedTwoStepDeviceBuilder extends VitaminedOrderedTokenDeviceBuilder{ + + private Map devices; + + private Pattern anyLetter = Pattern.compile(".*[a-zA-Z].*"); + private Pattern looseSymbols = Pattern.compile("[ _/-]?"); + + public VitaminedTwoStepDeviceBuilder() { + super(); + } + + public boolean canBuild(UserAgent userAgent) { + for (String step1Token : orderedRules.keySet()) { + if (userAgent.getCompleteUserAgent().matches("(?i).*" + step1Token + ".*")) { + return true; + } + } + return false; + } + + public Device build(UserAgent userAgent, int confidenceTreshold) { + ArrayList foundDevices = new ArrayList(); + for (String step1Token : orderedRules.keySet()) { + if (userAgent.getCompleteUserAgent().matches("(?i).*" + step1Token + ".*")) { + Map step1Compliant = (Map) orderedRules.get(step1Token); + for (String step2token : step1Compliant.keySet()) { + Device d = elaborateTwoStepDeviceWithToken(userAgent, step1Token, step2token); + if (d != null) { + if (d.getConfidence() > confidenceTreshold) { + return d; + + } else { + if (d.getConfidence() > 0) { + foundDevices.add(d); + } + } + } + } + } + } + if (foundDevices.size() > 0) { + Collections.sort(foundDevices, Collections.reverseOrder()); + return foundDevices.get(0); + } + + return null; + } + + public void putDevice(String device, List initProperties) { + String step1TokenString = initProperties.get(0); + String step2TokenString = initProperties.get(1); + + if (step2TokenString.matches(".*" + step1TokenString + ".*")) { + step2TokenString = step2TokenString.replaceAll(step1TokenString + "[^\\p{Alnum}]?", ""); + } + + Map step1Token = (Map) orderedRules.get(step1TokenString); + if (step1Token == null) { + step1Token = new LinkedHashMap(); + orderedRules.put(initProperties.get(0), step1Token); + } + step1Token.put(step2TokenString, device); + } + + private Device elaborateTwoStepDeviceWithToken(UserAgent userAgent, String step1Token, String step2Token) { + int maxLittleTokensDistance = 4; + int maxBigTokensDistance = 8; + int confidence; + + String originalToken = step2Token; + String looseToken = step2Token.replaceAll("[ _/-]", ".?"); + + if (userAgent.getCompleteUserAgent().matches("(?i).*" + step2Token + ".*")) { + confidence = 100; + } else if (userAgent.getCompleteUserAgent().matches("(?i).*" + looseToken + ".*")) { + step2Token = looseToken; + confidence = 90; + + } else { + return null; + } + + Matcher result = Pattern.compile("(?i)(?:(?:.*" + step1Token + "(.*?)" + step2Token + ".*)|(?:.*" + step2Token + "(.*?)" + step1Token + ".*))").matcher(userAgent.getCompleteUserAgent()); + if (result.matches()) { + //test for case sensitive match + Matcher bestResult = Pattern.compile("(?:(?:.*" + step1Token + "(.*?)" + step2Token + ".*)|(?:.*" + step2Token + "(.*?)" + step1Token + ".*))").matcher(userAgent.getCompleteUserAgent()); + if (bestResult.matches()) { + result = bestResult; + + } else { + confidence -= 20; + } + + String betweenTokens = result.group(1); + String s2 = result.group(2); + if (s2 != null && (betweenTokens == null || betweenTokens.length() > s2.length())) { + betweenTokens = s2; + } + int betweenTokensLength = betweenTokens.length(); + + if (step2Token.length() > 3) { + if (betweenTokensLength > maxBigTokensDistance) { + confidence -= 10; + } + + String deviceId = ((Map) orderedRules.get(step1Token)).get(originalToken); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(confidence); + return retDevice; + } + } + + + if ((betweenTokensLength < maxLittleTokensDistance) || (betweenTokensLength < maxBigTokensDistance && (step2Token.length() < 6 || !anyLetter.matcher(step2Token).matches()))) { + if (betweenTokensLength <= 1) { + if (!looseSymbols.matcher(betweenTokens).matches()) { + confidence -= 20; + } + + } else { + confidence -= 40; + } + + confidence -= (betweenTokensLength * 4); + + String deviceId = ((Map) orderedRules.get(step1Token)).get(originalToken); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(confidence); + return retDevice; + } + } + } + + return null; + } + + @Override + protected void afterOderingCompleteInit(Map devices) { + for (String step1Token : orderedRules.keySet()) { + sortElement(step1Token); + } + + this.devices = devices; + for (Object devIdsMapObj : orderedRules.values()) { + Map devIdsMap = (Map) devIdsMapObj; + for (Object devIdObj : devIdsMap.values()) { + String devId = (String) devIdObj; + if (!devices.containsKey(devId)) { + throw new IllegalStateException("unable to find device with id: " + devId + "in devices"); + } + } + } + } + + private void sortElement(String step1Token) { + Map currentStep1Map = (Map) orderedRules.get(step1Token); + + LinkedHashMap tmp = new LinkedHashMap(); + ArrayList keys = new ArrayList(currentStep1Map.keySet()); + Collections.sort(keys, new Comparator() { + + public int compare(String o1, String o2) { + return o2.length() - o1.length(); + } + }); + for (String string : keys) { + tmp.put(string, currentStep1Map.get(string)); + } + ArrayList keysOrdered = new ArrayList(); + currentStep1Map = new LinkedHashMap(); + while (keys.size() > 0) { + boolean found = false; + for (String k1 : keys) { + for (String k2 : keys) { + if ((!k1.equals(k2)) && k2.matches(".*" + k1 + ".*")) { + found = true; + break; + } + } + if (!found) { + keysOrdered.add(k1); + keys.remove(k1); + break; + } + } + if (!found) { + continue; + } + int max = 0; + int idx = -1; + for (int i = 0; i < keys.size(); i++) { + String string = keys.get(i); + if (string.length() > max) { + max = string.length(); + idx = i; + } + } + if (idx >= 0) { + keysOrdered.add(keys.get(idx)); + keys.remove(idx); + } + } + for (String key : keysOrdered) { + currentStep1Map.put(key, tmp.get(key)); + tmp.remove(key); + } + + orderedRules.put(step1Token, currentStep1Map); + } +} diff --git a/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedWinPhoneDeviceBuilder.java b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedWinPhoneDeviceBuilder.java new file mode 100644 index 0000000..5e78531 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/builder/vitamineddevice/VitaminedWinPhoneDeviceBuilder.java @@ -0,0 +1,178 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.builder.vitamineddevice; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +import org.openddr.simpleapi.oddr.model.device.Device; +import org.openddr.simpleapi.oddr.model.UserAgent; + +public class VitaminedWinPhoneDeviceBuilder extends VitaminedOrderedTokenDeviceBuilder { + + private Map devices; + + public VitaminedWinPhoneDeviceBuilder() { + super(); + } + + public boolean canBuild(UserAgent userAgent) { + if (userAgent.containsWindowsPhone()) { + return true; + + } else { + return false; + } + } + + public Device build(UserAgent userAgent, int confidenceTreshold) { + ArrayList foundDevices = new ArrayList(); + Iterator it = orderedRules.keySet().iterator(); + while (it.hasNext()) { + String tokenString = (String) it.next(); + Token tokenInstance = tokensCache.get(tokenString); //get the token by key + Device d = elaborateWinPhoneDeviceWithToken(userAgent, tokenInstance); + if (d != null) { + if (d.getConfidence() > confidenceTreshold) { + return d; + + } else { + if (d.getConfidence() > 0) { + foundDevices.add(d); + } + } + } + } + if (foundDevices.size() > 0) { + Collections.sort(foundDevices, Collections.reverseOrder()); + return foundDevices.get(0); + } + return null; + } + + public void putDevice(String device, List initProperties) { + orderedRules.put(initProperties.get(0), device); + } + + private Device elaborateWinPhoneDeviceWithToken(UserAgent userAgent, Token tokenInst) { + if (userAgent.hasMozillaPattern() || userAgent.hasOperaPattern()) { + int subtract = 0; + Pattern loosePattern = tokenInst.getLooseMidPattern(); + + if (!loosePattern.matcher(userAgent.getCompleteUserAgent()).matches()) { + return null; + } + + Pattern currentPattern = null; + + if (userAgent.hasOperaPattern()) { + subtract += 10; + } + + for (int i = 0; i <= 1; i++) { + + if (i == 1) currentPattern = tokenInst.getLooseTailPattern(); + else currentPattern = tokenInst.getTailPattern(); + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(100 - subtract); + return retDevice; + } + } + if (userAgent.getPatternElementsPre() != null && currentPattern.matcher(userAgent.getPatternElementsPre()).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(95 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getLooseSemicolonPattern(); + else currentPattern = tokenInst.getSemicolonPattern(); + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(90 - subtract); + return retDevice; + } + } + + if (i == 1) currentPattern = tokenInst.getLooseMidPattern(); + else currentPattern = tokenInst.getMidPattern(); + if (userAgent.getPatternElementsInside() != null && currentPattern.matcher(userAgent.getPatternElementsInside()).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(80 - subtract); + return retDevice; + } + } + if (userAgent.getPatternElementsPre() != null && currentPattern.matcher(userAgent.getPatternElementsPre()).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(80 - subtract); + return retDevice; + } + } + if (userAgent.getPatternElementsPost() != null && currentPattern.matcher(userAgent.getPatternElementsPost()).matches()) { + String deviceId = (String) orderedRules.get(tokenInst.getId()); + + if (devices.containsKey(deviceId)) { + Device retDevice = (Device) devices.get(deviceId).clone(); + retDevice.setConfidence(60 - subtract); + return retDevice; + } + } + subtract += 20; + } + } + + return null; + } + + @Override + protected void afterOderingCompleteInit(Map devices) { + this.devices = devices; + for (Object devIdObj : orderedRules.values()) { + String devId = (String) devIdObj; + if (!devices.containsKey(devId)) { + throw new IllegalStateException("unable to find device with id: " + devId + "in devices"); + } + } + } +} diff --git a/src/org/openddr/simpleapi/oddr/identificator/BrowserIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/BrowserIdentificator.java index a6fd945..940539d 100644 --- a/src/org/openddr/simpleapi/oddr/identificator/BrowserIdentificator.java +++ b/src/org/openddr/simpleapi/oddr/identificator/BrowserIdentificator.java @@ -31,8 +31,8 @@ public class BrowserIdentificator implements Identificator { - private Builder[] builders; - private Map browserCapabilities; + protected Builder[] builders; + protected Map browserCapabilities; protected final Logger logger = LoggerFactory.getLogger(getClass()); public BrowserIdentificator(Builder[] builders, Map browserCapabilities) { @@ -77,7 +77,7 @@ public Browser get(UserAgent userAgent, int confidenceTreshold) { return null; } - private String getClosestKnownBrowserID(String actualBrowserID) { + protected String getClosestKnownBrowserID(String actualBrowserID) { if (actualBrowserID == null) { return null; } diff --git a/src/org/openddr/simpleapi/oddr/identificator/CachedBrowserIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/CachedBrowserIdentificator.java new file mode 100644 index 0000000..142dfa8 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/identificator/CachedBrowserIdentificator.java @@ -0,0 +1,131 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.identificator; + +import java.util.Map; + +import org.apache.commons.collections.map.LRUMap; +import org.openddr.simpleapi.oddr.builder.Builder; +import org.openddr.simpleapi.oddr.model.UserAgent; +import org.openddr.simpleapi.oddr.model.UserAgentFactory; +import org.openddr.simpleapi.oddr.model.browser.Browser; +import org.w3c.ddr.simple.Evidence; + +public class CachedBrowserIdentificator extends BrowserIdentificator implements + CachedIdentificator { + + // caches + private LRUMap browserCache; + private LRUMap notFoundUA; + + public CachedBrowserIdentificator(Builder[] builders, + Map browserCapabilities, Integer maxCacheSize, Integer maxNotFoundUASize) { + super(builders, browserCapabilities); + browserCache = new LRUMap(maxCacheSize); + notFoundUA = new LRUMap(maxNotFoundUASize); + } + + public Browser get(String userAgent, int confidenceTreshold) { + return get(UserAgentFactory.newUserAgent(userAgent), confidenceTreshold); + } + + // XXX to be refined, this should NOT be the main entry point, we should use + // a set of evidence derivation + public Browser get(Evidence evdnc, int threshold) { + UserAgent ua = UserAgentFactory.newBrowserUserAgent(evdnc); + + if (ua != null) { + return get(ua, threshold); + } + + return null; + } + + @Override + public Browser get(UserAgent userAgent, int confidenceTreshold) { + // check if the device is in the cache + Browser foundBrowser = (Browser) getFromCache(userAgent); + + if (foundBrowser == null) { + if (isUaNotFound(userAgent)) { + return null; + } + for (Builder builder : builders) { + if (builder.canBuild(userAgent)) { + Browser browser = (Browser) builder.build(userAgent, + confidenceTreshold); + if (browser != null) { + if (browserCapabilities != null) { + String bestID = getClosestKnownBrowserID(browser + .getId()); + if (bestID != null) { + browser.putPropertiesMap(browserCapabilities + .get(bestID).getPropertiesMap()); + if (!bestID.equals(browser.getId())) { + browser.setConfidence(browser + .getConfidence() - 15); + } + } + } + // add browser to the cache + addToCache(userAgent, browser); + return browser; + } + } + } + } else { + return foundBrowser; + } + addNotFoundUa(userAgent); + return null; + } + + public Boolean isUaNotFound(UserAgent userAgent) { + if (notFoundUA.get(userAgent.getCompleteUserAgent()) != null) { + return true; + } + return false; + } + + @Override + public void addNotFoundUa(UserAgent userAgent) { + notFoundUA.put(userAgent.getCompleteUserAgent(), false); + } + + @Override + public Object getFromCache(UserAgent userAgent) { + Browser cachedBrowser = (Browser) browserCache.get(userAgent + .getCompleteUserAgent()); + if (cachedBrowser == null) { + return null; + } + return cachedBrowser; + } + + @Override + public void addToCache(UserAgent userAgent, Object browser) { + browserCache.put(userAgent.getCompleteUserAgent(), browser); + + } +} diff --git a/src/org/openddr/simpleapi/oddr/identificator/CachedDeviceIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/CachedDeviceIdentificator.java new file mode 100644 index 0000000..93a02d2 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/identificator/CachedDeviceIdentificator.java @@ -0,0 +1,141 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.identificator; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.commons.collections.map.LRUMap; +import org.openddr.simpleapi.oddr.builder.device.DeviceBuilder; +import org.openddr.simpleapi.oddr.model.UserAgent; +import org.openddr.simpleapi.oddr.model.device.Device; + +public class CachedDeviceIdentificator extends DeviceIdentificator implements + CachedIdentificator { + + // caches + private LRUMap deviceCache; + private LRUMap notFoundUA; + + public CachedDeviceIdentificator(DeviceBuilder[] builders, + Map devices, Integer maxCacheSize, Integer maxNotFoundUASize) { + super(builders, devices); + deviceCache = new LRUMap(maxCacheSize); + notFoundUA = new LRUMap(maxNotFoundUASize); + } + + @Override + public Device get(UserAgent userAgent, int confidenceTreshold) { + List foundDevices = new ArrayList(); + // check if the device is in the cache + Device foundDevice = (Device) getFromCache(userAgent); + + // if not, build the device + if (foundDevice == null) { + if (isUaNotFound(userAgent)) { + return null; + } + for (DeviceBuilder deviceBuilder : builders) { + if (deviceBuilder.canBuild(userAgent)) { + Device device = (Device) deviceBuilder.build(userAgent, + confidenceTreshold); + if (device != null) { + String parentId = device.getParentId(); + Device parentDevice = null; + Set propertiesSet = null; + Iterator it = null; + while (!"root".equals(parentId)) { + parentDevice = (Device) devices.get(parentId); + propertiesSet = parentDevice.getPropertiesMap() + .entrySet(); + it = propertiesSet.iterator(); + while (it.hasNext()) { + Map.Entry entry = (Map.Entry) it.next(); + if (!device.containsProperty((String) entry + .getKey())) { + device.putProperty((String) entry.getKey(), + (String) entry.getValue()); + } + } + parentId = parentDevice.getParentId(); + } + foundDevices.add(device); + if (device.getConfidence() >= confidenceTreshold) { + foundDevice = device; + break; + } + } + } + } + + if (foundDevice != null) { + // add the device to the cache + addToCache(userAgent, foundDevice); + } else { + if (foundDevices.isEmpty()) { + addNotFoundUa(userAgent); + return null; + } + + Collections.sort(foundDevices, Collections.reverseOrder()); + foundDevice = foundDevices.get(0); + // add the device to the cache + addToCache(userAgent, foundDevice); + } + } + return foundDevice; + } + + @Override + public Boolean isUaNotFound(UserAgent userAgent) { + if (notFoundUA.get(userAgent.getCompleteUserAgent()) != null) { + return true; + } + return false; + } + + @Override + public void addNotFoundUa(UserAgent userAgent) { + notFoundUA.put(userAgent.getCompleteUserAgent(), false); + } + + @Override + public Object getFromCache(UserAgent userAgent) { + Device cachedDevice = (Device) deviceCache.get(userAgent + .getCompleteUserAgent()); + if (cachedDevice == null) { + return null; + } + return cachedDevice; + } + + @Override + public void addToCache(UserAgent userAgent, Object device) { + deviceCache.put(userAgent.getCompleteUserAgent(), device); + } +} diff --git a/src/org/openddr/simpleapi/oddr/identificator/CachedIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/CachedIdentificator.java new file mode 100644 index 0000000..74f5771 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/identificator/CachedIdentificator.java @@ -0,0 +1,67 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.identificator; + +import org.openddr.simpleapi.oddr.model.UserAgent; + +public interface CachedIdentificator { + + /** + * Check if the request come from an unknown device. + * + * @param userAgent + * UserAgent of the device + * @return true if the UA is in the cache of not found devices + * or false in other case + */ + public Boolean isUaNotFound(UserAgent userAgent); + + /** + * Add a device to the cache of not found devices + * + * @param userAgent + * UserAgent of the device + */ + public void addNotFoundUa(UserAgent userAgent); + + /** + * Get from the cache + * + * @param userAgent + * UserAgent of the device + * @return a Object if the UA is in the cache or + * null in other case + */ + public Object getFromCache(UserAgent userAgent); + + /** + * Add to the cache + * + * @param userAgent + * UserAgent of the device + * @param object + * + */ + public void addToCache(UserAgent userAgent, Object object); +} diff --git a/src/org/openddr/simpleapi/oddr/identificator/CachedOSIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/CachedOSIdentificator.java new file mode 100644 index 0000000..36e1993 --- /dev/null +++ b/src/org/openddr/simpleapi/oddr/identificator/CachedOSIdentificator.java @@ -0,0 +1,115 @@ +/** + * Copyright 2012 Fundación CTIC + * This software is distributed under the terms of the GNU Lesser General Public License. + * + * + * This file is part of OpenDDR Simple APIs. + * OpenDDR Simple APIs is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * OpenDDR Simple APIs is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Simple APIs. If not, see . + * + * @author José Quiroga Álvarez + * @author Diego Martínez Ballesteros + * + */ +package org.openddr.simpleapi.oddr.identificator; + +import java.util.Map; + +import org.apache.commons.collections.map.LRUMap; +import org.openddr.simpleapi.oddr.builder.Builder; +import org.openddr.simpleapi.oddr.model.UserAgent; +import org.openddr.simpleapi.oddr.model.os.OperatingSystem; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class CachedOSIdentificator extends OSIdentificator implements + CachedIdentificator { + + // caches + private LRUMap osCache; + private LRUMap notFoundUA; + + protected final Logger logger = LoggerFactory.getLogger(getClass()); + + public CachedOSIdentificator(Builder[] builders, + Map operatingSystemCapabilities, Integer maxCacheSize, Integer maxNotFoundUASize) { + super(builders, operatingSystemCapabilities); + osCache = new LRUMap(maxCacheSize); + notFoundUA = new LRUMap(maxNotFoundUASize); + } + + @Override + public OperatingSystem get(UserAgent userAgent, int confidenceTreshold) { + // check if the device is in the cache + OperatingSystem foundOs = (OperatingSystem) getFromCache(userAgent); + + if (foundOs == null) { + if (isUaNotFound(userAgent)) { + return null; + } + for (Builder builder : builders) { + if (builder.canBuild(userAgent)) { + OperatingSystem os = (OperatingSystem) builder.build( + userAgent, confidenceTreshold); + if (os != null) { + if (operatingSystemCapabilities != null) { + String bestID = getClosestKnownBrowserID(os.getId()); + if (bestID != null) { + os.putPropertiesMap(operatingSystemCapabilities + .get(bestID).getPropertiesMap()); + if (!bestID.equals(os.getId())) { + os.setConfidence(os.getConfidence() - 15); + } + } + } + // add browser to the cache + addToCache(userAgent, os); + return os; + } + } + } + } else { + return foundOs; + } + addNotFoundUa(userAgent); + return null; + } + + public Boolean isUaNotFound(UserAgent userAgent) { + if (notFoundUA.get(userAgent.getCompleteUserAgent()) != null) { + return true; + } + return false; + } + + @Override + public void addNotFoundUa(UserAgent userAgent) { + notFoundUA.put(userAgent.getCompleteUserAgent(), false); + } + + @Override + public Object getFromCache(UserAgent userAgent) { + OperatingSystem cachedOs = (OperatingSystem) osCache.get(userAgent + .getCompleteUserAgent()); + if (cachedOs == null) { + return null; + } + return cachedOs; + } + + @Override + public void addToCache(UserAgent userAgent, Object os) { + osCache.put(userAgent.getCompleteUserAgent(), os); + + } +} diff --git a/src/org/openddr/simpleapi/oddr/identificator/DeviceIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/DeviceIdentificator.java index 35f7bf4..77d41f9 100644 --- a/src/org/openddr/simpleapi/oddr/identificator/DeviceIdentificator.java +++ b/src/org/openddr/simpleapi/oddr/identificator/DeviceIdentificator.java @@ -34,8 +34,8 @@ public class DeviceIdentificator implements Identificator { - private DeviceBuilder[] builders; - private Map devices; + protected DeviceBuilder[] builders; + protected Map devices; public DeviceIdentificator(DeviceBuilder[] builders, Map devices) { this.builders = builders; diff --git a/src/org/openddr/simpleapi/oddr/identificator/OSIdentificator.java b/src/org/openddr/simpleapi/oddr/identificator/OSIdentificator.java index ab1dc1b..fee305a 100644 --- a/src/org/openddr/simpleapi/oddr/identificator/OSIdentificator.java +++ b/src/org/openddr/simpleapi/oddr/identificator/OSIdentificator.java @@ -31,8 +31,8 @@ public class OSIdentificator implements Identificator { - private Builder[] builders; - private Map operatingSystemCapabilities; + protected Builder[] builders; + protected Map operatingSystemCapabilities; protected final Logger logger = LoggerFactory.getLogger(getClass()); public OSIdentificator(Builder[] builders, Map operatingSystemCapabilities) { @@ -74,7 +74,7 @@ public OperatingSystem get(UserAgent userAgent, int confidenceTreshold) { return null; } - private String getClosestKnownBrowserID(String actualOperatingSystemID) { + protected String getClosestKnownBrowserID(String actualOperatingSystemID) { if (actualOperatingSystemID == null) { return null; }