summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/lookup
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2014-04-09 16:37:26 +0200
committerAndrew Branson <andrew.branson@cern.ch>2014-04-09 16:37:26 +0200
commit9bd010f09cff41f5d25763406a0ac4d61815a8c5 (patch)
tree93ea7324f4b8749fdb7cfd993b4dd97648968ece /src/main/java/com/c2kernel/lookup
parent58136e4e306af8fde3639d0779d11d5e1711295b (diff)
Expanded server predefined steps to include server and agent maintenance
steps. Fixes #174 Fixed schema of CreateNewItem and CreateNewAgent.
Diffstat (limited to 'src/main/java/com/c2kernel/lookup')
-rw-r--r--src/main/java/com/c2kernel/lookup/LDAPLookup.java11
-rw-r--r--src/main/java/com/c2kernel/lookup/LDAPRoleManager.java13
2 files changed, 20 insertions, 4 deletions
diff --git a/src/main/java/com/c2kernel/lookup/LDAPLookup.java b/src/main/java/com/c2kernel/lookup/LDAPLookup.java
index 996ca0e..2702122 100644
--- a/src/main/java/com/c2kernel/lookup/LDAPLookup.java
+++ b/src/main/java/com/c2kernel/lookup/LDAPLookup.java
@@ -360,10 +360,6 @@ public class LDAPLookup
else
return search(start.getFullDN(),LDAPConnection.SCOPE_SUB,"(&"+query.toString()+")",searchCons);
}
-
- public LDAPPathSet searchType(Path start, Path type) {
- return null;
- }
protected LDAPPathSet search(String startDN, int scope, String filter, LDAPSearchConstraints searchCons)
{
@@ -404,6 +400,13 @@ public class LDAPLookup
searchCons.setDereference(LDAPSearchConstraints.DEREF_NEVER);
return search(start.getFullDN(), LDAPConnection.SCOPE_SUB, "objectClass=aliasObject", searchCons);
}
+
+ public LDAPPathSet searchAliases(EntityPath entity) {
+ LDAPSearchConstraints searchCons = new LDAPSearchConstraints();
+ searchCons.setBatchSize(0);
+ searchCons.setDereference(LDAPSearchConstraints.DEREF_NEVER);
+ return search(new DomainPath().getDN(), LDAPConnection.SCOPE_SUB, "&(objectClass=aliasObject)(aliasedObjectName="+entity.getDN()+")", searchCons);
+ }
public boolean exists(Path path) {
return LDAPLookupUtils.exists(getConnection(), path.getFullDN());
diff --git a/src/main/java/com/c2kernel/lookup/LDAPRoleManager.java b/src/main/java/com/c2kernel/lookup/LDAPRoleManager.java
index b2cffc6..f40cd53 100644
--- a/src/main/java/com/c2kernel/lookup/LDAPRoleManager.java
+++ b/src/main/java/com/c2kernel/lookup/LDAPRoleManager.java
@@ -1,5 +1,6 @@
package com.c2kernel.lookup;
+import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Enumeration;
@@ -207,5 +208,17 @@ public class LDAPRoleManager {
// set attribute
LDAPLookupUtils.setAttributeValue(mLdap.getConnection(), roleEntry, "jobList", hasJobList?"TRUE":"FALSE");
}
+
+ public void setAgentPassword(AgentPath agent, String newPassword) throws ObjectNotFoundException, ObjectCannotBeUpdated, NoSuchAlgorithmException {
+ String encPasswd = AgentPath.generateUserPassword(newPassword, "SHA");
+ LDAPEntry agentEntry;
+ try {
+ agentEntry = LDAPLookupUtils.getEntry(mLdap.getConnection(), agent.getFullDN());
+ } catch (ObjectNotFoundException e) {
+ throw new ObjectNotFoundException("Agent "+agent.getAgentName()+" does not exist", "");
+ }
+ LDAPLookupUtils.setAttributeValue(mLdap.getConnection(), agentEntry, "userPassword", encPasswd);
+
+ }
}