diff options
| author | abranson <andrew.branson@cern.ch> | 2011-08-04 00:42:34 +0200 |
|---|---|---|
| committer | abranson <andrew.branson@cern.ch> | 2011-08-04 00:42:34 +0200 |
| commit | 0ec8481c10cd8277d84c7c1a785483a0a739e5a0 (patch) | |
| tree | 5f6e5d9ae75193e67e6f3b3dfa488960c5cde1d5 /source/com/c2kernel/entity/transfer | |
| parent | 036cbdba66f804743c4c838ed598d6972c4b3e17 (diff) | |
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
Diffstat (limited to 'source/com/c2kernel/entity/transfer')
| -rw-r--r-- | source/com/c2kernel/entity/transfer/TransferItem.java | 48 | ||||
| -rw-r--r-- | source/com/c2kernel/entity/transfer/TransferSet.java | 40 |
2 files changed, 43 insertions, 45 deletions
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<String> domainPaths;
@@ -31,7 +37,7 @@ public class TransferItem { this.sysKey = sysKey;
domainPaths = new ArrayList<String>();
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<C2KLocalObject> objects = new ArrayList<C2KLocalObject>();
- 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<C2KLocalObject> 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<TransferItem> items;
-
+
public TransferSet() {
}
-
+
public TransferSet(int[] sysKeys) {
items = new ArrayList<TransferItem>();
- 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);
- }
+ }
}
}
|
