Revision: 163
http://polepos.svn.sourceforge.net/polepos/?rev=163&view=rev
Author: carlrosenberger
Date: 2010-12-20 17:57:36 +0000 (Mon, 20 Dec 2010)
Log Message:
-----------
cr + acv: Modified the update code for the complex circuit.
Modified Paths:
--------------
trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java
trunk/polepos/src/org/polepos/teams/hibernate/ComplexHibernate.java
trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java
trunk/polepos/src/org/polepos/teams/jdo/ComplexJdo.java
Modified: trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java
===================================================================
--- trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java 2010-12-10 18:51:17 UTC (rev 162)
+++ trunk/polepos/src/org/polepos/teams/db4o/ComplexDb4o.java 2010-12-20 17:57:36 UTC (rev 163)
@@ -89,12 +89,7 @@
public void visit(ComplexHolder0 holder) {
addToCheckSum(holder.ownCheckSum());
holder.setName("updated");
- ComplexHolder2 newChild = new ComplexHolder2();
- newChild._i1 = 1;
- newChild._i2 = 2;
- newChild.setName("added");
- holder.addChild(newChild);
- store(holder.getChildren());
+ holder.setArray(null);
store(holder);
}
});
Modified: trunk/polepos/src/org/polepos/teams/hibernate/ComplexHibernate.java
===================================================================
--- trunk/polepos/src/org/polepos/teams/hibernate/ComplexHibernate.java 2010-12-10 18:51:17 UTC (rev 162)
+++ trunk/polepos/src/org/polepos/teams/hibernate/ComplexHibernate.java 2010-12-20 17:57:36 UTC (rev 163)
@@ -93,11 +93,7 @@
public void visit(ComplexHolder0 holder) {
addToCheckSum(holder.ownCheckSum());
holder.setName("updated");
- ComplexHolder2 newChild = new ComplexHolder2();
- newChild.setI1(1);
- newChild.setI2(2);
- newChild.setName("added");
- holder.addChild(newChild);
+ holder.setArray(null);
store(holder);
}
});
Modified: trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java
===================================================================
--- trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java 2010-12-10 18:51:17 UTC (rev 162)
+++ trunk/polepos/src/org/polepos/teams/jdbc/ComplexJdbc.java 2010-12-20 17:57:36 UTC (rev 163)
@@ -285,8 +285,28 @@
}
complexHolder0Stat.setInt(1, id);
ResultSet resultSet0 = executeQuery(complexHolder0Stat);
+ ComplexHolder0 holder = null;
int type = resultSet0.getInt(TYPE);
- ComplexHolder0 holder = (ComplexHolder0) ComplexHolder0.FACTORIES[type].run();
+ switch (type){
+ case 0:
+ holder = new ComplexHolder0();
+ break;
+ case 1:
+ holder = new ComplexHolder1();
+ break;
+ case 2:
+ holder = new ComplexHolder2();
+ break;
+ case 3:
+ holder = new ComplexHolder3();
+ break;
+ case 4:
+ holder = new ComplexHolder4();
+ break;
+ default:
+ throw new IllegalStateException("Valid type int 0 to 4 expected. Found:" + type);
+
+ }
holder.setId(id);
read.put(id, holder);
@@ -439,14 +459,7 @@
@Override
public void update() {
final PreparedStatement nameStat = prepareStatement("update " + HOLDER_TABLE0 + " set name=? where id=?");
- final PreparedStatement complexHolder0Stat = prepareStatement("insert into " + HOLDER_TABLE0 + " (id, name, type) values (?,?,?)");
- final PreparedStatement[] complexHolderStats = new PreparedStatement[2];
- for (int i = 0; i < complexHolderStats.length; i++) {
- int idx = i + 1;
- String table = HOLDER_TABLES[i];
- complexHolderStats[i] = prepareStatement("insert into " + table + "(id, i" + idx + ") values (?,?)");
- }
- final PreparedStatement childrenStat = prepareStatement("insert into children (parent, child, pos) values (?,?,?)");
+ final PreparedStatement arrayDeleteStat = prepareStatement("delete from " + ARRAY_TABLE + " where parent = ?");
ComplexHolder0 holder = readRootInternal();
holder.traverse(new NullVisitor(),
new Visitor<ComplexHolder0>(){
@@ -457,45 +470,18 @@
nameStat.setString(1, "updated");
nameStat.setInt(2, holder.getId());
nameStat.addBatch();
-
- ComplexHolder2 newChild = new ComplexHolder2();
- newChild.setName("added");
- holder.addChild(newChild);
- int childId = (int) _idGenerator.nextId();
-
- complexHolder0Stat.setInt(ID, childId);
- complexHolder0Stat.setString(NAME, "added");
- complexHolder0Stat.setInt(TYPE, 2);
- complexHolder0Stat.addBatch();
-
- for (int i = 0; i < complexHolderStats.length; i++) {
- complexHolderStats[i].setInt(1, childId);
- complexHolderStats[i].setInt(2, i + 1);
- complexHolderStats[i].addBatch();
- }
-
- childrenStat.setInt(1, holder.getId());
- childrenStat.setInt(2, childId);
- childrenStat.setInt(3, holder.getChildren().size());
- childrenStat.addBatch();
-
+ arrayDeleteStat.setInt(1, holder.getId());
+ arrayDeleteStat.addBatch();
} catch (Exception e) {
throw new RuntimeException(e);
}
-
}
});
try {
nameStat.executeBatch();
nameStat.close();
- complexHolder0Stat.executeBatch();
- complexHolder0Stat.close();
- for (int i = 0; i < complexHolderStats.length; i++) {
- complexHolderStats[i].executeBatch();
- complexHolderStats[i].close();
- }
- childrenStat.executeBatch();
- childrenStat.close();
+ arrayDeleteStat.executeBatch();
+ arrayDeleteStat.close();
} catch (Exception e) {
throw new RuntimeException(e);
}
Modified: trunk/polepos/src/org/polepos/teams/jdo/ComplexJdo.java
===================================================================
--- trunk/polepos/src/org/polepos/teams/jdo/ComplexJdo.java 2010-12-10 18:51:17 UTC (rev 162)
+++ trunk/polepos/src/org/polepos/teams/jdo/ComplexJdo.java 2010-12-20 17:57:36 UTC (rev 163)
@@ -104,11 +104,7 @@
public void visit(ComplexHolder0 holder) {
addToCheckSum(holder.ownCheckSum());
holder.setName("updated");
- ComplexHolder2 newChild = new ComplexHolder2();
- newChild.setI1(1);
- newChild.setI2(2);
- newChild.setName("added");
- holder.addChild(newChild);
+ holder.setArray(null);
}
});
commit();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|