import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
import java.util.List;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.korabo.app.vaadin01.ent.Contact;
-import net.korabo.lib.beans.InstanceUtil;
/**
*
private static ContactService instance;
private static OPartitionedDatabasePool pool;
- public static ContactService createDemoService(){
+ public static ContactService createDemoService() {
try {
return createService0();
} catch (IOException ex) {
}
return null;
}
-
+
private static ContactService createService0() throws IOException {
if (instance == null) {
String url = remote + nameDB;
OServerAdmin serverAdmin = new OServerAdmin(url).connect("root", "korabo");
- if (!serverAdmin.listDatabases().containsKey(nameDB)){
+ if (!serverAdmin.listDatabases().containsKey(nameDB)) {
serverAdmin.createDatabase(nameDB, "object", "plocal");
System.out.println(" Database '" + nameDB + "' created!..");
}
try (
OObjectDatabaseTx db = new OObjectDatabaseTx(pool.acquire())) {
db.getEntityManager().registerEntityClass(Contact.class);
+
if (db.countClass(Contact.class) == 0) {
// init
Random r = new Random(0);
cal.set(1930 + r.nextInt(70),
r.nextInt(11), r.nextInt(28));
contact.setBirthDate(cal.getTime());
- db.save(contact);
+ db.attachAndSave(contact);
}
db.commit();
}
OObjectDatabaseTx db = new OObjectDatabaseTx(pool.acquire())) {
db.getEntityManager().registerEntityClass(Contact.class);
for (Contact contact : db.browseClass(Contact.class)) {
- boolean passesFilter = (stringFilter == null || stringFilter.isEmpty())
- || contact.toString().toLowerCase()
- .contains(stringFilter.toLowerCase());
- if (passesFilter) {
- contact = db.detach(contact);
- arrayList.add(contact);
- }
+ boolean passesFilter = (stringFilter == null || stringFilter.isEmpty())
+ || contact.toString().toLowerCase()
+ .contains(stringFilter.toLowerCase());
+ if (passesFilter) {
+// contact = db.detach(contact);
+ arrayList.add(db.detach(contact, true));
+ }
}
}
}
public synchronized void save(Contact entry) {
+ try (
+ OObjectDatabaseTx db = new OObjectDatabaseTx(pool.acquire())) {
+ db.getEntityManager().registerEntityClass(Contact.class);
+ db.begin();
+ db.attachAndSave(entry);
+ db.commit();
+ }
// if (entry.getId() == null) {
// entry.setId(nextId++);
// }