You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2013/09/13 17:21:22 UTC
git commit: JPA - Changes to Ref sceanrio showcasing char support
Updated Branches:
refs/heads/master b6fbd3be4 -> 211b2d258
JPA - Changes to Ref sceanrio showcasing char support
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/commit/211b2d25
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/tree/211b2d25
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/diff/211b2d25
Branch: refs/heads/master
Commit: 211b2d25807bec773b6ad86b7a1815f844682f0b
Parents: b6fbd3b
Author: Chandan V A <ch...@sap.com>
Authored: Fri Sep 13 20:51:06 2013 +0530
Committer: Chandan V A <ch...@sap.com>
Committed: Fri Sep 13 20:51:06 2013 +0530
----------------------------------------------------------------------
.../core/jpa/access/data/JPAEntity.java | 10 +++-
.../core/jpa/access/data/JPAEntityParser.java | 8 +++
.../processor/ref/model/SalesOrderHeader.java | 52 ++++++++++++++++++--
3 files changed, 65 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/211b2d25/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntity.java
----------------------------------------------------------------------
diff --git a/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntity.java b/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntity.java
index 59b8313..2e03fbd 100644
--- a/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntity.java
+++ b/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntity.java
@@ -252,10 +252,18 @@ public class JPAEntity {
char[] characters = ((String) entityPropertyValue).toCharArray();
method.invoke(entity, characters);
}
+ else if (parameterType.equals(char.class)) {
+ char c = ((String) entityPropertyValue).charAt(0);
+ method.invoke(entity, c);
+ }
else if (parameterType.equals(Character[].class))
{
Character[] characters = JPAEntityParser.toCharacterArray((String) entityPropertyValue);
- method.invoke(entity, (Object)characters);
+ method.invoke(entity, (Object) characters);
+ }
+ else if (parameterType.equals(Character.class)) {
+ Character c = Character.valueOf(((String) entityPropertyValue).charAt(0));
+ method.invoke(entity, c);
}
else
method.invoke(entity, entityPropertyValue);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/211b2d25/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntityParser.java
----------------------------------------------------------------------
diff --git a/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntityParser.java b/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntityParser.java
index f22fd79..d7a8c97 100644
--- a/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntityParser.java
+++ b/jpa-core/src/main/java/org/apache/olingo/odata2/processor/core/jpa/access/data/JPAEntityParser.java
@@ -349,6 +349,14 @@ public final class JPAEntityParser {
propertyValue = (String) String.valueOf((char[]) method.invoke(entity));
else if (returnType.equals(Character[].class))
propertyValue = (String) toString((Character[]) method.invoke(entity));
+ else if (returnType.equals(char.class)) {
+ char c = (Character) method.invoke(entity);
+ propertyValue = (String) String.valueOf(c);
+ }
+ else if (returnType.equals(Character.class)) {
+ Character c = (Character) method.invoke(entity);
+ propertyValue = toString(new Character[] { c });
+ }
else
propertyValue = method.invoke(entity);
} catch (IllegalAccessException e) {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/211b2d25/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/SalesOrderHeader.java
----------------------------------------------------------------------
diff --git a/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/SalesOrderHeader.java b/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/SalesOrderHeader.java
index 2b034c4..c40512c 100644
--- a/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/SalesOrderHeader.java
+++ b/jpa-ref/src/main/java/org/apache/olingo/odata2/jpa/processor/ref/model/SalesOrderHeader.java
@@ -30,6 +30,7 @@ import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
+import javax.persistence.PostPersist;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@@ -42,7 +43,7 @@ public class SalesOrderHeader {
public SalesOrderHeader(final Calendar creationDate, final int buyerId, final String buyerName,
final Address buyerAddress, final String currencyCode, final double netAmount,
- final String deliveryStatus) {
+ final String deliveryStatus, final char[] shortText, final Character[] longText) {
super();
this.creationDate = creationDate;
this.buyerId = buyerId;
@@ -50,6 +51,8 @@ public class SalesOrderHeader {
this.buyerAddress = buyerAddress;
this.currencyCode = currencyCode;
this.deliveryStatus = deliveryStatus;
+ this.shortText = shortText;
+ this.longText = longText;
}
@Id
@@ -58,6 +61,23 @@ public class SalesOrderHeader {
@Temporal(TemporalType.TIMESTAMP)
private Calendar creationDate;
+
+ @Column
+ private Character status;
+
+ public Character getStatus() {
+ return status;
+ }
+
+ public void setStatus(Character status) {
+ this.status = status;
+ }
+
+ @Column(name = "SHORT_TEXT", length = 20)
+ private char[] shortText;
+
+ @Column(name = "LONG_TEXT", length = 40)
+ private Character[] longText;
@Column(name = "BUYER_ID")
private int buyerId;
@@ -104,10 +124,12 @@ public class SalesOrderHeader {
}
public void setCreationDate(final Calendar creationDate) {
- if (creationDate == null) {
- return;
+ long originalTime;
+ if (creationDate != null) {
+ originalTime = creationDate.getTime().getTime();
}
- long originalTime = creationDate.getTime().getTime();
+ else
+ originalTime = Calendar.getInstance(TimeZone.getDefault()).getTime().getTime();
Date newDate = new Date(originalTime - TimeZone.getDefault().getOffset(originalTime));
Calendar newCalendar = Calendar.getInstance();
newCalendar.setTime(newDate);
@@ -185,4 +207,26 @@ public class SalesOrderHeader {
public void setNotes(final List<Note> notes) {
this.notes = notes;
}
+
+ public char[] getShortText() {
+ return shortText;
+ }
+
+ public void setShortText(char[] shortText) {
+ this.shortText = shortText;
+ }
+
+ public Character[] getLongText() {
+ return longText;
+ }
+
+ public void setLongText(Character[] longText) {
+ this.longText = longText;
+ }
+
+ @PostPersist
+ public void defaultValues() {
+ if (this.creationDate == null) setCreationDate(this.creationDate);
+ }
+
}