You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2011/05/19 01:28:51 UTC
svn commit: r1124463 -
/labs/magma/trunk/database-mongodb/src/main/java/org/apache/magma/database/mongo/MongoEntityDoc.aj
Author: simoneg
Date: Wed May 18 23:28:51 2011
New Revision: 1124463
URL: http://svn.apache.org/viewvc?rev=1124463&view=rev
Log:
Fix to persist properties set in the constructor
Modified:
labs/magma/trunk/database-mongodb/src/main/java/org/apache/magma/database/mongo/MongoEntityDoc.aj
Modified: labs/magma/trunk/database-mongodb/src/main/java/org/apache/magma/database/mongo/MongoEntityDoc.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/database-mongodb/src/main/java/org/apache/magma/database/mongo/MongoEntityDoc.aj?rev=1124463&r1=1124462&r2=1124463&view=diff
==============================================================================
--- labs/magma/trunk/database-mongodb/src/main/java/org/apache/magma/database/mongo/MongoEntityDoc.aj (original)
+++ labs/magma/trunk/database-mongodb/src/main/java/org/apache/magma/database/mongo/MongoEntityDoc.aj Wed May 18 23:28:51 2011
@@ -96,6 +96,7 @@ public aspect MongoEntityDoc {
void MongoEntity.prepareForDb(Transaction t) {
this.myTransaction = t;
+ this.checkGetBson();
if (this.entityDocNeedsInit) {
BeanData bd = this.beanData();
this.entityDoc.put("_jcl", getMyTransaction().getMeta().convertToName(this.getClass()));
@@ -111,7 +112,20 @@ public aspect MongoEntityDoc {
((WithDefaultVersion)this).setVersion(1);
}
}
- }
+
+ // It's the first time we are persisting this entity, look for values getters
+ BeanHandler bh = this.handler();
+ Set<String> pinames = bd.getPropertyNames();
+ for (String piname : pinames) {
+ PropertyInfo prop = bd.getProperty(piname);
+ if (!prop.isReadable()) continue;
+ if (prop.isJpaId() || prop.isJpaVersion() || prop.isJpaTransient()) continue;
+ boolean read = prop.isBasicType() || (prop.isMongoPersisted() && !prop.isMap() && !prop.isCollection());
+ if (read) {
+ bh.getValue(piname);
+ }
+ }
+ }
}
Transaction MongoEntity.getMyTransaction() {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org