summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/.settings/com.google.appengine.eclipse.core.prefs4
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/log4j.properties24
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/Expert.java64
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistry.java35
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistryImpl.java92
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/RestfulExpertiseLocator.java104
-rw-r--r--sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/rest.composite38
7 files changed, 2 insertions, 359 deletions
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/.settings/com.google.appengine.eclipse.core.prefs b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/.settings/com.google.appengine.eclipse.core.prefs
index 4cb9799348..351c3205e5 100644
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/.settings/com.google.appengine.eclipse.core.prefs
+++ b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/.settings/com.google.appengine.eclipse.core.prefs
@@ -1,3 +1,3 @@
-#Mon Sep 21 17:52:18 PDT 2009
+#Thu Oct 15 18:16:29 PDT 2009
eclipse.preferences.version=1
-filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.5.jar|appengine-api-labs-1.2.5.jar|datanucleus-appengine-1.0.3.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar
+filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.2.6.jar|appengine-api-labs-1.2.6.jar|datanucleus-appengine-1.0.3.jar|datanucleus-core-1.1.5.jar|datanucleus-jpa-1.1.5.jar|geronimo-jpa_3.0_spec-1.1.1.jar|geronimo-jta_1.1_spec-1.1.1.jar|jdo2-api-2.3-eb.jar
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/log4j.properties b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/log4j.properties
deleted file mode 100644
index d9c3edc9fe..0000000000
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/log4j.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# A default log4j configuration for log4j users.
-#
-# To use this configuration, deploy it into your application's WEB-INF/classes
-# directory. You are also encouraged to edit it as you like.
-
-# Configure the console as our one appender
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n
-
-# tighten logging on the DataNucleus Categories
-log4j.category.DataNucleus.JDO=WARN, A1
-log4j.category.DataNucleus.Persistence=WARN, A1
-log4j.category.DataNucleus.Cache=WARN, A1
-log4j.category.DataNucleus.MetaData=WARN, A1
-log4j.category.DataNucleus.General=WARN, A1
-log4j.category.DataNucleus.Utility=WARN, A1
-log4j.category.DataNucleus.Transaction=WARN, A1
-log4j.category.DataNucleus.Datastore=WARN, A1
-log4j.category.DataNucleus.ClassLoading=WARN, A1
-log4j.category.DataNucleus.Plugin=WARN, A1
-log4j.category.DataNucleus.ValueGeneration=WARN, A1
-log4j.category.DataNucleus.Enhancer=WARN, A1
-log4j.category.DataNucleus.SchemaTool=WARN, A1
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/Expert.java b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/Expert.java
deleted file mode 100644
index 61ac1c12b7..0000000000
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/Expert.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tuscany.expertise;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-public class Expert implements Serializable {
- private static final long serialVersionUID = 2026687637313310397L;
-
- private String id;
- private String name;
- private String location;
- private List<String> expertises = new ArrayList<String>();
-
- public Expert() {
-
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getLocation() {
- return location;
- }
-
- public void setLocation(String location) {
- this.location = location;
- }
-
- public List<String> getExpertise() {
- return this.expertises;
- }
-}
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistry.java b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistry.java
deleted file mode 100644
index 04dc7424a6..0000000000
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistry.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.tuscany.expertise.restfull;
-
-import java.util.List;
-
-import org.apache.tuscany.expertise.Expert;
-
-public interface ExpertRegistry {
-
- void addExpert(Expert expert);
-
- void removeExpert(Expert expert);
-
- List<Expert> getExperts();
-
- List<Expert> getExpertsByExpertise(String expertise);
-} \ No newline at end of file
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistryImpl.java b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistryImpl.java
deleted file mode 100644
index 800dc101a0..0000000000
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/ExpertRegistryImpl.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.tuscany.expertise.restfull;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.expertise.Expert;
-import org.oasisopen.sca.annotation.Init;
-import org.oasisopen.sca.annotation.Service;
-
-@Service(ExpertRegistry.class)
-public class ExpertRegistryImpl implements ExpertRegistry {
- private List<Expert> experts = new ArrayList<Expert>();
-
- public ExpertRegistryImpl() {
-
- }
-
- @Init
- public void init() {
- Expert expert;
-
- expert = new Expert();
- expert.setId("1");
- expert.setName("John Smith");
- expert.setLocation("CA");
- expert.getExpertise().add("SOA");
- expert.getExpertise().add("SCA");
- expert.getExpertise().add("WAS");
-
- experts.add(expert);
-
- expert = new Expert();
- expert.setId("2");
- expert.setName("Ken Johnson");
- expert.setLocation("NY");
- expert.getExpertise().add("Search");
-
- experts.add(expert);
-
- expert = new Expert();
- expert.setId("3");
- expert.setName("Mark Smith");
- expert.setLocation("CA");
- expert.getExpertise().add("SCA");
- expert.getExpertise().add("WASCE");
-
- experts.add(expert);
- }
-
- public void addExpert(Expert expert) {
- experts.add(expert);
- }
-
- public void removeExpert(Expert expert) {
- experts.remove(expert);
- }
-
- public List<Expert> getExperts() {
- return experts;
- }
-
- public List<Expert> getExpertsByExpertise(String expertise) {
- List<Expert> expertsByExpertise = new ArrayList<Expert>();
-
- for (Expert expert : experts) {
- if (expert.getExpertise().contains(expertise)) {
- expertsByExpertise.add(expert);
- }
- }
-
- return expertsByExpertise;
- }
-}
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/RestfulExpertiseLocator.java b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/RestfulExpertiseLocator.java
deleted file mode 100644
index 73828c639f..0000000000
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/org/apache/tuscany/expertise/restfull/RestfulExpertiseLocator.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.tuscany.expertise.restfull;
-
-import java.io.IOException;
-import java.net.URLDecoder;
-import java.util.List;
-
-import javax.servlet.Servlet;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.tuscany.expertise.Expert;
-import org.oasisopen.sca.annotation.Reference;
-import org.oasisopen.sca.annotation.Scope;
-import org.oasisopen.sca.annotation.Service;
-
-@Service(Servlet.class)
-@Scope("COMPOSITE")
-public class RestfulExpertiseLocator extends HttpServlet implements Servlet {
-
- private static final long serialVersionUID = 4021701701436888369L;
-
- @Reference
- protected ExpertRegistry experts;
-
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String path = URLDecoder.decode(getRequestPath(request), "UTF-8");
- String expertise = path.substring(1);
-
- if (expertise != null && expertise.length() > 0 ) {
- printExperts(response.getOutputStream(), experts.getExpertsByExpertise(expertise));
- } else {
- printExperts(response.getOutputStream(), experts.getExperts());
- }
-
- }
-
-
- private void printExperts(ServletOutputStream out, List<Expert> experts) throws IOException {
- out.print("<html><body>");
- out.print("<h2>Expertise Locator</h2>");
-
- if (experts.size() > 0) {
- for (Expert expert: experts) {
- out.print("<b>Location:</b> " + expert.getLocation() + " - " + expert.getName() +" ==> ");
- for (String expertise : expert.getExpertise()) {
- out.print(expertise + ";");
- }
- out.print("<br/>");
- }
- } else {
- out.println("No experts found");
- }
- out.print("</body></html>");
- }
-
- /**
- *
- * @param request
- * @return
- */
- private static String getRequestPath(HttpServletRequest request) {
- // Get the request path
- String contextPath = request.getContextPath();
- String servletPath = request.getServletPath();
- String requestURI = request.getRequestURI();
-
- int contextPathLength = request.getContextPath().length();
- int servletPathLenght = servletPath.contains(contextPath) ? servletPath.length() - contextPath.length() : servletPath.length();
-
- String requestPath = requestURI.substring(contextPathLength + servletPathLenght);
-
- if (requestURI.startsWith("/")) {
- requestPath = requestPath.substring(1);
- }
-
- return requestPath;
- }
-
-
-}
diff --git a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/rest.composite b/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/rest.composite
deleted file mode 100644
index 9e32209a18..0000000000
--- a/sandbox/lresende/sca/samples/expertise-rest-appengine-webapp/src/rest.composite
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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.
--->
-<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
- targetNamespace="http://sample"
- xmlns:s="http://sample"
- name="rest" >
- <component name="ExpertRegistryComponent">
- <implementation.java class="org.apache.tuscany.expertise.restfull.ExpertRegistryImpl"/>
- <service name="ExpertRegistry">
- <interface.java interface="org.apache.tuscany.expertise.restfull.ExpertRegistry"/>
- </service>
- </component>
- <component name="RestExpertiseLocatorComponent">
- <implementation.java class="org.apache.tuscany.expertise.restfull.RestfulExpertiseLocator"/>
- <service name="Servlet">
- <tuscany:binding.http uri="/experts"/>
- </service>
- <reference name="experts" target="ExpertRegistryComponent"/>
- </component>
-</composite> \ No newline at end of file