Author: wkeil Date: Thu Jan 1 23:26:13 2015 New Revision: 1648961 URL: http://svn.apache.org/r1648961 Log: DMAP-118: Replace SLF4J/JUL/System.out with Log4J 2
Task-Url: https://issues.apache.org/jira/browse/DMAP-118 DMAP-111: Improve Web Examples Task-Url: https://issues.apache.org/jira/browse/DMAP-111 Added: devicemap/trunk/devicemap/java/simpleddr/src/test/resources/log4j2.xml Modified: devicemap/trunk/devicemap/java/pom.xml devicemap/trunk/devicemap/java/simpleddr/pom.xml devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/ODDRService.java devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/builder/device/AndroidDeviceBuilder.java devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/BrowserIdentificator.java devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/OSIdentificator.java Modified: devicemap/trunk/devicemap/java/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/pom.xml?rev=1648961&r1=1648960&r2=1648961&view=diff ============================================================================== --- devicemap/trunk/devicemap/java/pom.xml (original) +++ devicemap/trunk/devicemap/java/pom.xml Thu Jan 1 23:26:13 2015 @@ -1,22 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> +<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor + license agreements. See the NOTICE file distributed with this work for additional + information regarding copyright ownership. The ASF licenses this file to + you under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of + the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required + by applicable law or agreed to in writing, software distributed under the + License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS + OF ANY KIND, either express or implied. See the License for the specific + language governing permissions and limitations under the License. --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> @@ -49,7 +41,8 @@ under the License. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- The test data file maps User-Agent values to expected device properties --> - <!-- TODO this folder/module should be deprecated, check if still used and consider local solution in downstream project --> + <!-- TODO this folder/module should be deprecated, check if still used + and consider local solution in downstream project --> <devicemap.test.data.file>${project.build.directory}/devicemap/test-data/dmap_20130522.txt</devicemap.test.data.file> </properties> @@ -67,15 +60,14 @@ under the License. <version>2.1.1</version> </dependency> <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.6.6</version> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> + <version>2.1</version> </dependency> <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-simple</artifactId> - <version>1.6.6</version> - <scope>test</scope> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> + <version>2.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> Modified: devicemap/trunk/devicemap/java/simpleddr/pom.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/simpleddr/pom.xml?rev=1648961&r1=1648960&r2=1648961&view=diff ============================================================================== --- devicemap/trunk/devicemap/java/simpleddr/pom.xml (original) +++ devicemap/trunk/devicemap/java/simpleddr/pom.xml Thu Jan 1 23:26:13 2015 @@ -196,13 +196,12 @@ <artifactId>commons-jexl</artifactId> </dependency> <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-api</artifactId> </dependency> <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-simple</artifactId> - <scope>test</scope> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-core</artifactId> </dependency> <dependency> <groupId>commons-lang</groupId> @@ -210,11 +209,6 @@ </dependency> <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> <groupId>org.apache.devicemap</groupId> <artifactId>devicemap-data</artifactId> <scope>test</scope> Modified: devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/ODDRService.java URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/ODDRService.java?rev=1648961&r1=1648960&r2=1648961&view=diff ============================================================================== --- devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/ODDRService.java (original) +++ devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/ODDRService.java Thu Jan 1 23:26:13 2015 @@ -65,8 +65,8 @@ import org.apache.devicemap.simpleddr.mo import org.apache.devicemap.simpleddr.model.vocabulary.Vocabulary; import org.apache.devicemap.simpleddr.model.vocabulary.VocabularyProperty; import org.apache.devicemap.simpleddr.vocabulary.VocabularyHolder; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.w3c.ddr.simple.Evidence; import org.w3c.ddr.simple.PropertyName; import org.w3c.ddr.simple.PropertyRef; @@ -99,7 +99,7 @@ public class ODDRService implements Serv public static final String ODDR_VOCABULARY_IRI = "oddr.vocabulary.device"; private static final String ODDR_API_VERSION = "1.0.0-SNAPSHOT"; private static final String ODDR_DATA_VERSION = "1.0.2-SNAPSHOT"; - private static final int ODDR_DEFAULT_THRESHOLD = 70; + public static final int ODDR_DEFAULT_THRESHOLD = 70; private String defaultVocabularyIRI = null; private DeviceIdentificator deviceIdentificator = null; private BrowserIdentificator browserIdentificator = null; @@ -108,7 +108,7 @@ public class ODDRService implements Serv 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()); + protected final Logger logger = LogManager.getLogger(getClass()); public void initialize(String defaultVocabularyIRI, Properties prprts) throws NameException, InitializationException { if (defaultVocabularyIRI == null || defaultVocabularyIRI.trim().length() == 0) { Modified: devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/builder/device/AndroidDeviceBuilder.java URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/builder/device/AndroidDeviceBuilder.java?rev=1648961&r1=1648960&r2=1648961&view=diff ============================================================================== --- devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/builder/device/AndroidDeviceBuilder.java (original) +++ devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/builder/device/AndroidDeviceBuilder.java Thu Jan 1 23:26:13 2015 @@ -18,6 +18,8 @@ */ package org.apache.devicemap.simpleddr.builder.device; +import static org.apache.devicemap.simpleddr.ODDRService.ODDR_DEFAULT_THRESHOLD; + import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; @@ -28,6 +30,8 @@ import java.util.regex.Pattern; import org.apache.devicemap.simpleddr.model.device.Device; import org.apache.devicemap.simpleddr.model.UserAgent; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class AndroidDeviceBuilder extends OrderedTokenDeviceBuilder { @@ -35,10 +39,11 @@ public class AndroidDeviceBuilder extend private Pattern buildHashPattern = Pattern.compile(BUILD_HASH_REGEXP); private Map<String, Device> devices; private static final String[] FUZZY_TOKEN_REGEXPS = { "SM-T5\\d\\d" }; - + protected static final Logger logger = LogManager.getLogger(AndroidDeviceBuilder.class); + public AndroidDeviceBuilder() { super(); -// System.out.println("Constructor"); + logger.debug("Constructor"); } public boolean canBuild(UserAgent userAgent) { @@ -50,16 +55,16 @@ public class AndroidDeviceBuilder extend } public Device build(UserAgent userAgent, int confidenceTreshold) { - System.out.println("Building"); - System.out.println("UA: " + userAgent.getCompleteUserAgent() + " :: A=" + userAgent.containsAndroid()); + logger.info("Building"); + logger.debug("UA: " + userAgent.getCompleteUserAgent() + " :: A=" + userAgent.containsAndroid()); final List<Device> foundDevices = new ArrayList<Device>(); Iterator<String> it = orderedRules.keySet().iterator(); while (it.hasNext()) { String token = it.next(); -// System.out.println(token); +// logger.debug.println(token); Device d = elaborateAndroidDeviceWithToken(userAgent, token); if (d != null) { - System.out.println("Token: " + token); + logger.debug("Token: " + token); if (d.getConfidence() > confidenceTreshold) { return fixFromUserAgent(d, userAgent); } else { @@ -73,14 +78,17 @@ public class AndroidDeviceBuilder extend Collections.sort(foundDevices, Collections.reverseOrder()); return fixFromUserAgent(foundDevices.get(0), userAgent); } else { - it = orderedRules.keySet().iterator(); // need it again for "Fuzzy" patterns - while (it.hasNext()) { - String token = it.next(); - Device d = fuzzyAndroidDeviceWithToken(userAgent, token); - if (d != null) { - System.out.println("Got: " + token); - return fixFromUserAgent(d, userAgent); - } + if (confidenceTreshold <= ODDR_DEFAULT_THRESHOLD) { + // we only do this if confidence is at or below default threshold (otherwise a "closer" result than this can offer is expected) + it = orderedRules.keySet().iterator(); // need it again for "Fuzzy" patterns + while (it.hasNext()) { + String token = it.next(); + Device d = fuzzyAndroidDeviceWithToken(userAgent, token); + if (d != null) { + logger.debug("Got: " + token); + return fixFromUserAgent(d, userAgent); + } + } } } return null; @@ -96,15 +104,15 @@ public class AndroidDeviceBuilder extend String currentToken = token; String looseToken = token.replaceAll("[ _/-]", ".?"); -//System.out.println("Loose Token: " + looseToken); +//logger.debug("Loose Token: " + looseToken); Pattern loosePattern = Pattern.compile("(?i).*" + looseToken + ".*"); -//System.out.println("Loose Pattern: " + loosePattern); +//logger.debug("Loose Pattern: " + loosePattern); if (!loosePattern.matcher(userAgent.getCompleteUserAgent().replaceAll("Android", "")).matches()) { return null; } String patternElementInsideClean = cleanPatternElementInside(userAgent.getPatternElementsInside()); -//System.out.println("Pattern: " + patternElementInsideClean); +//logger.debug("Pattern: " + patternElementInsideClean); Pattern currentPattern = null; for (int i = 0; i <= 1; i++) { @@ -113,10 +121,10 @@ public class AndroidDeviceBuilder extend } currentPattern = Pattern.compile("(?i).*" + currentToken + ".?Build/.*"); -//System.out.println("Pattern: " + currentPattern); +//logger.debug("Pattern: " + currentPattern); if (patternElementInsideClean != null && currentPattern.matcher(patternElementInsideClean).matches()) {//&& userAgent.getPatternElementsInside().matches(".*" + currentToken + ".?Build/.*")) { String deviceId = (String) orderedRules.get(token); -//System.out.println("DID: " + deviceId); +//logger.debug("DID: " + deviceId); if (devices.containsKey(deviceId)) { Device retDevice = (Device) devices.get(deviceId).clone(); retDevice.setConfidence(100 - subtract); Modified: devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/BrowserIdentificator.java URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/BrowserIdentificator.java?rev=1648961&r1=1648960&r2=1648961&view=diff ============================================================================== --- devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/BrowserIdentificator.java (original) +++ devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/BrowserIdentificator.java Thu Jan 1 23:26:13 2015 @@ -24,15 +24,15 @@ import org.apache.devicemap.simpleddr.bu import org.apache.devicemap.simpleddr.model.UserAgent; import org.apache.devicemap.simpleddr.model.UserAgentFactory; import org.apache.devicemap.simpleddr.model.browser.Browser; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.w3c.ddr.simple.Evidence; public class BrowserIdentificator implements Identificator { private Builder[] builders; private Map<String, Browser> browserCapabilities; - protected final Logger logger = LoggerFactory.getLogger(getClass()); + protected static final Logger logger = LogManager.getLogger(BrowserIdentificator.class); public BrowserIdentificator(Builder[] builders, Map<String, Browser> browserCapabilities) { this.builders = builders; Modified: devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/OSIdentificator.java URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/OSIdentificator.java?rev=1648961&r1=1648960&r2=1648961&view=diff ============================================================================== --- devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/OSIdentificator.java (original) +++ devicemap/trunk/devicemap/java/simpleddr/src/main/java/org/apache/devicemap/simpleddr/identificator/OSIdentificator.java Thu Jan 1 23:26:13 2015 @@ -24,15 +24,15 @@ import org.apache.devicemap.simpleddr.bu import org.apache.devicemap.simpleddr.model.UserAgent; import org.apache.devicemap.simpleddr.model.UserAgentFactory; import org.apache.devicemap.simpleddr.model.os.OperatingSystem; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.w3c.ddr.simple.Evidence; public class OSIdentificator implements Identificator { private Builder[] builders; private Map<String, OperatingSystem> operatingSystemCapabilities; - protected final Logger logger = LoggerFactory.getLogger(getClass()); + protected final Logger logger = LogManager.getLogger(getClass()); public OSIdentificator(Builder[] builders, Map<String, OperatingSystem> operatingSystemCapabilities) { this.builders = builders; Added: devicemap/trunk/devicemap/java/simpleddr/src/test/resources/log4j2.xml URL: http://svn.apache.org/viewvc/devicemap/trunk/devicemap/java/simpleddr/src/test/resources/log4j2.xml?rev=1648961&view=auto ============================================================================== --- devicemap/trunk/devicemap/java/simpleddr/src/test/resources/log4j2.xml (added) +++ devicemap/trunk/devicemap/java/simpleddr/src/test/resources/log4j2.xml Thu Jan 1 23:26:13 2015 @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Configuration status="WARN"> + <Appenders> + <Console name="Console" target="SYSTEM_OUT"> + <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> + </Console> + </Appenders> + <Loggers> + <!-- Root level is "info", if you want to see more detailed output like data streams, please change to "debug" --> + <Root level="info"> + <AppenderRef ref="Console"/> + </Root> + </Loggers> +</Configuration> \ No newline at end of file
