You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devicemap.apache.org by wk...@apache.org on 2014/07/30 21:56:55 UTC
svn commit: r1614752 - in
/incubator/devicemap/trunk/examples/ddr-filter/src/main/java: ./ org/
org/apache/ org/apache/devicemap/ org/apache/devicemap/example/
org/apache/devicemap/example/ddrfilter/
Author: wkeil
Date: Wed Jul 30 19:56:54 2014
New Revision: 1614752
URL: http://svn.apache.org/r1614752
Log:
DMAP-35: Refactor Simple DDR
Adding simple DDR filter example
Task-Url: https://issues.apache.org/jira/browse/DMAP-35
Added:
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/DDRFilter.java
incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/package-info.java
Added: incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/DDRFilter.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/DDRFilter.java?rev=1614752&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/DDRFilter.java (added)
+++ incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/DDRFilter.java Wed Jul 30 19:56:54 2014
@@ -0,0 +1,131 @@
+package org.apache.devicemap.example.ddrfilter;
+
+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.simpleddr.ODDRService;
+import org.apache.devicemap.simpleddr.model.ODDRHTTPEvidence;
+
+/**
+ * Servlet Filter implementation class DDRFilter
+ */
+public class DDRFilter implements Filter {
+ private Service identificationService = null;
+
+ /**
+ * Default constructor.
+ */
+ public DDRFilter() {
+ }
+
+ /**
+ * @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/classes/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 {
+ PropertyRef vendorRef;
+ PropertyRef modelRef;
+ PropertyRef displayWidthRef;
+ PropertyRef displayHeightRef;
+ System.out.println("Do Filter");
+ try {
+ vendorRef = identificationService.newPropertyRef("vendor");
+ modelRef = identificationService.newPropertyRef("model");
+ displayWidthRef = identificationService
+ .newPropertyRef("displayWidth");
+ displayHeightRef = identificationService
+ .newPropertyRef("displayHeight");
+// System.out.println("Got Stuff");
+ } catch (NameException ex) {
+ System.err.println("Filter Error");
+ throw new RuntimeException(ex);
+ }
+
+ PropertyRef[] propertyRefs = new PropertyRef[] { vendorRef, modelRef,
+ displayWidthRef, displayHeightRef };
+ Evidence e = new ODDRHTTPEvidence();
+ e.put("User-Agent",
+ ((HttpServletRequest) request).getHeader("User-Agent"));
+ System.out.println("Put UA");
+ 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.println("Setting values...");
+ if (vendor.exists() && model.exists() && displayWidth.exists()
+ && displayHeight.exists()) {
+ ((HttpServletRequest) request).setAttribute("vendor",
+ vendor.getString());
+ ((HttpServletRequest) request).setAttribute("model",
+ model.getString());
+ ((HttpServletRequest) request).setAttribute("displayWidth",
+ displayWidth.getInteger());
+ ((HttpServletRequest) request).setAttribute("displayHeight",
+ displayHeight.getInteger());
+
+ ((HttpServletRequest) request).setAttribute("vendor",
+ "dummy vendor");
+
+ } else {
+ System.out.println("No vendor or model found");
+ }
+
+ } catch (Exception ex) {
+ System.out.println("Error");
+ throw new RuntimeException(ex);
+ }
+
+ chain.doFilter(request, response);
+ }
+
+}
Added: incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/package-info.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/package-info.java?rev=1614752&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/package-info.java (added)
+++ incubator/devicemap/trunk/examples/ddr-filter/src/main/java/org/apache/devicemap/example/ddrfilter/package-info.java Wed Jul 30 19:56:54 2014
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author Werner
+ *
+ */
+package org.apache.devicemap.example.ddrfilter;
\ No newline at end of file