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. --- .../c2kernel/lifecycle/instance/predefined/agent/RemoveAgent.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main/java/com/c2kernel/lifecycle/instance/predefined/agent/RemoveAgent.java') diff --git a/src/main/java/com/c2kernel/lifecycle/instance/predefined/agent/RemoveAgent.java b/src/main/java/com/c2kernel/lifecycle/instance/predefined/agent/RemoveAgent.java index 80281cc..0630f6c 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/predefined/agent/RemoveAgent.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/predefined/agent/RemoveAgent.java @@ -1,5 +1,6 @@ package com.c2kernel.lifecycle.instance.predefined.agent; +import com.c2kernel.common.CannotManageException; import com.c2kernel.common.InvalidDataException; import com.c2kernel.common.ObjectCannotBeUpdated; import com.c2kernel.common.ObjectNotFoundException; @@ -41,6 +42,8 @@ public class RemoveAgent extends PredefinedStep { } catch (ObjectNotFoundException e) { Logger.error(e); throw new InvalidDataException("Tried to remove "+agentName+" from Role "+role.getName()+" that doesn't exist.", ""); + } catch (CannotManageException e) { + throw new InvalidDataException("Tried to alter roles in a non-server process.", ""); } } @@ -54,8 +57,8 @@ public class RemoveAgent extends PredefinedStep { //remove entity path try { - Gateway.getLookup().delete(targetAgent); - } catch (ObjectCannotBeUpdated e) { + Gateway.getLookupManager().delete(targetAgent); + } catch (Exception e) { throw new InvalidDataException("Error deleting AgentPath for "+agentName, ""); } return requestData; -- cgit v1.2.3