public Experimenter( java.lang.String _omeName,java.lang.String _firstName,java.lang.String _lastName,java.lang.Boolean _ldap ) { this(null, true); setOmeName(_omeName); setFirstName(_firstName); setLastName(_lastName); setLdap(_ldap); }
setGroupExperimenterMap((java.util.List<ome.model.meta.GroupExperimenterMap>)value); } else if (field.equals(OMENAME)) { setOmeName((java.lang.String)value); } else if (field.equals(FIRSTNAME)) { setFirstName((java.lang.String)value);
public long createExperimenter(Experimenter experimenter, ExperimenterGroup defaultGroup, ExperimenterGroup... otherGroups) { Session session = sf.getSession(); SecureAction action = new SecureMerge(session); Experimenter e = copyUser(experimenter); if (isIgnoreCaseLookup()) { e.setOmeName(e.getOmeName().toLowerCase()); } e.getDetails().copy(sec.newTransientDetails(e)); e = sec.doAction(action, e); session.flush(); linkGroupAndUser(defaultGroup, e, false); if (null != otherGroups) { for (ExperimenterGroup group : otherGroups) { linkGroupAndUser(group, e, false); } } return e.getId(); }
/** * @param experimenter */ private void copyAndSaveExperimenter(final Experimenter experimenter) { final Experimenter orig = userProxy(experimenter.getId()); final String origOmeName = orig.getOmeName(); final String newOmeName = experimenter.getOmeName(); if (!origOmeName.equals(newOmeName)) { final Roles roles = getSecurityRoles(); final Set<String> fixedExperimenterNames = ImmutableSet.of(roles.getRootName(), roles.getGuestName()); if (fixedExperimenterNames.contains(origOmeName)) { throw new ValidationException("cannot change name of special experimenter '" + origOmeName + "'"); } else if (fixedExperimenterNames.contains(newOmeName)) { throw new ValidationException("cannot change name to special experimenter '" + newOmeName + "'"); } } orig.setOmeName(newOmeName); orig.setEmail(experimenter.getEmail()); orig.setFirstName(experimenter.getFirstName()); orig.setMiddleName(experimenter.getMiddleName()); orig.setLastName(experimenter.getLastName()); orig.setInstitution(experimenter.getInstitution()); reallySafeSave(orig); }
@Override public Object mapFromContext(Object obj) { DirContextAdapter ctx = (DirContextAdapter) obj; Experimenter person = new Experimenter(); person.setOmeName(get("omeName", ctx)); person.setFirstName(get("firstName", ctx)); person.setMiddleName(get("middleName", ctx)); person.setLastName(get("lastName", ctx)); person.setInstitution(get("institution", ctx)); person.setEmail(get("email", ctx)); person.setLdap(true); person.putAt(LDAP_DN, ctx.getNameInNamespace()); if (attribute != null) { person.putAt(LDAP_ATTR, ctx.getAttributeSortedStringSet(attribute)); } person.putAt(LDAP_PROPS, new AttributeSet(ctx)); return person; }
protected Experimenter copyUser(Experimenter e) { if (e.getOmeName() == null) { throw new ValidationException("OmeName may not be null."); } Experimenter copy = new Experimenter(); copy.setOmeName(e.getOmeName()); copy.setFirstName(e.getFirstName()); copy.setMiddleName(e.getMiddleName()); copy.setLastName(e.getLastName()); copy.setEmail(e.getEmail()); copy.setInstitution(e.getInstitution()); copy.setLdap(e.getLdap()); copy.setConfig(e.getConfig()); if (e.getDetails() != null && e.getDetails().getPermissions() != null) { copy.getDetails().setPermissions(e.getDetails().getPermissions()); } // TODO make ShallowCopy-like which ignores collections and details. // if possible, values should be validated. i.e. iTypes should say what // is non-null return copy; }