From d0e42f669232987359ae3431b310530dc588fc6f Mon Sep 17 00:00:00 2001 From: ogattaz Date: Thu, 28 Aug 2014 11:05:51 +0200 Subject: pull master devs --- .../java/com/c2kernel/process/AbstractMain.java | 25 ++----------- src/main/java/com/c2kernel/process/Bootstrap.java | 41 ++++++++-------------- .../java/com/c2kernel/process/ClientShell.java | 5 ++- src/main/java/com/c2kernel/process/Gateway.java | 6 +++- .../java/com/c2kernel/process/module/Module.java | 3 +- .../com/c2kernel/process/module/ModuleInfo.java | 1 - 6 files changed, 27 insertions(+), 54 deletions(-) (limited to 'src/main/java/com/c2kernel/process') 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 \n" - + " [-connect ] (or LocalCentre in conf)\n" - + " [-h] [-help] \n" + " [-logLevel 0-19] \n" - + " [-logFile ]" - + " [-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 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 dependency = new ArrayList(); public ModuleInfo() { -- cgit v1.2.3