From 2495be9ecfa8aea47e285f63b5bb27b0c133b1f8 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Mon, 30 Jun 2014 23:03:03 +0200 Subject: Separated modifying Lookup methods into LookupManager, which is only present in a server process. This stops clients trying to write to the directory without relying on their permissions. --- src/main/java/com/c2kernel/entity/imports/ImportAgent.java | 2 +- src/main/java/com/c2kernel/entity/imports/ImportItem.java | 4 ++-- src/main/java/com/c2kernel/entity/imports/ImportRole.java | 5 +++-- src/main/java/com/c2kernel/entity/proxy/ProxyManager.java | 3 ++- src/main/java/com/c2kernel/entity/transfer/TransferItem.java | 4 ++-- 5 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src/main/java/com/c2kernel/entity') diff --git a/src/main/java/com/c2kernel/entity/imports/ImportAgent.java b/src/main/java/com/c2kernel/entity/imports/ImportAgent.java index 26e3325..2aa6533 100644 --- a/src/main/java/com/c2kernel/entity/imports/ImportAgent.java +++ b/src/main/java/com/c2kernel/entity/imports/ImportAgent.java @@ -36,7 +36,7 @@ public class ImportAgent extends ModuleImport implements java.io.Serializable { newAgent.setAgentName(name); newAgent.setPassword(password); ActiveEntity newAgentEnt = (ActiveEntity)Gateway.getCorbaServer().createEntity(newAgent); - Gateway.getLookup().add(newAgent); + Gateway.getLookupManager().add(newAgent); // assemble properties properties.add(new com.c2kernel.property.Property("Name", name, true)); properties.add(new com.c2kernel.property.Property("Type", "Agent", false)); diff --git a/src/main/java/com/c2kernel/entity/imports/ImportItem.java b/src/main/java/com/c2kernel/entity/imports/ImportItem.java index a27d88d..3847fbf 100644 --- a/src/main/java/com/c2kernel/entity/imports/ImportItem.java +++ b/src/main/java/com/c2kernel/entity/imports/ImportItem.java @@ -79,7 +79,7 @@ public class ImportItem extends ModuleImport { // create item entPath = Gateway.getNextKeyManager().generateNextEntityKey(); newItem = (TraceableEntity)Gateway.getCorbaServer().createEntity(entPath); - Gateway.getLookup().add(entPath); + Gateway.getLookupManager().add(entPath); } // set the name property @@ -181,7 +181,7 @@ public class ImportItem extends ModuleImport { // register domain path (before collections in case of recursive collections) if (!domPath.exists()) { domPath.setEntity(entPath); - Gateway.getLookup().add(domPath); + Gateway.getLookupManager().add(domPath); } } } diff --git a/src/main/java/com/c2kernel/entity/imports/ImportRole.java b/src/main/java/com/c2kernel/entity/imports/ImportRole.java index 8313c24..5749b06 100644 --- a/src/main/java/com/c2kernel/entity/imports/ImportRole.java +++ b/src/main/java/com/c2kernel/entity/imports/ImportRole.java @@ -1,5 +1,6 @@ package com.c2kernel.entity.imports; +import com.c2kernel.common.CannotManageException; import com.c2kernel.common.ObjectAlreadyExistsException; import com.c2kernel.common.ObjectCannotBeUpdated; import com.c2kernel.process.Gateway; @@ -12,8 +13,8 @@ public class ImportRole extends ModuleImport { public ImportRole() { } - public void create(int agentId) throws ObjectAlreadyExistsException, ObjectCannotBeUpdated { - Gateway.getLookup().createRole(name, jobList); + public void create(int agentId) throws ObjectAlreadyExistsException, ObjectCannotBeUpdated, CannotManageException { + Gateway.getLookupManager().createRole(name, jobList); } } diff --git a/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java b/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java index ae02fc5..f65d26e 100644 --- a/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java +++ b/src/main/java/com/c2kernel/entity/proxy/ProxyManager.java @@ -40,10 +40,11 @@ public class ProxyManager { Logger.msg(5, "ProxyManager - Starting....."); - Iterator servers = Gateway.getLookup().search(new DomainPath("/servers")); + Iterator servers = Gateway.getLookup().search(new DomainPath("/servers"), new Property("Type", "Server")); while(servers.hasNext()) { Path thisServerPath = servers.next(); try { + Logger.msg(thisServerPath.dump()); int syskey = thisServerPath.getSysKey(); String remoteServer = ((Property)Gateway.getStorage().get(syskey, ClusterStorage.PROPERTY+"/Name", null)).getValue(); String portStr = ((Property)Gateway.getStorage().get(syskey, ClusterStorage.PROPERTY+"/ProxyPort", null)).getValue(); diff --git a/src/main/java/com/c2kernel/entity/transfer/TransferItem.java b/src/main/java/com/c2kernel/entity/transfer/TransferItem.java index 9a4cfc5..9852555 100644 --- a/src/main/java/com/c2kernel/entity/transfer/TransferItem.java +++ b/src/main/java/com/c2kernel/entity/transfer/TransferItem.java @@ -91,7 +91,7 @@ public class TransferItem { // create item ItemPath entityPath = new ItemPath(sysKey); TraceableEntity newItem = (TraceableEntity)Gateway.getCorbaServer().createEntity(entityPath); - Gateway.getLookup().add(entityPath); + Gateway.getLookupManager().add(entityPath); PropertyArrayList props = new PropertyArrayList(); Workflow wf = null; @@ -121,7 +121,7 @@ public class TransferItem { // add domPaths for (String element : domainPaths) { DomainPath newPath = new DomainPath(element, entityPath); - Gateway.getLookup().add(newPath); + Gateway.getLookupManager().add(newPath); } } -- cgit v1.2.3