You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2008/08/01 07:08:04 UTC
svn commit: r681601 - in
/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp: ./
src/main/java/customer/ src/main/java/helloworldjsonrpc/
src/main/java/launch/ src/main/resources/ src/main/resources/META-INF/
src/main/resources/content/ src/main...
Author: lresende
Date: Thu Jul 31 22:08:02 2008
New Revision: 681601
URL: http://svn.apache.org/viewvc?rev=681601&view=rev
Log:
Customer sample using Dojo + JSONRPC and OpenJPA
Added:
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/ (props changed)
- copied from r681283, tuscany/java/sca/samples/helloworld-dojo-webapp/
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/customer.sql
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml (contents, props changed)
- copied, changed from r681283, tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/webapp/META-INF/sca-contribution.xml
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/ (with props)
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/customer.html
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/customer.composite (contents, props changed)
- copied, changed from r681283, tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/resources/jsonrpc.composite
Removed:
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/helloworldjsonrpc/
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/jsonrpc.composite
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/webapp/
Modified:
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/build-dojo.xml
tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/pom.xml
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Jul 31 22:08:02 2008
@@ -0,0 +1,17 @@
+build-dependency.xml
+src\main\webapp\dojo
+target
+*.iws
+*.ipr
+*.iml
+.project
+.classpath
+maven.log
+velocity.log*
+junit*.properties
+surefire*.properties
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders
+maven-eclipse.xml
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Jul 31 22:08:02 2008
@@ -0,0 +1 @@
+/tuscany/branches/sca-java-1.3/samples/helloworld-dojo-webapp:671193
Modified: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/build-dojo.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/build-dojo.xml?rev=681601&r1=681283&r2=681601&view=diff
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/build-dojo.xml (original)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/build-dojo.xml Thu Jul 31 22:08:02 2008
@@ -21,7 +21,7 @@
<property name="dojo.version" value="1.0.0"/>
- <property name="unpack.location" value="${basedir}/src/main/webapp/dojo"/>
+ <property name="unpack.location" value="${basedir}/target/classes/content/dojo"/>
<target name="check-dojo-installed">
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/customer.sql
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/customer.sql?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/customer.sql (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/customer.sql Thu Jul 31 22:08:02 2008
@@ -0,0 +1,33 @@
+--
+-- 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.
+--
+
+DROP TABLE CUSTOMER;
+
+CREATE TABLE CUSTOMER (
+ ID INT PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY,
+ NAME VARCHAR(30)
+ PHONE VARCHAR(10)
+ ADDRESS VARCHAR(25)
+ CITY VARCHAR(15)
+ STATE VARCHAR(2)
+ ZIP VARCHAR(5));
+
+INSERT INTO CUSTOMER (NAME, PHONE, ADDRESS, CITY, STATE, ZIP ) VALUES('Joe Smith', '4081234567', '1440 N 1st ST', 'SAN JOSE', 'CA', '95134');
+INSERT INTO CUSTOMER (NAME, PHONE, ADDRESS, CITY, STATE, ZIP ) VALUES('Erik Johnson', '4081230987', '1440 N 1st ST', 'SAN JOSE', 'CA', '95134');
+INSERT INTO CUSTOMER (NAME, PHONE, ADDRESS, CITY, STATE, ZIP ) VALUES('Mark Pensacola', '4085679988', '1440 N 1st ST', 'SAN JOSE', 'CA', '95134');
\ No newline at end of file
Modified: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/pom.xml?rev=681601&r1=681283&r2=681601&view=diff
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/pom.xml (original)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/pom.xml Thu Jul 31 22:08:02 2008
@@ -25,9 +25,8 @@
<version>1.4-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>
- <artifactId>sample-helloworld-dojo-webapp</artifactId>
- <packaging>war</packaging>
- <name>Apache Tuscany SCA HelloWorld DOJO Sample WebApp</name>
+ <artifactId>sample-customer-dojo</artifactId>
+ <name>Apache Tuscany SCA Customer DOJO Sample WebApp</name>
<repositories>
<repository>
@@ -39,39 +38,81 @@
<dependencies>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
- <artifactId>tuscany-host-webapp</artifactId>
+ <artifactId>tuscany-host-embedded</artifactId>
<version>1.4-SNAPSHOT</version>
</dependency>
-
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-data-api</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ </dependency>
+
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-implementation-java-runtime</artifactId>
<version>1.4-SNAPSHOT</version>
<scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-widget-runtime</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-binding-http-runtime</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
<version>1.4-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
- <!-- exclude stax 1.0.1 as we're also pulling in javax\xml\stream\stax-api\1.0-2 -->
<dependency>
- <groupId>stax</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0.1</version>
- <scope>provided</scope>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-resource-runtime</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <scope>runtime</scope>
</dependency>
-
- <!-- marking dependency as provided to exclude from war file -->
+
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.3</version>
- <scope>provided</scope>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-host-tomcat</artifactId>
+ <version>1.4-SNAPSHOT</version>
+ <scope>runtime</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>
+ <version>1.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ <version>1.0.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.1.2.1</version>
+ </dependency>
<dependency>
<groupId>junit</groupId>
@@ -157,7 +198,56 @@
</goals>
</execution>
</executions>
- </plugin>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>sql-maven-plugin</artifactId>
+ <!-- 1.1 due to MOJO-619 -->
+ <version>1.1-SNAPSHOT</version>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.derby</groupId>
+ <artifactId>derby</artifactId>
+ <version>10.1.2.1</version>
+ </dependency>
+ </dependencies>
+
+ <executions>
+ <execution>
+ <id>create-db</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
+ <url>jdbc:derby:${pom.basedir}/target/classes/customer;create=true</url>
+ <autocommit>true</autocommit>
+ <onError>continue</onError>
+ <onConnectionError>skip</onConnectionError>
+ <delimiter>;</delimiter>
+ <srcFiles>
+ <srcFile>${pom.basedir}/customer.sql</srcFile>
+ </srcFiles>
+ </configuration>
+ </execution>
+
+ <!-- Shutdown DB in order to be able to run unit tests -->
+ <execution>
+ <id>shutdown-database-sothat-test-can-run</id>
+ <phase>process-test-resources</phase>
+ <goals>
+ <goal>execute</goal>
+ </goals>
+ <configuration>
+ <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
+ <url>jdbc:derby:${pom.basedir}/target/classes/customer;shutdown=true</url>
+ <skipOnConnectionError>true</skipOnConnectionError>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java Thu Jul 31 22:08:02 2008
@@ -0,0 +1,93 @@
+/*
+ * 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 customer;
+
+import javax.persistence.Basic;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+
+@Entity
+public class Customer {
+
+ @Id protected int id;
+ @Basic protected String name;
+ @Basic protected String phone;
+ @Basic protected String address;
+ @Basic protected String city;
+ @Basic protected String state;
+ @Basic protected String zip;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ public String getZip() {
+ return zip;
+ }
+
+ public void setZip(String zip) {
+ this.zip = zip;
+ }
+
+}
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/Customer.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java Thu Jul 31 22:08:02 2008
@@ -0,0 +1,26 @@
+/*
+ * 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 customer;
+
+import org.apache.tuscany.sca.data.collection.Collection;
+
+
+public interface CustomerCollection extends Collection<String, Customer> {
+
+}
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollection.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java Thu Jul 31 22:08:02 2008
@@ -0,0 +1,101 @@
+/*
+ * 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 customer;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+import javax.persistence.Query;
+
+import org.apache.tuscany.sca.data.collection.Entry;
+import org.apache.tuscany.sca.data.collection.NotFoundException;
+
+
+public class CustomerCollectionImpl implements CustomerCollection {
+ EntityManagerFactory emf = null;
+ EntityManager em = null;
+
+ public CustomerCollectionImpl() {
+ System.out.println(">>>");
+ try {
+ emf = Persistence.createEntityManagerFactory("customer-openJPA");
+ em = emf.createEntityManager();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void delete(String arg0) throws NotFoundException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Customer get(String arg0) throws NotFoundException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Entry<String, Customer>[] getAll() {
+ EntityTransaction tx = em.getTransaction();
+ try {
+ tx.begin();
+
+ Query q = em.createQuery("SELECT c FROM customer c");
+ List results = q.getResultList();
+ Iterator iter = results.iterator();
+ while (iter.hasNext()) {
+ Customer customer = (Customer)iter.next();
+
+ System.out.println(customer);
+ }
+
+ tx.commit();
+ } catch(Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (tx.isActive()) {
+ tx.rollback();
+ }
+
+ em.close();
+ }
+
+ return null;
+ }
+
+ public String post(String arg0, Customer arg1) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void put(String arg0, Customer arg1) throws NotFoundException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Entry<String, Customer>[] query(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerCollectionImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java Thu Jul 31 22:08:02 2008
@@ -0,0 +1,31 @@
+/*
+ * 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 customer;
+
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+public interface CustomerService {
+
+ Customer[] get();
+
+ Customer findCustomerByName(String name);
+
+}
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerService.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java Thu Jul 31 22:08:02 2008
@@ -0,0 +1,118 @@
+/*
+ * 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 customer;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+import javax.persistence.Query;
+
+import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.Init;
+
+public class CustomerServiceImpl implements CustomerService {
+ EntityManagerFactory emf = null;
+ EntityManager em = null;
+
+ public CustomerServiceImpl() {
+
+ }
+
+ @Init
+ public void init() {
+ System.out.println(">>> Initializing JPA");
+ try {
+ emf = Persistence.createEntityManagerFactory("customer-openJPA");
+ em = emf.createEntityManager();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Destroy
+ public void destroy() {
+ em.close();
+ emf.close();
+ }
+
+ public Customer[] get() {
+ EntityTransaction tx = em.getTransaction();
+ List<Customer> customers = new ArrayList<Customer>();
+ try {
+ tx.begin();
+
+ Query q = em.createQuery("SELECT c FROM customer c");
+ List results = q.getResultList();
+ Iterator iter = results.iterator();
+ while (iter.hasNext()) {
+ Customer customer = (Customer)iter.next();
+ customers.add(customer);
+ }
+
+ tx.commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (tx.isActive()) {
+ tx.rollback();
+ }
+
+ em.close();
+ }
+
+ Customer[] customerArray = new Customer[customers.size()];
+ customers.toArray(customerArray);
+ return customerArray;
+ }
+
+ public Customer findCustomerByName(String name) {
+ EntityTransaction tx = em.getTransaction();
+ Customer customer = null;
+
+ try {
+ tx.begin();
+
+ Query q = em.createQuery("SELECT c FROM customer c WHERE c.name = " + name);
+ List results = q.getResultList();
+ Iterator iter = results.iterator();
+ while (iter.hasNext()) {
+ customer = (Customer)iter.next();
+ }
+
+ tx.commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (tx.isActive()) {
+ tx.rollback();
+ }
+
+ em.close();
+ }
+
+ return customer;
+ }
+
+}
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/customer/CustomerServiceImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java Thu Jul 31 22:08:02 2008
@@ -0,0 +1,34 @@
+/*
+ * 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 launch;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+public class Launch {
+ public static void main(String[] args) throws Exception {
+ System.out.println("Starting ...");
+ SCADomain scaDomain = SCADomain.newInstance("customer.composite");
+ System.out.println("store.composite ready for big business !!!");
+ System.in.read();
+ System.out.println("Stopping ...");
+ scaDomain.close();
+ System.out.println();
+ }
+}
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/java/launch/Launch.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml Thu Jul 31 22:08:02 2008
@@ -0,0 +1,51 @@
+<?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.
+-->
+
+<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
+ version="1.0">
+ <entity class="customer.Customer" name="customer">
+ <table name="CUSTOMER"/>
+ <attributes>
+ <id name="id">
+ <generated-value strategy="TABLE"/>
+ </id>
+ <basic name="name">
+ <column name="NAME" length="30"/>
+ </basic>
+ <basic name="phone">
+ <column name="PHONE" length="10"/>
+ </basic>
+ <basic name="address">
+ <column name="ADDRESS" length="25"/>
+ </basic>
+ <basic name="city">
+ <column name="CITY" length="15"/>
+ </basic>
+ <basic name="state">
+ <column name="STATE" length="2"/>
+ </basic>
+ <basic name="ZIP">
+ <column name="zip" length="5"/>
+ </basic>
+ </attributes>
+ </entity>
+</entity-mappings>
\ No newline at end of file
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/orm.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml Thu Jul 31 22:08:02 2008
@@ -0,0 +1,40 @@
+<?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.
+-->
+
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
+ http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
+
+ <persistence-unit name="customer-openJPA">
+ <!--mapping-file>orm.xml</mapping-file-->
+ <class>customer.Customer</class>
+
+ <properties>
+ <property name="openjpa.ConnectionDriverName" value="org.apache.derby.jdbc.EmbeddedDriver"/>
+ <property name="openjpa.ConnectionURL" value="jdbc:derby:target/classes/customer"/>
+ <property name="openjpa.ConnectionUserName" value=""/>
+ <property name="openjpa.ConnectionPassword" value=""/>
+
+ <property name="openjpa.Log" value="DefaultLevel=TRACE, Tool=TRACE"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
\ No newline at end of file
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/persistence.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Copied: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml (from r681283, tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/webapp/META-INF/sca-contribution.xml)
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml?p2=tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml&p1=tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/webapp/META-INF/sca-contribution.xml&r1=681283&r2=681601&rev=681601&view=diff
==============================================================================
--- tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/webapp/META-INF/sca-contribution.xml (original)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml Thu Jul 31 22:08:02 2008
@@ -21,6 +21,6 @@
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://sample"
xmlns:sample="http://sample">
- <deployable composite="sample:helloworldjsonrpc"/>
+ <deployable composite="sample:customer"/>
</contribution>
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Jul 31 22:08:02 2008
@@ -0,0 +1 @@
+/tuscany/branches/sca-java-1.3/samples/helloworld-dojo-webapp/src/main/webapp/META-INF/sca-contribution.xml:671193
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/META-INF/sca-contribution.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/
------------------------------------------------------------------------------
svn:mergeinfo =
Added: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/customer.html
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/customer.html?rev=681601&view=auto
==============================================================================
--- tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/customer.html (added)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/content/customer.html Thu Jul 31 22:08:02 2008
@@ -0,0 +1,77 @@
+<html>
+<!--
+ * 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.
+ -->
+<head>
+ <title>Tuscany Dojo JSON-RPC Customer Example</TITLE>
+
+ <style type="text/css">
+ @import "dojo/dijit/themes/soria/soria.css";
+ @import "dojo/dojo/resources/dojo.css"
+ </style>
+
+ <script type="text/javascript">
+ var djConfig = {
+ parseOnLoad: true,
+ baseRelativePath: "dojo",
+ isDebug: true,
+ debugContainerId: "dojoDebug"
+ };
+ djConfig.usePlainJson=true ;
+ //djConfig.debugAtAllCosts = true;
+ </script>
+
+ <script type="text/javascript" src="dojo/dojo/dojo.js"></script>
+ <script type="text/javascript" src="dojo/dijit/dijit.js"></script>
+
+ <script type="text/javascript">
+ dojo.require("dojo.parser");
+ dojo.require("dojo.rpc.JsonService");
+ dojo.require("dijit.form.ValidationTextBox");
+ dojo.require("dijit.form.Button");
+ </script>
+
+ <link rel="stylesheet" type="text/css" href="style.css" />
+</head>
+
+<body class="soria">
+
+<h2>Tuscany Dojo JSON-RPC Customer Sample</h2>
+
+Customer Name :<br>
+<input type="text" id="name" size="30" value="Joe Smith" dojoType="dijit.form.TextBox" trim="true" propercase="true" required="true" />
+<input type="button" dojoType="dijit.form.Button" onclick="findCustomerByName()" />
+
+
+<script type="text/javascript">
+ function findCustomerByName() {
+ var name = document.getElementById("name").value;
+ customerService.findCustomerByName(name).addCallback(contentCallBack);;
+ }
+
+ function contentCallBack(result) {
+ alert(result.name);
+ //var handlerNode = document.getElementById("ReturnedContent");
+ //handlerNode.innerHTML = "<p>" + result + "</p>" ;
+ }
+
+ var customerService = new dojo.rpc.JsonService("/CustomerService?smd");
+</script>
+
+</body>
+</html>
Copied: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/customer.composite (from r681283, tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/resources/jsonrpc.composite)
URL: http://svn.apache.org/viewvc/tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/customer.composite?p2=tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/customer.composite&p1=tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/resources/jsonrpc.composite&r1=681283&r2=681601&rev=681601&view=diff
==============================================================================
--- tuscany/java/sca/samples/helloworld-dojo-webapp/src/main/resources/jsonrpc.composite (original)
+++ tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/customer.composite Thu Jul 31 22:08:02 2008
@@ -22,15 +22,22 @@
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
targetNamespace="http://sample"
xmlns:sample="http://sample"
- name="helloworldjsonrpc">
-
- <service name="HelloWorldService" promote="HelloWorldJSONServiceComponent/HelloWorldService">
- <interface.java interface="helloworldjsonrpc.HelloWorldService"/>
- <tuscany:binding.jsonrpc/>
- </service>
+ name="customer">
+
+ <component name="ui">
+ <tuscany:implementation.resource location="content"/>
+ <service name="Resource">
+ <tuscany:binding.http uri="/"/>
+ </service>
+ </component>
- <component name="HelloWorldJSONServiceComponent">
- <implementation.java class="helloworldjsonrpc.HelloWorldServiceImpl"/>
+ <service name="CustomerService" promote="CustomerServiceComponent/CustomerService">
+ <interface.java interface="customer.CustomerService"/>
+ <tuscany:binding.jsonrpc/>
+ </service>
+
+ <component name="CustomerServiceComponent">
+ <implementation.java class="customer.CustomerServiceImpl"/>
</component>
</composite>
Propchange: tuscany/sandbox/lresende/sca/samples/customer-dojo-webapp/src/main/resources/customer.composite
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Jul 31 22:08:02 2008
@@ -0,0 +1 @@
+/tuscany/branches/sca-java-1.3/samples/helloworld-dojo-webapp/src/main/resources/jsonrpc.composite:671193