Author: wkeil
Date: Wed Nov 12 21:43:11 2014
New Revision: 1639075

URL: http://svn.apache.org/r1639075
Log:
DMAP-53: This is an epic for tasks or issues related to examples 

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

Added:
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/IdentificationFilter.java
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/package-info.java
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/oddr.properties
Removed:
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/resources/oddr.properties
Modified:
    incubator/devicemap/trunk/examples/ddr-filter/pom.xml
    
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/web.xml
    incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/index.jsp

Modified: incubator/devicemap/trunk/examples/ddr-filter/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/pom.xml?rev=1639075&r1=1639074&r2=1639075&view=diff
==============================================================================
--- incubator/devicemap/trunk/examples/ddr-filter/pom.xml (original)
+++ incubator/devicemap/trunk/examples/ddr-filter/pom.xml Wed Nov 12 21:43:11 
2014
@@ -1,17 +1,16 @@
-<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";>
+<?xml version="1.0"?>
+<project
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";
+       xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
        <modelVersion>4.0.0</modelVersion>
-       <artifactId>dmap-ddr-filter</artifactId>
-       <packaging>war</packaging>
-       <name>DeviceMap DDR Simple Filter Example</name>
        <parent>
                <groupId>org.apache.devicemap.examples</groupId>
                <artifactId>examples-parent</artifactId>
                <version>1.0.0-SNAPSHOT</version>
        </parent>
-       <properties>
-               <devicemap.ddr.version>1.0.0</devicemap.ddr.version>
-       </properties>
+       <artifactId>ddr-filter</artifactId>
+       <packaging>war</packaging>
+       <name>Apache DeviceMap DDR Filter</name>
        <dependencies>
                <dependency>
                        <groupId>javax.servlet</groupId>
@@ -24,11 +23,11 @@
                        <artifactId>devicemap-simpleddr</artifactId>
                        <version>${devicemap.ddr.version}</version>
                </dependency>
-               <dependency>
-                       <groupId>commons-logging</groupId>
-                       <artifactId>commons-logging</artifactId>
-                       <version>1.1.1</version>
-               </dependency>
+               <!--  <dependency>
+                       <groupId>org.w3c</groupId>
+                       <artifactId>ddr-simple</artifactId>
+                       <version>${w3cddr.version}</version>
+               </dependency> -->
                <dependency>
                        <groupId>org.apache.devicemap</groupId>
                        <artifactId>devicemap-data</artifactId>
@@ -47,4 +46,18 @@
                        <scope>test</scope>
                </dependency>
        </dependencies>
+       <build>
+               <finalName>ddr-filter</finalName>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-compiler-plugin</artifactId>
+                               <configuration>
+                                       <source>${java.version}</source>
+                                       <target>${java.version}</target>
+                                       <debug>true</debug>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
 </project>

Added: 
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/IdentificationFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/IdentificationFilter.java?rev=1639075&view=auto
==============================================================================
--- 
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/IdentificationFilter.java
 (added)
+++ 
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/IdentificationFilter.java
 Wed Nov 12 21:43:11 2014
@@ -0,0 +1,120 @@
+package org.apache.devicemap.example.webfilter;
+
+import java.io.IOException;
+import java.util.Properties;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+
+import org.w3c.ddr.simple.Evidence;
+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.ServiceFactory;
+import org.w3c.ddr.simple.exception.NameException;
+//import org.apache.devicemap.client.DeviceMapClient;
+import org.apache.devicemap.simpleddr.ODDRService;
+import org.apache.devicemap.simpleddr.model.ODDRHTTPEvidence;
+
+/**
+ * Servlet Filter implementation class ClassificationFilter
+ */
+public class IdentificationFilter implements Filter {
+       private Service identificationService = null;
+       
+    /**
+     * Default constructor. 
+     */
+    public IdentificationFilter() {
+    }
+    
+       /**
+        * @see Filter#init(FilterConfig)
+        */
+       public void init(FilterConfig filterConfig) throws ServletException {
+            System.out.println("Initialize filter");
+               Properties initializationProperties = new Properties();
+               ServletContext context = filterConfig.getServletContext();      
          
+
+               try {
+                   
initializationProperties.load(context.getResourceAsStream("/WEB-INF/oddr.properties"));
+                   identificationService = 
ServiceFactory.newService("org.apache.devicemap.simpleddr.ODDRService", 
initializationProperties.getProperty(ODDRService.ODDR_VOCABULARY_IRI), 
initializationProperties);
+                   
+               } catch (Exception ex) {
+                   throw new RuntimeException(ex);
+               }
+       }
+       /**
+        * @see Filter#destroy()
+        */
+       public void destroy() {
+               System.out.println("Destroy Filter");
+       }
+
+       /**
+        * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
+        */
+       public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException, ServletException {
+               System.out.println("Do filter");
+               PropertyRef vendorRef;
+        PropertyRef modelRef;
+        PropertyRef displayWidthRef;
+        PropertyRef displayHeightRef;
+
+        try {
+            vendorRef = identificationService.newPropertyRef("vendor");
+            modelRef = identificationService.newPropertyRef("model");
+            displayWidthRef = 
identificationService.newPropertyRef("displayWidth");
+            displayHeightRef = 
identificationService.newPropertyRef("displayHeight");
+
+        } catch (NameException ex) {
+               System.err.println(ex.getLocalizedMessage());
+            throw new RuntimeException(ex);
+        }
+
+        PropertyRef[] propertyRefs = new PropertyRef[] {vendorRef, modelRef, 
displayWidthRef, displayHeightRef};
+        Evidence e = new ODDRHTTPEvidence(); //FIXME
+        e.put("User-Agent", 
((HttpServletRequest)request).getHeader("User-Agent"));
+
+        try {
+            PropertyValues propertyValues = 
identificationService.getPropertyValues(e, propertyRefs);
+            PropertyValue vendor = propertyValues.getValue(vendorRef);
+            PropertyValue model = propertyValues.getValue(modelRef);
+            PropertyValue displayWidth = 
propertyValues.getValue(displayWidthRef);
+            PropertyValue displayHeight = 
propertyValues.getValue(displayHeightRef);
+
+            System.out.print("Vendor: " + vendor + "(" + vendor.exists() + 
")");
+            System.out.print(" ;");
+            System.out.println("Model: " + model + "(" + model.exists() + ")");
+
+            if (vendor.exists())
+                ((HttpServletRequest)request).setAttribute("vendor", 
vendor.getString());
+            if (model.exists())
+                ((HttpServletRequest)request).setAttribute("model", 
model.getString());
+            if (displayWidth.exists()) {
+               System.out.println("W: " + displayWidth + "(" + 
displayWidth.exists() + ")");
+                request.setAttribute("displayWidth", 
displayWidth.getInteger());
+            }
+            if (displayHeight.exists()) {
+               System.out.println("H: " + displayHeight + "(" + 
displayHeight.exists() + ")");
+               request.setAttribute("displayHeight", 
displayHeight.getInteger());
+            }
+            
+            request.setAttribute("vendor",
+                                       "dummy vendor");
+        } catch (Exception ex) {
+            System.err.println(ex.getLocalizedMessage());
+            throw new RuntimeException(ex);
+        }
+
+        chain.doFilter(request, response);
+       }
+
+}

Added: 
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/package-info.java
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/package-info.java?rev=1639075&view=auto
==============================================================================
--- 
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/package-info.java
 (added)
+++ 
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/webfilter/package-info.java
 Wed Nov 12 21:43:11 2014
@@ -0,0 +1,8 @@
+/**
+ * 
+ */
+/**
+ * @author Werner
+ *
+ */
+package org.apache.devicemap.example.webfilter;
\ No newline at end of file

Added: 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/oddr.properties
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/oddr.properties?rev=1639075&view=auto
==============================================================================
--- 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/oddr.properties
 (added)
+++ 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/oddr.properties
 Wed Nov 12 21:43:11 2014
@@ -0,0 +1,11 @@
+oddr.ua.device.builder.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/BuilderDataSource.xml
+oddr.ua.device.datasource.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/DeviceDataSource.xml
+oddr.ua.device.builder.patch.paths=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/BuilderDataSourcePatch.xml
+oddr.ua.device.datasource.patch.paths=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/DeviceDataSourcePatch.xml
+oddr.ua.browser.datasource.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/BrowserDataSource.xml
+oddr.ua.operatingSystem.datasource.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/OperatingSystemDataSource.xml
+ddr.vocabulary.core.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/coreVocabulary.xml
+oddr.vocabulary.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/oddrVocabulary.xml
+oddr.limited.vocabulary.path=C:/Users/Werner/workspace/jds7/mobile/devicemap/device-data/src/main/resources/devicedata/oddrLimitedVocabulary.xml
+oddr.vocabulary.device=http://www.openddr.org/oddr-vocabulary
+oddr.threshold=70

Modified: 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/web.xml?rev=1639075&r1=1639074&r2=1639075&view=diff
==============================================================================
--- 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/web.xml 
(original)
+++ 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/WEB-INF/web.xml 
Wed Nov 12 21:43:11 2014
@@ -1,11 +1,15 @@
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"; 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"; id="WebApp_ID" version="2.5">
-  <display-name>DeviceMap DDR Sample WebApp</display-name>
-  <filter>
-    <filter-name>DDRFilter</filter-name>
-    <filter-class> 
org.apache.devicemap.example.ddrfilter.DDRFilter</filter-class>
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd"; >
+
+<web-app>
+  <display-name>DeviceMap DDR Web Application</display-name>
+   <filter>
+    <filter-name>IdentificationFilter</filter-name>
+    
<filter-class>org.apache.devicemap.example.webfilter.IdentificationFilter</filter-class>
   </filter>
   <filter-mapping>
-    <filter-name>DDRFilter</filter-name>
+    <filter-name>IdentificationFilter</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <session-config>

Modified: 
incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/index.jsp
URL: 
http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/index.jsp?rev=1639075&r1=1639074&r2=1639075&view=diff
==============================================================================
--- incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/index.jsp 
(original)
+++ incubator/devicemap/trunk/examples/ddr-filter/src/main/webapp/index.jsp Wed 
Nov 12 21:43:11 2014
@@ -8,6 +8,6 @@
         <title>DeviceMap Simple DDR Sample</title>
     </head>
     <body>
-        <h1>${vendor} ${model} resolution: ${displayWidth} x 
${displayHeight}</h1>
+        <h1>${vendor} ${model} resolution: <%= 
request.getAttribute("displayWidth") %> x <%= 
request.getAttribute("displayHeight") %></h1>
     </body>
 </html>
\ No newline at end of file


Reply via email to