Skip to content

Commit fee48cb

Browse files
committed
Work on enabling ObjectManager with support for Relational Databases
1 parent a012253 commit fee48cb

17 files changed

Lines changed: 130 additions & 161 deletions

File tree

core/src/test/java/com/draagon/meta/test/produce/v1/Apple.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public class Apple extends Fruit {
1818

1919
private short worms;
2020
private String orchard;
21+
private Long basketId;
2122

2223
public Apple() {
2324
}
@@ -37,4 +38,12 @@ public String getOrchard() {
3738
public void setOrchard(String orchard) {
3839
this.orchard = orchard;
3940
}
41+
42+
public Long getBasketId() {
43+
return basketId;
44+
}
45+
46+
public void setBasketId( Long basketId ) {
47+
this.basketId = basketId;
48+
}
4049
}

metadata/src/main/java/com/draagon/meta/MetaData.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -774,9 +774,6 @@ public void clearChildren(Class<? extends MetaData> c) {
774774
////////////////////////////////////////////////////
775775
// DEPRECATED CHILDREN METHODS
776776

777-
/**
778-
* @deprecated Only exists for deprecated support
779-
*/
780777
/*private String getTypeForClass( Class<?> c ) {
781778
switch( c.getSimpleName() ) {
782779
case "MetaAttribute": return MetaAttribute.TYPE_ATTR;

metadata/src/main/java/com/draagon/meta/generator/direct/javacode/simple/SimpleJavaCodeWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ protected String getValueClass(MetaField mf) {
289289
case LONG: return "Long";
290290
case FLOAT: return "Float";
291291
case DOUBLE: return "Double";
292-
case DATE: return "java.lang.Date";
292+
case DATE: return "java.util.Date";
293293
case STRING: return "String";
294294
case STRING_ARRAY: return "java.util.List<String>";
295295
case OBJECT: return "Object";

metadata/src/main/java/com/draagon/meta/object/pojo/PojoMetaObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ protected Method findGetterName(Class objClass, MetaField f) {
8686
try {
8787
method = objClass.getMethod( getGetterName(f,"is"));
8888
} catch (NoSuchMethodException e2) {
89-
throw new NoSuchMethodError("No getter exists named [get/is" +f.getName()+ "] on object [" +objClass.getName()+ "]");
89+
throw new NoSuchMethodError("No getter exists named [(get/is)" +f.getName()+ "] on object [" +objClass.getName()+ "]");
9090
}
9191
}
9292
return method;

om/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.draagon</groupId>
77
<artifactId>metaobjects</artifactId>
8-
<version>4.3.0-SNAPSHOT</version>
8+
<version>4.3.5-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>metaobjects-om</artifactId>
Lines changed: 8 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,18 @@
1-
/*
2-
* Copyright 2003 Draagon Software LLC. All Rights Reserved.
3-
*
4-
* This software is the proprietary information of Draagon Software LLC.
5-
* Use is subject to license terms.
6-
*/
7-
81
package com.draagon.meta.manager;
92

10-
import com.draagon.meta.*;
11-
123
public interface ObjectConnection
134
{
145
public Object getDatastoreConnection();
156

16-
public void setReadOnly( boolean state )
17-
throws MetaDataException;
18-
public boolean isReadOnly()
19-
throws MetaDataException;
7+
public void setReadOnly( boolean state ) throws PersistenceException;
8+
public boolean isReadOnly() throws PersistenceException;
209

21-
public void setAutoCommit( boolean state )
22-
throws MetaDataException;
23-
public boolean getAutoCommit()
24-
throws MetaDataException;
10+
public void setAutoCommit( boolean state ) throws PersistenceException;
11+
public boolean getAutoCommit() throws PersistenceException;
2512

26-
public void commit()
27-
throws MetaDataException;
28-
public void rollback()
29-
throws MetaDataException;
13+
public void commit() throws PersistenceException;
14+
public void rollback() throws PersistenceException;
3015

31-
public void close()
32-
throws MetaDataException;
33-
public boolean isClosed()
34-
throws MetaDataException;
16+
public void close() throws PersistenceException;
17+
public boolean isClosed() throws PersistenceException;
3518
}

om/src/main/java/com/draagon/meta/manager/PersistenceException.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.draagon.meta.manager;
22

3-
import com.draagon.meta.MetaDataException;
4-
53
@SuppressWarnings("serial")
6-
public class PersistenceException extends MetaDataException {
4+
public class PersistenceException extends RuntimeException {
75

86
public PersistenceException(String msg) {
97
super(msg);

om/src/main/java/com/draagon/meta/manager/StateAwareMetaObject.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,36 @@ public interface StateAwareMetaObject {
1919
///////////////////////////////////////////////////////////////
2020
// Object State Methods
2121

22-
public abstract boolean isNew(Object obj) throws MetaDataException;
22+
public boolean isNew(Object obj) throws MetaDataException;
2323

24-
public abstract boolean isModified(Object obj) throws MetaDataException;
24+
public boolean isModified(Object obj) throws MetaDataException;
2525

26-
public abstract boolean isDeleted(Object obj) throws MetaDataException;
26+
public boolean isDeleted(Object obj) throws MetaDataException;
2727

28-
public abstract void setNew(Object obj, boolean state) throws MetaDataException;
28+
public void setNew(Object obj, boolean state) throws MetaDataException;
2929

30-
public abstract void setModified(Object obj, boolean state) throws MetaDataException;
30+
public void setModified(Object obj, boolean state) throws MetaDataException;
3131

32-
public abstract void setDeleted(Object obj, boolean state) throws MetaDataException;
32+
public void setDeleted(Object obj, boolean state) throws MetaDataException;
3333

34-
public abstract long getCreationTime(Object obj) throws MetaDataException;
34+
public long getCreationTime(Object obj) throws MetaDataException;
3535

36-
public abstract long getModifiedTime(Object obj) throws MetaDataException;
36+
public long getModifiedTime(Object obj) throws MetaDataException;
3737

38-
public abstract long getDeletedTime(Object obj) throws MetaDataException;
38+
public long getDeletedTime(Object obj) throws MetaDataException;
3939

4040
/**
4141
* Returns whether the field on the object was modified
4242
*/
43-
public abstract boolean isFieldModified(MetaField f, Object obj) throws MetaDataException;
43+
public boolean isFieldModified(MetaField f, Object obj) throws MetaDataException;
4444

4545
/**
4646
* Sets whether the field is modified
4747
*/
48-
public abstract void setFieldModified(MetaField f, Object obj, boolean state) throws MetaDataException;
48+
public void setFieldModified(MetaField f, Object obj, boolean state) throws MetaDataException;
4949

5050
/**
5151
* Gets the time the field was modified
5252
*/
53-
public abstract long getFieldModifiedTime(MetaField f, Object obj) throws MetaDataException;
53+
public long getFieldModifiedTime(MetaField f, Object obj) throws MetaDataException;
5454
}
Lines changed: 36 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,55 @@
1-
/*
2-
* Copyright 2003 Draagon Software LLC. All Rights Reserved.
3-
*
4-
* This software is the proprietary information of Draagon Software LLC.
5-
* Use is subject to license terms.
6-
*/
7-
81
package com.draagon.meta.manager.xml;
92

103
import com.draagon.meta.object.MetaObject;
11-
import com.draagon.meta.*;
124
import com.draagon.meta.manager.*;
135

146
import java.util.*;
157

16-
public class ObjectConnectionXML implements ObjectConnection
17-
{
18-
//private static Log log = LogFactory.getLog( ObjectConnectionXML.class );
8+
public class ObjectConnectionXML implements ObjectConnection {
9+
//private static Log log = LogFactory.getLog( ObjectConnectionXML.class );
1910

20-
private Map<MetaObject,List<Object>> tables;
21-
private boolean readonly = false;
22-
private boolean auto = true;
23-
private boolean closed = false;
11+
private Map<MetaObject, List<Object>> tables;
12+
private boolean readonly = false;
13+
private boolean auto = true;
14+
private boolean closed = false;
2415

25-
public ObjectConnectionXML( Map<MetaObject,List<Object>> tables )
26-
{
27-
this.tables = tables;
28-
}
16+
public ObjectConnectionXML(Map<MetaObject, List<Object>> tables) {
17+
this.tables = tables;
18+
}
2919

30-
public Object getDatastoreConnection()
31-
{
32-
return tables;
33-
}
20+
public Object getDatastoreConnection() {
21+
return tables;
22+
}
3423

35-
public void setReadOnly( boolean state )
36-
throws MetaDataException
37-
{
38-
readonly = state;
39-
}
24+
public void setReadOnly(boolean state) throws PersistenceException {
25+
readonly = state;
26+
}
4027

41-
public boolean isReadOnly()
42-
throws MetaDataException
43-
{
44-
return readonly;
45-
}
28+
public boolean isReadOnly() throws PersistenceException {
29+
return readonly;
30+
}
4631

47-
public void setAutoCommit( boolean state )
48-
throws MetaDataException
49-
{
50-
auto = state;
51-
}
32+
public void setAutoCommit(boolean state) throws PersistenceException {
33+
auto = state;
34+
}
5235

53-
public boolean getAutoCommit()
54-
throws MetaDataException
55-
{
56-
return auto;
57-
}
36+
public boolean getAutoCommit() throws PersistenceException {
37+
return auto;
38+
}
5839

59-
public void commit()
60-
throws MetaDataException
61-
{
62-
// Do nothing for now
63-
}
40+
public void commit() throws PersistenceException {
41+
// Do nothing for now
42+
}
6443

65-
public void rollback()
66-
throws MetaDataException
67-
{
68-
// Do nothing for now
69-
}
44+
public void rollback() throws PersistenceException {
45+
// Do nothing for now
46+
}
7047

71-
public void close()
72-
throws MetaDataException
73-
{
74-
closed = true;
75-
}
48+
public void close() throws PersistenceException {
49+
closed = true;
50+
}
7651

77-
public boolean isClosed()
78-
throws MetaDataException
79-
{
80-
return closed;
81-
}
52+
public boolean isClosed() throws PersistenceException {
53+
return closed;
54+
}
8255
}

om/src/main/java/com/draagon/meta/object/managed/ManagedMetaObject.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
/*
2-
* Copyright 2002 Draagon Software LLC. All Rights Reserved.
3-
*
4-
* This software is the proprietary information of Draagon Software LLC.
5-
* Use is subject to license terms.
6-
*/
71
package com.draagon.meta.object.managed;
82

93
import com.draagon.meta.MetaDataException;
@@ -12,7 +6,8 @@
126
import com.draagon.meta.manager.ObjectManager;
137
import com.draagon.meta.manager.StateAwareMetaObject;
148
import com.draagon.meta.object.pojo.PojoMetaObject;
15-
import com.draagon.meta.util.Converter;
9+
import com.draagon.meta.util.DataConverter;
10+
1611
import java.lang.reflect.Method;
1712

1813
@SuppressWarnings("serial")
@@ -265,7 +260,7 @@ public void setValue(MetaField f, Object obj, Object value) //throws MetaExcepti
265260

266261
// Convert the value to the appropriate type
267262
if (value != null && f.getValueClass() != value.getClass()) {
268-
value = Converter.toType(f.getType(), value);
263+
value = DataConverter.toType(f.getDataType(), value);
269264
}
270265

271266
if (hasSetterMethod(f, obj.getClass())) {

0 commit comments

Comments
 (0)