summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.3/modules/implementation-openjpa/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.3/modules/implementation-openjpa/src/test')
-rw-r--r--branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java69
-rw-r--r--branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Abc.java34
-rw-r--r--branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Message.java72
-rw-r--r--branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/MyObject.java33
-rw-r--r--branches/sca-java-1.3/modules/implementation-openjpa/src/test/resources/openjpa.composite44
5 files changed, 252 insertions, 0 deletions
diff --git a/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java
new file mode 100644
index 0000000000..900fab3242
--- /dev/null
+++ b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java
@@ -0,0 +1,69 @@
+/*
+ * 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.sca.implementation.openjpa;
+
+import junit.framework.*;
+import org.apache.tuscany.sca.host.embedded.*;
+import org.apache.commons.logging.*;
+import sample.*;
+import javax.persistence.*;
+import java.util.*;
+
+public class ImplJpaTestCase extends TestCase {
+ private EntityManager em;
+ private Log log = LogFactory.getLog(this.getClass());
+ private SCADomain domain;
+
+ public void setUp() {
+ domain = SCADomain.newInstance("openjpa.composite");
+ em = domain.getService(EntityManager.class, "OpenJPAServiceComponent");
+
+ }
+
+ public void testAccess() {
+ Abc a = new Abc();
+ int i = new Random().nextInt();
+ a.setId(i);
+ em.persist(a);
+ log.info(em.find(Abc.class, i));
+ Query q = em.createQuery("select a from Abc a");
+ q.setMaxResults(5);
+ log.info("There are " + q.getResultList().size() + " Abc in the database now");
+ }
+
+ public void testRollback() {
+ try {
+ Abc a = new Abc();
+ int i = new Random().nextInt();
+ a.setId(i);
+ em.persist(a);
+ Abc a2 = new Abc();
+ a2.setId(i);
+ em.persist(a2);
+
+ } catch (RuntimeException ex) {
+ log.info("An expected exception occured, Tuscany is rolling back...");
+ }
+ }
+
+ public void tearDown() {
+ em.close();
+ domain.close();
+ }
+}
diff --git a/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Abc.java b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Abc.java
new file mode 100644
index 0000000000..0f8e9e4391
--- /dev/null
+++ b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Abc.java
@@ -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 sample;
+import javax.persistence.*;
+@Entity
+public class Abc {
+ private int id;
+ @Id
+ public int getId(){
+ return id;
+ }
+ public void setId(int i){
+ id = i;
+ }
+ public String toString(){
+ return "My Id is "+id;
+ }
+}
diff --git a/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Message.java b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Message.java
new file mode 100644
index 0000000000..da4fd1f3fc
--- /dev/null
+++ b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/Message.java
@@ -0,0 +1,72 @@
+/*
+ * 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 sample;
+
+import java.util.*;
+import javax.persistence.*;
+
+
+/**
+ * A very simple persistent entity that holds a "message", has a
+ * "created" field that is initialized to the time at which the
+ * object was created, and an id field that is initialized to the
+ * current time.
+ */
+@Entity
+public class Message {
+ @Id
+ private long id = System.currentTimeMillis();
+
+ @Basic
+ private String message;
+
+ @Basic
+ private Date created = new Date();
+
+ public Message() {
+ }
+
+ public Message(String msg) {
+ message = msg;
+ }
+
+ public void setId(long val) {
+ id = val;
+ }
+
+ public long getId() {
+ return id;
+ }
+
+ public void setMessage(String msg) {
+ message = msg;
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setCreated(Date date) {
+ created = date;
+ }
+
+ public Date getCreated() {
+ return created;
+ }
+}
diff --git a/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/MyObject.java b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/MyObject.java
new file mode 100644
index 0000000000..d3b1baf182
--- /dev/null
+++ b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/java/sample/MyObject.java
@@ -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.
+ */
+package sample;
+
+import java.io.*;
+import javax.persistence.*;
+@Entity
+public class MyObject implements Serializable{
+ private int id;
+ @Id
+ public int getId(){
+ return id;
+ }
+ public void setId(int i){
+ id =i;
+ }
+}
diff --git a/branches/sca-java-1.3/modules/implementation-openjpa/src/test/resources/openjpa.composite b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/resources/openjpa.composite
new file mode 100644
index 0000000000..1c1b6976bd
--- /dev/null
+++ b/branches/sca-java-1.3/modules/implementation-openjpa/src/test/resources/openjpa.composite
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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://www.osoa.org/xmlns/sca/1.0"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
+ targetNamespace="http://sample/openjpa" name="impl-jpa">
+
+ <component name="OpenJPAServiceComponent">
+ <tuscany:implementation.jpa>
+ <tuscany:persistence-unit name="hellojpa">
+ <tuscany:openjpa.BrokerFactory>org.apache.tuscany.sca.implementation.openjpa.TuscanyBrokerFactory</tuscany:openjpa.BrokerFactory>
+ <tuscany:openjpa.TransactionMode>managed</tuscany:openjpa.TransactionMode>
+ <tuscany:openjpa.Log>DefaultLevel=WARN,SQL=TRACE</tuscany:openjpa.Log>
+ <tuscany:openjpa.jdbc.SynchronizeMappings>buildSchema</tuscany:openjpa.jdbc.SynchronizeMappings>
+
+ <tuscany:class>sample.Abc</tuscany:class>
+ <tuscany:class>sample.Message</tuscany:class>
+ </tuscany:persistence-unit>
+ <tuscany:datasource>
+ <dbtype>Derby</dbtype>
+ <dbname>test</dbname>
+ <dbcreate>create</dbcreate>
+ </tuscany:datasource>
+ </tuscany:implementation.jpa>
+ </component>
+
+</composite>