You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devicemap.apache.org by re...@apache.org on 2014/07/24 16:33:02 UTC
svn commit: r1613149 - in /incubator/devicemap/trunk/examples/servlet: ./
src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/devicemap/
src/main/java/org/apache/devicemap/servlet/ src/main/resources/ src...
Author: rezan
Date: Thu Jul 24 14:33:01 2014
New Revision: 1613149
URL: http://svn.apache.org/r1613149
Log:
servlet example
Added:
incubator/devicemap/trunk/examples/servlet/
incubator/devicemap/trunk/examples/servlet/pom.xml
incubator/devicemap/trunk/examples/servlet/src/
incubator/devicemap/trunk/examples/servlet/src/main/
incubator/devicemap/trunk/examples/servlet/src/main/java/
incubator/devicemap/trunk/examples/servlet/src/main/java/org/
incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/
incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/
incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/servlet/
incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/servlet/Classify.java
incubator/devicemap/trunk/examples/servlet/src/main/resources/
incubator/devicemap/trunk/examples/servlet/src/main/webapp/
incubator/devicemap/trunk/examples/servlet/src/main/webapp/WEB-INF/
incubator/devicemap/trunk/examples/servlet/src/main/webapp/WEB-INF/web.xml
incubator/devicemap/trunk/examples/servlet/src/main/webapp/index.jsp
incubator/devicemap/trunk/examples/servlet/src/main/webapp/version.jsp
incubator/devicemap/trunk/examples/servlet/src/test/
incubator/devicemap/trunk/examples/servlet/src/test/java/
Added: incubator/devicemap/trunk/examples/servlet/pom.xml
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/servlet/pom.xml?rev=1613149&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/servlet/pom.xml (added)
+++ incubator/devicemap/trunk/examples/servlet/pom.xml Thu Jul 24 14:33:01 2014
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>
+
+ <groupId>org.apache.devicemap</groupId>
+ <artifactId>dmap-servlet</artifactId>
+ <packaging>war</packaging>
+ <version>1.0</version>
+ <name>devicemap-servlet-example</name>
+ <description>Apache DeviceMap Servlet Example</description>
+
+
+ <properties>
+ <build.date>${maven.build.timestamp}</build.date>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.build.timestamp.format>yyyyMMdd_HHmm</maven.build.timestamp.format>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.devicemap</groupId>
+ <artifactId>devicemap-client</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.devicemap</groupId>
+ <artifactId>devicemap-data</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>dmap-servlet</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <webResources>
+ <resource>
+ <directory>${basedir}/src/main/webapp</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>**/*.xml</include>
+ <include>**/*.html</include>
+ <include>version.jsp</include>
+ <include>index.jsp</include>
+ </includes>
+ </resource>
+ </webResources>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.0</version>
+ <configuration>
+ <source>1.7</source>
+ <target>1.7</target>
+ <debug>true</debug>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/servlet/Classify.java
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/servlet/Classify.java?rev=1613149&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/servlet/Classify.java (added)
+++ incubator/devicemap/trunk/examples/servlet/src/main/java/org/apache/devicemap/servlet/Classify.java Thu Jul 24 14:33:01 2014
@@ -0,0 +1,51 @@
+package org.apache.devicemap.servlet;
+
+import java.io.IOException;
+import java.io.Writer;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.devicemap.DeviceMapClient;
+import org.apache.devicemap.data.Device;
+import org.apache.devicemap.loader.LoaderOption;
+
+/**
+ *
+ * @author Reza Naghibi
+ */
+public class Classify extends HttpServlet {
+
+ private DeviceMapClient client;
+
+ @Override
+ public void init() throws ServletException {
+ client = new DeviceMapClient();
+ try {
+ client.initDeviceData(LoaderOption.JAR);
+ } catch(IOException ex) {
+ throw new ServletException(ex);
+ }
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ String ua = request.getParameter("ua");
+
+ if (ua == null || ua.isEmpty()) {
+ ua = request.getHeader("User-Agent");
+ }
+
+ Device device = client.classifyDevice(ua);
+
+ StringBuilder sb = new StringBuilder();
+ sb.append("{\"success\":true,\"user-agent\":\"").append(ua).append("\",\"result\":").append(device.toString()).append("}");
+
+ response.setHeader("Content-Type", "application/json");
+
+ Writer writer = response.getWriter();
+ writer.write(sb.toString());
+ writer.flush();
+ }
+
+}
Added: incubator/devicemap/trunk/examples/servlet/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/servlet/src/main/webapp/WEB-INF/web.xml?rev=1613149&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/servlet/src/main/webapp/WEB-INF/web.xml (added)
+++ incubator/devicemap/trunk/examples/servlet/src/main/webapp/WEB-INF/web.xml Thu Jul 24 14:33:01 2014
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <display-name>dmap-servlet</display-name>
+ <description>dmap-servlet</description>
+
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ </welcome-file-list>
+
+ <servlet>
+ <servlet-name>classify</servlet-name>
+ <servlet-class>org.apache.devicemap.servlet.Classify</servlet-class>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>classify</servlet-name>
+ <url-pattern>/classify</url-pattern>
+ </servlet-mapping>
+
+</web-app>
Added: incubator/devicemap/trunk/examples/servlet/src/main/webapp/index.jsp
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/servlet/src/main/webapp/index.jsp?rev=1613149&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/servlet/src/main/webapp/index.jsp (added)
+++ incubator/devicemap/trunk/examples/servlet/src/main/webapp/index.jsp Thu Jul 24 14:33:01 2014
@@ -0,0 +1,25 @@
+<%@ page session="false" %>
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>DeviceMap Servlet Example</title>
+</head>
+<body>
+<pre>
+<h1>DeviceMap Servlet Example</h1>
+
+<a href="version.jsp">version</a>
+
+<b>classify</b>
+GET /classify
+Classify a device using a user-agent header or param
+-params: ua [optional]
+<form action="classify" method="GET">
+ua <input type="text" name="ua">
+<input type="submit" value="Submit">
+</form>
+
+</pre>
+</body>
+</html>
\ No newline at end of file
Added: incubator/devicemap/trunk/examples/servlet/src/main/webapp/version.jsp
URL: http://svn.apache.org/viewvc/incubator/devicemap/trunk/examples/servlet/src/main/webapp/version.jsp?rev=1613149&view=auto
==============================================================================
--- incubator/devicemap/trunk/examples/servlet/src/main/webapp/version.jsp (added)
+++ incubator/devicemap/trunk/examples/servlet/src/main/webapp/version.jsp Thu Jul 24 14:33:01 2014
@@ -0,0 +1,12 @@
+<%@ page session="false" %>
+<html>
+<head>
+<title>servlet</title>
+</head>
+<body>
+<h1>servlet</h1>
+Project name: ${project.name}<br>
+Project version: ${project.version}<br>
+Build date: ${build.date}<br>
+</body>
+</html>