You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/01/09 20:46:59 UTC
olingo-odata2 git commit: [OLINGO-476] Start with support for Java
enum
Repository: olingo-odata2
Updated Branches:
refs/heads/OLINGO-476_SupportJavaEnums [created] 81bde4ff1
[OLINGO-476] Start with support for Java enum
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/81bde4ff
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/81bde4ff
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/81bde4ff
Branch: refs/heads/OLINGO-476_SupportJavaEnums
Commit: 81bde4ff12f28f96cea0dadc59d728dab71780d6
Parents: e80f019
Author: mibo <mi...@mirb.de>
Authored: Fri Jan 9 20:39:50 2015 +0100
Committer: mibo <mi...@mirb.de>
Committed: Fri Jan 9 20:46:24 2015 +0100
----------------------------------------------------------------------
.../core/access/model/JPATypeConvertor.java | 3 +++
.../core/access/model/JPATypeConvertorTest.java | 6 +++++
.../jpa/processor/ref/model/Customer.java | 20 +++++++++++------
.../jpa/processor/ref/model/Importance.java | 23 ++++++++++++++++++++
.../resources/SQL_Insert_Customer.properties | 10 ++++-----
5 files changed, 50 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81bde4ff/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
index 10a6d73..af8508f 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertor.java
@@ -105,7 +105,10 @@ public class JPATypeConvertor {
return EdmSimpleTypeKind.Binary;
} else if (jpaType.equals(Clob.class) && isBlob(currentAttribute)) {
return EdmSimpleTypeKind.String;
+ } else if (jpaType.isEnum()) {
+ return EdmSimpleTypeKind.String;
}
+
throw ODataJPAModelException.throwException(ODataJPAModelException.TYPE_NOT_SUPPORTED
.addContent(jpaType.toString()), null);
}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81bde4ff/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertorTest.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertorTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertorTest.java
index 29462c9..9325973 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertorTest.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/model/JPATypeConvertorTest.java
@@ -42,6 +42,9 @@ public class JPATypeConvertorTest {
private EdmSimpleTypeKind edmSimpleKindTypeByte;
private EdmSimpleTypeKind edmSimpleKindTypeBoolean;
private EdmSimpleTypeKind edmSimpleKindTypeUUID;
+ private EdmSimpleTypeKind edmSimpleKindTypeStringFromEnum;
+
+ enum SomeEnum {TEST}
@Test
public void testConvertToEdmSimpleType() {
@@ -56,6 +59,7 @@ public class JPATypeConvertorTest {
Byte byteObj = new Byte((byte) 0);
Boolean booleanObj = Boolean.TRUE;
UUID uUID = new UUID(0, 0);
+ SomeEnum someEnum = SomeEnum.TEST;
try {
edmSimpleKindTypeString = JPATypeConvertor.convertToEdmSimpleType(str.getClass(), null);
@@ -68,6 +72,7 @@ public class JPATypeConvertorTest {
edmSimpleKindTypeBigDecimal = JPATypeConvertor.convertToEdmSimpleType(bigDecimalObj.getClass(), null);
edmSimpleKindTypeByte = JPATypeConvertor.convertToEdmSimpleType(byteObj.getClass(), null);
edmSimpleKindTypeBoolean = JPATypeConvertor.convertToEdmSimpleType(booleanObj.getClass(), null);
+ edmSimpleKindTypeStringFromEnum = JPATypeConvertor.convertToEdmSimpleType(someEnum.getClass(), null);
/*
* edmSimpleKindTypeDate = JPATypeConvertor
* .convertToEdmSimpleType(dateObj.getClass(),null);
@@ -89,6 +94,7 @@ public class JPATypeConvertorTest {
assertEquals(EdmSimpleTypeKind.Boolean, edmSimpleKindTypeBoolean);
// assertEquals(EdmSimpleTypeKind.DateTime, edmSimpleKindTypeDate);
assertEquals(EdmSimpleTypeKind.Guid, edmSimpleKindTypeUUID);
+ assertEquals(EdmSimpleTypeKind.String, edmSimpleKindTypeStringFromEnum);
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81bde4ff/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Customer.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Customer.java b/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Customer.java
index 12e38ac..3333b1f 100644
--- a/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Customer.java
+++ b/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Customer.java
@@ -23,6 +23,8 @@ import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
@@ -40,6 +42,10 @@ public class Customer extends CustomerBase {
@Column(name = "NAME")
private String name;
+ @Enumerated(EnumType.STRING)
+ @Column(name = "IMPORTANCE")
+ private Importance importance;
+
@Embedded
private Address address;
@@ -77,13 +83,13 @@ public class Customer extends CustomerBase {
this.name = name;
}
-// public List<SalesOrderHeader> getOrders() {
-// return orders;
-// }
-//
-// public void setOrders(final List<SalesOrderHeader> orders) {
-// this.orders = orders;
-// }
+ public Importance getImportance() {
+ return importance;
+ }
+
+ public void setImportance(Importance importance) {
+ this.importance = importance;
+ }
public Address getAddress() {
return address;
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81bde4ff/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Importance.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Importance.java b/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Importance.java
new file mode 100644
index 0000000..6cd8057
--- /dev/null
+++ b/odata2-jpa-processor/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/Importance.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.ref.model;
+
+public enum Importance {
+ LOW, MEDIUM, HIGH, VIP
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81bde4ff/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Customer.properties
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Customer.properties b/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Customer.properties
index a42f23e..16e13bd 100644
--- a/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Customer.properties
+++ b/odata2-jpa-processor/jpa-web/src/main/resources/SQL_Insert_Customer.properties
@@ -16,8 +16,8 @@
# specific language governing permissions and limitations
# under the License.
#-------------------------------------------------------------------------------
-query_1 = INSERT INTO T_CUSTOMER (ID , NAME, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(100,'Bob Bryan',7,'5 cross Street', 'London', 'UK', 'E7','2012-11-01 00:01:00');
-query_2 = INSERT INTO T_CUSTOMER (ID , NAME, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(200,'Mike Bryan',7,'8 cross Street', 'New York', 'USA', '10011','2012-11-01 00:01:00');
-query_3 = INSERT INTO T_CUSTOMER (ID , NAME, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(201,'Steve Roger',7,'9 cross Street', 'Mumbai', 'India', '200101','2012-11-01 00:01:00');
-query_4 = INSERT INTO T_CUSTOMER (ID , NAME, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(101,'Pac Man',7,'25 cross Street', 'Frankfurt', 'Germany', '60001','2012-11-01 00:01:00');
-query_5 = INSERT INTO T_CUSTOMER (ID , NAME, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(202,'Bolt Man',7,'25 cross Street', 'Toronto', 'Canada', 'NE','2012-11-01 00:01:00');
\ No newline at end of file
+query_1 = INSERT INTO T_CUSTOMER (ID , NAME, IMPORTANCE, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(100,'Bob Bryan','VIP',7,'5 cross Street', 'London', 'UK', 'E7','2012-11-01 00:01:00');
+query_2 = INSERT INTO T_CUSTOMER (ID , NAME, IMPORTANCE, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(200,'Mike Bryan','LOW',7,'8 cross Street', 'New York', 'USA', '10011','2012-11-01 00:01:00');
+query_3 = INSERT INTO T_CUSTOMER (ID , NAME, IMPORTANCE, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(201,'Steve Roger','LOW',7,'9 cross Street', 'Mumbai', 'India', '200101','2012-11-01 00:01:00');
+query_4 = INSERT INTO T_CUSTOMER (ID , NAME, IMPORTANCE, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(101,'Pac Man','LOW',7,'25 cross Street', 'Frankfurt', 'Germany', '60001','2012-11-01 00:01:00');
+query_5 = INSERT INTO T_CUSTOMER (ID , NAME, IMPORTANCE, HOUSE_NUMBER , STREET_NAME, CITY, COUNTRY, PINCODE,CREATED_AT) VALUES(202,'Bolt Man','LOW',7,'25 cross Street', 'Toronto', 'Canada', 'NE','2012-11-01 00:01:00');
\ No newline at end of file