summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/c2kernel/process/Bootstrap.java16
-rw-r--r--src/main/java/com/c2kernel/process/Gateway.java1
-rw-r--r--src/main/java/com/c2kernel/process/StandardClient.java9
-rw-r--r--src/main/java/com/c2kernel/process/module/Module.java (renamed from src/main/java/com/c2kernel/process/Module.java)25
-rw-r--r--src/main/java/com/c2kernel/process/module/ModuleException.java (renamed from src/main/java/com/c2kernel/process/ModuleException.java)2
-rw-r--r--src/main/java/com/c2kernel/process/module/ModuleManager.java (renamed from src/main/java/com/c2kernel/process/ModuleManager.java)3
-rw-r--r--src/main/java/com/c2kernel/utils/KeyValuePair.java8
7 files changed, 33 insertions, 31 deletions
diff --git a/src/main/java/com/c2kernel/process/Bootstrap.java b/src/main/java/com/c2kernel/process/Bootstrap.java
index 99b40f3..39a13d2 100644
--- a/src/main/java/com/c2kernel/process/Bootstrap.java
+++ b/src/main/java/com/c2kernel/process/Bootstrap.java
@@ -60,9 +60,11 @@ public class Bootstrap
Thread.currentThread().setName("Bootstrapper");
// make sure all of the boot items are up-to-date
+ Logger.msg("Bootstrap.run() - Verifying kernel boot data items");
verifyBootDataItems();
// verify the server item's wf
+ Logger.msg("Bootstrap.run() - Initialising Server Item Workflow");
initServerItemWf();
// register modules
@@ -159,6 +161,18 @@ public class Bootstrap
String propVal = propName.equals("Name")?itemName:pd.getDefaultValue();
props.list.add(new Property(propName, propVal));
}
+
+ // HACK: this gives all module resources a workflow. Maybe have a 'debug' flag in the module xml or server config to do this. Normally module resources should be read-only, as they would be reset at next boot.
+ CompositeActivity ca = new CompositeActivity();
+ if (ns!=null) {
+ String wf;
+ if (itemType.equals("CA")) wf = "ManageCompositeActDef";
+ else if (itemType.equals("EA")) wf = "ManageElementaryActDef";
+ else if (itemType.equals("OD")) wf = "ManageSchema";
+ else if (itemType.equals("SC")) wf = "ManageScript";
+ else throw new Exception("Unknown bootstrap item type: "+itemType);
+ ca = (CompositeActivity) ((CompositeActivityDef)LocalObjectLoader.getActDef(wf, "last")).instantiate();
+ }
EntityPath entityPath = Gateway.getLDAPLookup().getNextKeyManager().generateNextEntityKey();
TraceableEntity newItem = (TraceableEntity)Gateway.getCorbaServer().createEntity(entityPath);
@@ -166,7 +180,7 @@ public class Bootstrap
newItem.initialise(
1,
CastorXMLUtility.marshall(props),
- CastorXMLUtility.marshall(new CompositeActivity()));
+ CastorXMLUtility.marshall(ca));
DomainPath newDomPath = new DomainPath(getTypeRoot(itemType).toString()+"/system/"+(ns==null?"kernel":ns)+"/"+itemName);
newDomPath.setEntity(entityPath);
Gateway.getLDAPLookup().add(newDomPath);
diff --git a/src/main/java/com/c2kernel/process/Gateway.java b/src/main/java/com/c2kernel/process/Gateway.java
index 399a81b..82357d8 100644
--- a/src/main/java/com/c2kernel/process/Gateway.java
+++ b/src/main/java/com/c2kernel/process/Gateway.java
@@ -19,6 +19,7 @@ import com.c2kernel.lookup.LDAPLookup;
import com.c2kernel.lookup.LDAPProperties;
import com.c2kernel.persistency.ClusterStorageException;
import com.c2kernel.persistency.TransactionManager;
+import com.c2kernel.process.module.ModuleManager;
import com.c2kernel.utils.CastorXMLUtility;
import com.c2kernel.utils.FileStringUtility;
import com.c2kernel.utils.Language;
diff --git a/src/main/java/com/c2kernel/process/StandardClient.java b/src/main/java/com/c2kernel/process/StandardClient.java
index f6f48ed..2ef6107 100644
--- a/src/main/java/com/c2kernel/process/StandardClient.java
+++ b/src/main/java/com/c2kernel/process/StandardClient.java
@@ -10,9 +10,14 @@
package com.c2kernel.process;
+import com.c2kernel.entity.proxy.AgentProxy;
+
abstract public class StandardClient extends AbstractMain
-{
+{
- //TODO: Auto-update from server
+ static public void main(String[] args) throws Exception {
+ Gateway.init(readC2KArgs(args), false);
+ AgentProxy user = Gateway.connect("username", "password");
+ }
}
diff --git a/src/main/java/com/c2kernel/process/Module.java b/src/main/java/com/c2kernel/process/module/Module.java
index 6e5f8d1..08ea4dc 100644
--- a/src/main/java/com/c2kernel/process/Module.java
+++ b/src/main/java/com/c2kernel/process/module/Module.java
@@ -1,4 +1,4 @@
-package com.c2kernel.process;
+package com.c2kernel.process.module;
import java.io.StringReader;
import java.util.ArrayList;
@@ -28,6 +28,8 @@ import com.c2kernel.lifecycle.instance.stateMachine.Transitions;
import com.c2kernel.lookup.DomainPath;
import com.c2kernel.persistency.outcome.Outcome;
import com.c2kernel.persistency.outcome.Viewpoint;
+import com.c2kernel.process.Bootstrap;
+import com.c2kernel.process.Gateway;
import com.c2kernel.scripting.ErrorInfo;
import com.c2kernel.scripting.Script;
import com.c2kernel.scripting.ScriptingEngineException;
@@ -291,25 +293,4 @@ public class Module {
public boolean hasDependency(String dep) {
return dependency.contains(dep);
}
-
- public abstract class ModuleImport {
- String importName;
- }
-
- public class ModuleResource extends ModuleImport {
- String resourceType;
- String resourceLocation;
- }
-
- public class ModuleItem extends ModuleImport {
- ArrayList<Property> props = new ArrayList<Property>();
- HashMap<String, String> outcomes = new HashMap<String, String>();
- ArrayList<Dependency> deps = new ArrayList<Dependency>();
- String workflow;
- }
-
- public class ModuleAgent extends ModuleImport {
- String password;
- ArrayList<String> roles = new ArrayList<String>();
- }
} \ No newline at end of file
diff --git a/src/main/java/com/c2kernel/process/ModuleException.java b/src/main/java/com/c2kernel/process/module/ModuleException.java
index 5e60801..cc15565 100644
--- a/src/main/java/com/c2kernel/process/ModuleException.java
+++ b/src/main/java/com/c2kernel/process/module/ModuleException.java
@@ -1,4 +1,4 @@
-package com.c2kernel.process;
+package com.c2kernel.process.module;
public class ModuleException extends Exception {
diff --git a/src/main/java/com/c2kernel/process/ModuleManager.java b/src/main/java/com/c2kernel/process/module/ModuleManager.java
index b336681..b99b325 100644
--- a/src/main/java/com/c2kernel/process/ModuleManager.java
+++ b/src/main/java/com/c2kernel/process/module/ModuleManager.java
@@ -1,4 +1,4 @@
-package com.c2kernel.process;
+package com.c2kernel.process.module;
import java.io.IOException;
import java.net.URL;
@@ -9,6 +9,7 @@ import java.util.Properties;
import com.c2kernel.common.ObjectNotFoundException;
import com.c2kernel.entity.proxy.ItemProxy;
import com.c2kernel.lookup.DomainPath;
+import com.c2kernel.process.Gateway;
import com.c2kernel.utils.FileStringUtility;
import com.c2kernel.utils.Logger;
diff --git a/src/main/java/com/c2kernel/utils/KeyValuePair.java b/src/main/java/com/c2kernel/utils/KeyValuePair.java
index 5523eb6..5e5a147 100644
--- a/src/main/java/com/c2kernel/utils/KeyValuePair.java
+++ b/src/main/java/com/c2kernel/utils/KeyValuePair.java
@@ -63,14 +63,14 @@ public class KeyValuePair
mValue = value;
}
- public Float getFloatValue() {
- if (mValue instanceof Float)
- return (Float)mValue;
+ public Double getFloatValue() {
+ if (mValue instanceof Double)
+ return (Double)mValue;
else
return null;
}
- public void setFloatValue(Float value) {
+ public void setFloatValue(Double value) {
mValue = value;
}