From 0ec8481c10cd8277d84c7c1a785483a0a739e5a0 Mon Sep 17 00:00:00 2001 From: abranson Date: Thu, 4 Aug 2011 00:42:34 +0200 Subject: More code cleanup: Refactored Entity Proxy Subscription to handle generics better Rewrote RemoteMap to use TreeMap instead of the internal array for order. It now sorts its keys by number if they parse, else as strings. Removed a no-longer-in-progress outcome form class --- .../com/c2kernel/entity/transfer/TransferItem.java | 48 +++++++++++----------- .../com/c2kernel/entity/transfer/TransferSet.java | 40 ++++++++---------- 2 files changed, 43 insertions(+), 45 deletions(-) (limited to 'source/com/c2kernel/entity/transfer') diff --git a/source/com/c2kernel/entity/transfer/TransferItem.java b/source/com/c2kernel/entity/transfer/TransferItem.java index e4e84ec..9234650 100644 --- a/source/com/c2kernel/entity/transfer/TransferItem.java +++ b/source/com/c2kernel/entity/transfer/TransferItem.java @@ -1,17 +1,23 @@ package com.c2kernel.entity.transfer; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Enumeration; import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.entity.*; +import com.c2kernel.entity.C2KLocalObject; +import com.c2kernel.entity.TraceableEntity; import com.c2kernel.lifecycle.instance.Workflow; -import com.c2kernel.lookup.*; +import com.c2kernel.lookup.DomainPath; +import com.c2kernel.lookup.EntityPath; import com.c2kernel.persistency.ClusterStorage; import com.c2kernel.persistency.outcome.Outcome; import com.c2kernel.process.Gateway; -import com.c2kernel.property.*; -import com.c2kernel.utils.*; +import com.c2kernel.property.Property; +import com.c2kernel.property.PropertyArrayList; +import com.c2kernel.utils.CastorXMLUtility; +import com.c2kernel.utils.FileStringUtility; +import com.c2kernel.utils.Logger; public class TransferItem { public ArrayList domainPaths; @@ -31,7 +37,7 @@ public class TransferItem { this.sysKey = sysKey; domainPaths = new ArrayList(); Property name = (Property)Gateway.getStorage().get(sysKey, ClusterStorage.PROPERTY + "/Name", null); - Enumeration paths = Gateway.getLDAPLookup().search(new DomainPath(), name.getValue()); + Enumeration paths = Gateway.getLDAPLookup().search(new DomainPath(), name.getValue()); while (paths.hasMoreElements()) { DomainPath thisPath = (DomainPath)paths.nextElement(); domainPaths.add(thisPath.toString()); @@ -43,8 +49,8 @@ public class TransferItem { String[] contents = Gateway.getStorage().getClusterContents(sysKey, path); if (contents.length > 0) { FileStringUtility.createNewDir(dir.getCanonicalPath()); - for (int i = 0; i < contents.length; i++) { - exportItem(new File(dir, contents[i]), path + "/" + contents[i]); + for (String content : contents) { + exportItem(new File(dir, content), path + "/" + content); } } else { //no children, try to dump object try { @@ -66,12 +72,11 @@ public class TransferItem { } catch (Exception ex) { } - ArrayList events, outcomes, viewpoints = new ArrayList(); // retrieve objects - ArrayList objectFiles = FileStringUtility.listDir(dir.getCanonicalPath(), false, true); + ArrayList objectFiles = FileStringUtility.listDir(dir.getCanonicalPath(), false, true); ArrayList objects = new ArrayList(); - for (Iterator iter = objectFiles.iterator(); iter.hasNext();) { - String element = (String)iter.next(); + for (Object name : objectFiles) { + String element = (String)name; String xmlFile = FileStringUtility.file2String(element); C2KLocalObject newObj; String choppedPath = element.substring(dir.getCanonicalPath().length()+1, element.length()-4); @@ -88,12 +93,11 @@ public class TransferItem { EntityPath entityPath = new EntityPath(sysKey); TraceableEntity newItem = (TraceableEntity)Gateway.getCorbaServer().createEntity(entityPath); Gateway.getLDAPLookup().add(entityPath); - + PropertyArrayList props = new PropertyArrayList(); Workflow wf = null; // put objects - for (Iterator iter = objects.iterator(); iter.hasNext();) { - C2KLocalObject obj = (C2KLocalObject)iter.next(); + for (C2KLocalObject obj : objects) { if (obj instanceof Property) props.list.add((Property)obj); else if (obj instanceof Workflow) @@ -102,7 +106,7 @@ public class TransferItem { if (wf == null) throw new Exception("No workflow found in import for "+sysKey); - + // init item newItem.initialise(importAgentId, CastorXMLUtility.marshall(props), CastorXMLUtility.marshall(wf.search("workflow/domain"))); @@ -113,19 +117,17 @@ public class TransferItem { importByType(ClusterStorage.VIEWPOINT, objects); Gateway.getStorage().commit(this); // add domPaths - for (Iterator iter = domainPaths.iterator(); iter.hasNext();) { - String element = (String)iter.next(); + for (String element : domainPaths) { DomainPath newPath = new DomainPath(element, entityPath); Gateway.getLDAPLookup().add(newPath); } } - - private void importByType(String type, ArrayList objects) throws Exception { - for (Iterator iter = objects.iterator(); iter.hasNext();) { - C2KLocalObject element = (C2KLocalObject)iter.next(); + + private void importByType(String type, ArrayList objects) throws Exception { + for (C2KLocalObject element : objects) { if (element.getClusterType().equals(type)) Gateway.getStorage().put(sysKey, element, this); } - + } } \ No newline at end of file diff --git a/source/com/c2kernel/entity/transfer/TransferSet.java b/source/com/c2kernel/entity/transfer/TransferSet.java index f67ba9c..71a593a 100644 --- a/source/com/c2kernel/entity/transfer/TransferSet.java +++ b/source/com/c2kernel/entity/transfer/TransferSet.java @@ -2,7 +2,6 @@ package com.c2kernel.entity.transfer; import java.io.File; import java.util.ArrayList; -import java.util.Iterator; import com.c2kernel.lookup.EntityPath; import com.c2kernel.lookup.NextKeyManager; @@ -23,36 +22,35 @@ import com.c2kernel.utils.Logger; public class TransferSet { public ArrayList items; - + public TransferSet() { } - + public TransferSet(int[] sysKeys) { items = new ArrayList(); - for (int i = 0; i < sysKeys.length; i++) { + for (int sysKey : sysKeys) { try { - items.add(new TransferItem(sysKeys[i])); + items.add(new TransferItem(sysKey)); } catch (Exception ex) { - Logger.error("Could not add item "+sysKeys[i]); + Logger.error("Could not add item "+sysKey); Logger.error(ex); } } } - + public void exportPackage(File dir) throws Exception { if (items==null || items.size() == 0) throw new Exception("Nothing to dump"); FileStringUtility.createNewDir(dir.getAbsolutePath()); - for (Iterator iter = items.iterator(); iter.hasNext();) { - TransferItem element = (TransferItem)iter.next(); + for (TransferItem element : items) { try { element.exportItem(new File(dir, String.valueOf(element.sysKey)), "/"); } catch (Exception ex) { - Logger.error("Error dumping item "+element.sysKey); - Logger.error(ex); + Logger.error("Error dumping item "+element.sysKey); + Logger.error(ex); } } - + try { String self = CastorXMLUtility.marshall(this); FileStringUtility.string2File(new File(dir, "transferSet.xml"), self); @@ -61,10 +59,9 @@ public class TransferSet { Logger.error(ex); } } - + public void importPackage(File rootDir) { - for (Iterator iter = items.iterator(); iter.hasNext();) { - TransferItem element = (TransferItem)iter.next(); + for (TransferItem element : items) { Logger.msg(5, "Importing "+element.sysKey); try { element.importItem(new File(rootDir, String.valueOf(element.sysKey))); @@ -76,24 +73,23 @@ public class TransferSet { } checkLastKey(); } - + private void checkLastKey() - { + { // find highest key in out import set int packageLastKey = 0; - for (Iterator iter = items.iterator(); iter.hasNext();) { - TransferItem element = (TransferItem)iter.next(); + for (TransferItem element : items) { if (element.sysKey > packageLastKey) packageLastKey = element.sysKey; } - + try { // find the current last key NextKeyManager nextKeyMan = Gateway.getLDAPLookup().getNextKeyManager(); EntityPath lastKey = nextKeyMan.getLastEntityPath(); Logger.msg(1, "Last key imported was "+packageLastKey+". LDAP lastkey was "+lastKey.getSysKey()); - + if (packageLastKey > lastKey.getSysKey()) { // set new last Logger.msg(1, "Updating lastKey to "+packageLastKey); nextKeyMan.writeLastEntityKey(packageLastKey); @@ -102,6 +98,6 @@ public class TransferSet { catch (Exception ex) { Logger.error("Exception::LoadKeys::processFile() " + ex); - } + } } } -- cgit v1.2.3