summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lifecycle/instance/predefined/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/server')
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveAgent.java61
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/server/ServerPredefinedStepContainer.java41
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentPassword.java52
-rw-r--r--src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentRoles.java72
4 files changed, 41 insertions, 185 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveAgent.java
deleted file mode 100644
index 19641fe..0000000
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/RemoveAgent.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.c2kernel.lifecycle.instance.predefined.server;
-
-import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.common.ObjectCannotBeUpdated;
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.lookup.RolePath;
-import com.c2kernel.persistency.ClusterStorageException;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.utils.Logger;
-
-public class RemoveAgent extends PredefinedStep {
-
- public RemoveAgent() {
- super();
- }
-
- @Override
- protected String runActivityLogic(AgentPath agent, int itemSysKey,
- int transitionID, String requestData) throws InvalidDataException {
-
- Logger.msg(1, "RemoveAgent::request() - Starting.");
-
- String[] params = getDataList(requestData);
- AgentPath targetAgent;
- try {
- targetAgent = Gateway.getLookup().getAgentPath(params[0]);
- } catch (ObjectNotFoundException e) {
- throw new InvalidDataException("Agent "+params[0]+" not found", "");
- }
- //remove from roles
- for (RolePath role: targetAgent.getRoles()) {
- try {
- role.removeAgent(targetAgent);
- } catch (ObjectCannotBeUpdated e) {
- Logger.error(e);
- throw new InvalidDataException("Error removing "+params[0]+" from Role "+role.getName(), "");
- } catch (ObjectNotFoundException e) {
- Logger.error(e);
- throw new InvalidDataException("Tried to remove "+params[0]+" from Role "+role.getName()+" that doesn't exist.", "");
- }
- }
- //clear out all storages
- try {
- Gateway.getStorage().removeCluster(targetAgent.getSysKey(), "", null);
- } catch (ClusterStorageException e) {
- Logger.error(e);
- throw new InvalidDataException("Error deleting storage for "+params[0], "");
- }
- //remove entity path
- try {
- Gateway.getLookup().delete(targetAgent);
- } catch (ObjectCannotBeUpdated e) {
- throw new InvalidDataException("Error deleting AgentPath for "+params[0], "");
- }
- return requestData;
-
- }
-
-}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/ServerPredefinedStepContainer.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/ServerPredefinedStepContainer.java
new file mode 100644
index 0000000..412c468
--- /dev/null
+++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/ServerPredefinedStepContainer.java
@@ -0,0 +1,41 @@
+package com.c2kernel.lifecycle.instance.predefined.server;
+
+import com.c2kernel.graph.model.GraphPoint;
+import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
+import com.c2kernel.lifecycle.instance.predefined.PredefinedStepContainer;
+
+/**************************************************************************
+ *
+ * $Revision: 1.2 $
+ * $Date: 2005/06/02 10:19:33 $
+ *
+ * Copyright (C) 2003 CERN - European Organization for Nuclear Research
+ * All rights reserved.
+ **************************************************************************/
+
+// public static final String codeRevision = "$Revision: 1.2 $ $Date: 2005/06/02 10:19:33 $ $Author: abranson $";
+public class ServerPredefinedStepContainer extends PredefinedStepContainer {
+
+
+ @Override
+ public void createChildren()
+ {
+ super.createChildren();
+ serverPredInit("CreateNewItem", "Creates a new Item in this Server without description.", new CreateNewItem());
+ serverPredInit("CreateNewAgent", "Creates a new Agent in this Server without description.", new CreateNewAgent());
+ serverPredInit("RemoveDomainContext", "Deletes an existing context in the domain tree, but only if empty", new RemoveDomainContext());
+ serverPredInit("AddDomainContext", "Creates an empty domain context in the tree", new AddDomainContext());
+ }
+
+ public void serverPredInit(String alias, String Description, PredefinedStep act)
+ {
+ act.setName(alias);
+ act.setType(alias);
+ act.getProperties().put("Description", Description);
+ act.getProperties().put("Agent Role", "Admin");
+ act.setCentrePoint(new GraphPoint());
+ act.setIsPredefined(true);
+ addChild(act, new GraphPoint(100, 75 * ++num));
+ }
+
+}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentPassword.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentPassword.java
deleted file mode 100644
index 8a2863a..0000000
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentPassword.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.c2kernel.lifecycle.instance.predefined.server;
-
-import java.security.NoSuchAlgorithmException;
-
-import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.common.ObjectCannotBeUpdated;
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.utils.Logger;
-
-public class SetAgentPassword extends PredefinedStep {
-
- public SetAgentPassword() {
- super();
- }
-
- @Override
- protected String runActivityLogic(AgentPath agent, int itemSysKey,
- int transitionID, String requestData) throws InvalidDataException {
-
- Logger.msg(1, "SetAgentPassword::request() - Starting.");
-
- String[] params = getDataList(requestData);
- if (params.length!=2)
- throw new InvalidDataException("Requires 2 params: agent name and new password", "");
- AgentPath targetAgent;
- try {
- targetAgent = Gateway.getLookup().getAgentPath(params[0]);
- } catch (ObjectNotFoundException e) {
- throw new InvalidDataException("Agent "+params[0]+" not found", "");
- }
-
- try {
- Gateway.getLookup().setAgentPassword(targetAgent, params[1]);
- } catch (ObjectNotFoundException e) {
- Logger.error(e);
- throw new InvalidDataException("Agent "+params[0]+" not found.", "");
- } catch (ObjectCannotBeUpdated e) {
- Logger.error(e);
- throw new InvalidDataException("Error updating LDAP entry.", "");
- } catch (NoSuchAlgorithmException e) {
- Logger.error(e);
- throw new InvalidDataException("Cryptographic libraries for password hashing not found.", "");
- }
-
- params[1] = "REDACTED"; // censor user's password from outcome
- return bundleData(params);
- }
-
-}
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentRoles.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentRoles.java
deleted file mode 100644
index 19c6bd8..0000000
--- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/server/SetAgentRoles.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.c2kernel.lifecycle.instance.predefined.server;
-
-import java.util.ArrayList;
-
-import com.c2kernel.common.InvalidDataException;
-import com.c2kernel.common.ObjectNotFoundException;
-import com.c2kernel.lifecycle.instance.predefined.PredefinedStep;
-import com.c2kernel.lookup.AgentPath;
-import com.c2kernel.lookup.RolePath;
-import com.c2kernel.process.Gateway;
-import com.c2kernel.utils.Logger;
-
-public class SetAgentRoles extends PredefinedStep {
-
- public SetAgentRoles() {
- super();
- }
-
- @Override
- protected String runActivityLogic(AgentPath agent, int itemSysKey,
- int transitionID, String requestData) throws InvalidDataException {
-
- Logger.msg(1, "SetAgentRoles::request() - Starting.");
-
- String[] params = getDataList(requestData);
- AgentPath targetAgent;
- try {
- targetAgent = Gateway.getLookup().getAgentPath(params[0]);
- } catch (ObjectNotFoundException e) {
- throw new InvalidDataException("Agent "+params[0]+" not found", "");
- }
-
- RolePath[] currentRoles = targetAgent.getRoles();
- ArrayList<RolePath> requestedRoles = new ArrayList<RolePath>();
- if (params.length>1)
- for (int i=1; i<params.length; i++)
- try {
- requestedRoles.add(Gateway.getLookup().getRolePath(params[i]));
- } catch (ObjectNotFoundException e) {
- throw new InvalidDataException("Role "+params[i]+" not found", "");
- }
-
- ArrayList<RolePath> rolesToRemove = new ArrayList<RolePath>();
- for (RolePath existingRole : currentRoles) { //
- if (requestedRoles.contains(existingRole)) // if we have it, and it's requested, then it will be kept
- requestedRoles.remove(existingRole); // so remove it from request - this will be left with roles to be added
- else
- rolesToRemove.add(existingRole); // else this role will be removed
- }
-
- // remove roles not in new list
- for (RolePath roleToRemove : rolesToRemove)
- try {
- roleToRemove.removeAgent(targetAgent);
- } catch (Exception e) {
- Logger.error(e);
- throw new InvalidDataException("Error removing role "+roleToRemove.getName(), "");
- }
-
- // add requested roles we don't already have
- for (RolePath roleToAdd : requestedRoles)
- try {
- roleToAdd.addAgent(targetAgent);
- } catch (Exception e) {
- Logger.error(e);
- throw new InvalidDataException("Error adding role "+roleToAdd.getName(), "");
- }
-
- return requestData;
- }
-
-}