diff options
Diffstat (limited to 'src/main/java/com/c2kernel/process')
6 files changed, 27 insertions, 54 deletions
diff --git a/src/main/java/com/c2kernel/process/AbstractMain.java b/src/main/java/com/c2kernel/process/AbstractMain.java index ad21b78..0baf9ce 100644 --- a/src/main/java/com/c2kernel/process/AbstractMain.java +++ b/src/main/java/com/c2kernel/process/AbstractMain.java @@ -36,25 +36,6 @@ abstract public class AbstractMain public static String MAIN_ARG_LOGLEVEL = "logLevel";
public static String MAIN_ARG_LOGFILE = "logFile";
public static String MAIN_ARG_CONNECT = "connect";
- public static String MAIN_ARG_HELP = "help";
- public static String MAIN_ARG_HELPSHORT = "h";
-
- /**
- *
- * -noNewLogStream: if present no new Logstream is added to the logger (
- * considers that the Logger is already configured)
- *
- * @return help informations
- */
- public static String usageHelp() {
-
- return "USAGE: com.c2kernel.process.AbstractMain \n"
- + " -config <server/client config file> \n"
- + " [-connect <LC connect file> ] (or LocalCentre in conf)\n"
- + " [-h] [-help] \n" + " [-logLevel 0-19] \n"
- + " [-logFile <path to log file>]"
- + " [-noNewLogStream ]";
- }
@@ -122,12 +103,12 @@ abstract public class AbstractMain Logger.addLogStream(logStream, logLevel);
}
- Logger.msg(0, String.format(
- "AbstractMain.readC2KArgs(): New logStream added = [%b]",
- wMustAddNewLogStream));
+ if (wMustAddNewLogStream) Logger.msg(
+ String.format("New logStream added at logLevel %d: %s", logLevel, logStream.getClass().getName()));
// Dump params if log high enough
+
if (Logger.doLog(3)) for (Enumeration<?> e = argProps.propertyNames(); e.hasMoreElements();) {
String next = (String)e.nextElement();
System.out.println("AbstractMain: Param "+next+": "+argProps.getProperty(next));
diff --git a/src/main/java/com/c2kernel/process/Bootstrap.java b/src/main/java/com/c2kernel/process/Bootstrap.java index bc93676..46e2cb6 100644 --- a/src/main/java/com/c2kernel/process/Bootstrap.java +++ b/src/main/java/com/c2kernel/process/Bootstrap.java @@ -106,7 +106,7 @@ public class Bootstrap String itemName = thisItem.substring(delim+1);
try {
String location = "boot/"+thisItem+(itemType.equals("OD")?".xsd":".xml");
- verifyResource(ns, itemName, 0, itemType, location, 0, reset);
+ verifyResource(ns, itemName, 0, itemType, location, reset);
} catch (Exception e) {
Logger.error(e);
Logger.die("Error importing bootstrap items. Unsafe to continue.");
@@ -115,7 +115,7 @@ public class Bootstrap }
- public static DomainPath verifyResource(String ns, String itemName, Integer version, String itemType, String dataLocation, int layer, boolean reset) throws Exception {
+ public static DomainPath verifyResource(String ns, String itemName, Integer version, String itemType, String dataLocation, boolean reset) throws Exception {
if (version == null) version = 0;
LookupManager lookupManager = Gateway.getLookupManager();
ResourceImportHandler typeImpHandler = getHandler(itemType);
@@ -127,7 +127,7 @@ public class Bootstrap Iterator<Path> en = Gateway.getLookup().search(typeImpHandler.getTypeRoot(), itemName);
if (!en.hasNext()) {
Logger.msg("Bootstrap.verifyResource() - "+typeImpHandler.getName()+" "+itemName+" not found. Creating new.");
- thisProxy = createResourceItem(typeImpHandler, itemName, layer, ns);
+ thisProxy = createResourceItem(typeImpHandler, itemName, ns);
}
else {
DomainPath path = (DomainPath)en.next();
@@ -151,15 +151,6 @@ public class Bootstrap Gateway.getStorage().put(thisProxy.getSystemKey(), new Property("Module", moduleName, false), thisProxy);
}
- // overwrite layer if different
- int currentLayer = -1;
- try {
- String layerProp = thisProxy.getProperty("Layer");
- currentLayer = Integer.parseInt(layerProp);
- } catch (Exception e) { }
- if (currentLayer != layer)
- Gateway.getStorage().put(thisProxy.getSystemKey(), new Property("Layer", String.valueOf(layer), false), thisProxy);
-
if (!modDomPath.equals(path)) { // move item to module subtree
Logger.msg("Module item "+itemName+" found with path "+path.toString()+". Moving to "+modDomPath.toString());
modDomPath.setEntity(new ItemPath(thisProxy.getSystemKey()));
@@ -195,13 +186,15 @@ public class Bootstrap }
// data was missing or doesn't match
- // validate it
- OutcomeValidator validator = OutcomeValidator.getValidator(LocalObjectLoader.getSchema(newOutcome.getSchemaType(), newOutcome.getSchemaVersion()));
- String error = validator.validate(newOutcome.getData());
- if (error.length() > 0) {
- Logger.error("Outcome not valid: \n " + error);
- throw new InvalidDataException(error, "");
- }
+ // validate it (but not for kernel objects because we need those to validate the rest)
+ if (ns!= null) {
+ OutcomeValidator validator = OutcomeValidator.getValidator(LocalObjectLoader.getSchema(newOutcome.getSchemaType(), newOutcome.getSchemaVersion()));
+ String error = validator.validate(newOutcome.getData());
+ if (error.length() > 0) {
+ Logger.error("Outcome not valid: \n " + error);
+ throw new InvalidDataException(error, "");
+ }
+ }
// store
Logger.msg("Bootstrap.verifyResource() - Writing new "+newOutcome.getSchemaType()+" v"+version+" to "+typeImpHandler.getName()+" "+itemName);
@@ -246,10 +239,9 @@ public class Bootstrap /**
* @param itemType
* @param itemName
- * @param layer
* @param data
*/
- private static ItemProxy createResourceItem(ResourceImportHandler impHandler, String itemName, int layer, String ns) throws Exception {
+ private static ItemProxy createResourceItem(ResourceImportHandler impHandler, String itemName, String ns) throws Exception {
// create props
PropertyDescriptionList pdList = impHandler.getPropDesc();
PropertyArrayList props = new PropertyArrayList();
@@ -258,12 +250,7 @@ public class Bootstrap for (int i = 0; i < pdList.list.size(); i++) {
PropertyDescription pd = pdList.list.get(i);
String propName = pd.getName();
- String propVal;
- if (propName.equals("Name"))
- propVal = itemName;
- else if (propName.equals("Layer"))
- propVal = String.valueOf(layer);
- else propVal = pd.getDefaultValue();
+ String propVal = propName.equals("Name")?itemName:pd.getDefaultValue();
props.list.add(new Property(propName, propVal, pd.getIsMutable()));
}
diff --git a/src/main/java/com/c2kernel/process/ClientShell.java b/src/main/java/com/c2kernel/process/ClientShell.java index 9f1d3ab..eeeb07f 100644 --- a/src/main/java/com/c2kernel/process/ClientShell.java +++ b/src/main/java/com/c2kernel/process/ClientShell.java @@ -5,6 +5,7 @@ import java.util.Scanner; import com.c2kernel.entity.proxy.AgentProxy;
import com.c2kernel.process.auth.ProxyLogin;
import com.c2kernel.scripting.Script;
+import com.c2kernel.scripting.ScriptParsingException;
public class ClientShell extends StandardClient {
@@ -21,13 +22,15 @@ public class ClientShell extends StandardClient { System.out.print("> ");
while (scan.hasNextLine()) {
String command = scan.nextLine();
- console.setScript(command);
try {
+ console.setScript(command);
Object response = console.execute();
if (response == null)
System.out.println("Ok");
else
System.out.println(response);
+ } catch (ScriptParsingException e) {
+ System.err.println("Syntax error: "+e.getMessage());
} catch (Throwable ex) {
ex.printStackTrace();
}
diff --git a/src/main/java/com/c2kernel/process/Gateway.java b/src/main/java/com/c2kernel/process/Gateway.java index cd76d0e..85262e8 100644 --- a/src/main/java/com/c2kernel/process/Gateway.java +++ b/src/main/java/com/c2kernel/process/Gateway.java @@ -108,7 +108,11 @@ public class Gateway // load kernel mapfiles giving the resourse loader and the properties of
// the application to be able to configure castor
- mMarshaller = new CastorXMLUtility(mResource, props, "mapFiles/");
+ try {
+ mMarshaller = new CastorXMLUtility(mResource, props, mResource.getKernelResourceURL("mapFiles/"));
+ } catch (MalformedURLException e1) {
+ throw new InvalidDataException("Invalid Resource Location", "");
+ }
// init module manager
diff --git a/src/main/java/com/c2kernel/process/module/Module.java b/src/main/java/com/c2kernel/process/module/Module.java index 195c883..1272026 100644 --- a/src/main/java/com/c2kernel/process/module/Module.java +++ b/src/main/java/com/c2kernel/process/module/Module.java @@ -57,7 +57,6 @@ public class Module { moduleItem.properties.add(new com.c2kernel.property.Property("Namespace", ns, false));
moduleItem.properties.add(new com.c2kernel.property.Property("Name", name, false));
moduleItem.properties.add(new com.c2kernel.property.Property("Type", "Module", false));
- moduleItem.properties.add(new com.c2kernel.property.Property("Layer", String.valueOf(info.layer), true));
moduleItem.properties.add(new com.c2kernel.property.Property("Version", info.version, true));
// Add dependency for all children
ImportDependency children = new ImportDependency("Contents");
@@ -81,7 +80,7 @@ public class Module { for (ModuleResource thisRes : imports.getResources()) {
try {
thisRes.path = Bootstrap.verifyResource(ns, thisRes.name, thisRes.version,
- thisRes.resourceType, thisRes.resourceLocation, info.layer, reset);
+ thisRes.resourceType, thisRes.resourceLocation, reset);
} catch (Exception ex) {
Logger.error(ex);
Logger.die("Error importing module resources. Unsafe to continue.");
diff --git a/src/main/java/com/c2kernel/process/module/ModuleInfo.java b/src/main/java/com/c2kernel/process/module/ModuleInfo.java index 646a915..55e02c9 100644 --- a/src/main/java/com/c2kernel/process/module/ModuleInfo.java +++ b/src/main/java/com/c2kernel/process/module/ModuleInfo.java @@ -6,7 +6,6 @@ public class ModuleInfo { public String desc;
public String version;
- public int layer = 0;
public ArrayList<String> dependency = new ArrayList<String>();
public ModuleInfo() {
|
