public ome.model.meta.Experimenter newInstance() { return new ome.model.meta.Experimenter(); }
public ome.model.meta.Experimenter proxy() { return new ome.model.meta.Experimenter(this.id, false); }
@SuppressWarnings("unchecked") private void synchronizeMembers(Session session, ShareData data) { Query q = session.createQuery("select sm from ShareMember sm " + "where sm.parent = ?"); q.setLong(0, data.id); List<ShareMember> members = (List<ShareMember>) q.list(); Map<Long, ShareMember> lookup = new HashMap<Long, ShareMember>(); for (ShareMember sm : members) { lookup.put(sm.getChild().getId(), sm); } Set<Long> intendedUserIds = new HashSet<Long>(data.members); intendedUserIds.add(data.owner); Set<Long> currentUserIds = lookup.keySet(); Set<Long> added = new HashSet<Long>(intendedUserIds); added.removeAll(currentUserIds); for (Long toAdd : added) { ShareMember sm = new ShareMember(); sm.link(new Share(data.id, false), new Experimenter(toAdd, false)); session.merge(sm); } Set<Long> removed = new HashSet<Long>(currentUserIds); removed.removeAll(intendedUserIds); for (Long toRemove : removed) { session.delete(lookup.get(toRemove)); } }
@RolesAllowed("user") @Transactional(readOnly = false) public long createExperimenter(final Experimenter experimenter, ExperimenterGroup defaultGroup, ExperimenterGroup... otherGroups) { adminOrPiOfNonUserGroups(defaultGroup, otherGroups); long uid = roleProvider.createExperimenter(experimenter, defaultGroup, otherGroups); // If this method passes, then the Experimenter is valid. changeUserPassword(experimenter.getOmeName(), " "); assertNoPrivilegeElevation(new Experimenter(uid, false), Collections.<AdminPrivilege>emptySet()); getBeanHelper().getLogger().info( "Created user with blank password: " + experimenter.getOmeName()); return uid; }
@RolesAllowed("user") @Transactional(readOnly = false) public long createExperimenterWithPassword(final Experimenter experimenter, final String password, final ExperimenterGroup defaultGroup, final ExperimenterGroup... otherGroups) { adminOrPiOfNonUserGroups(defaultGroup, otherGroups); long uid = roleProvider.createExperimenter(experimenter, defaultGroup, otherGroups); // If this method passes, then the Experimenter is valid. changeUserPassword(experimenter.getOmeName(), password); assertNoPrivilegeElevation(new Experimenter(uid, false), Collections.<AdminPrivilege>emptySet()); getBeanHelper().getLogger().info( "Created user with password: " + experimenter.getOmeName()); return uid; }
@Override public Session executeInternalSession(final String uuid, Session session) { Node node = (Node) executor.executeSql(new Executor.SimpleSqlWork(this, "executeInternalSession") { @Transactional(readOnly = true) public Object doWork(SqlAction sql) { final Long nodeId = nodeProvider.getManagerIdByUuid(uuid, sql); return nodeId == null ? null : new Node(nodeId, false); } }); session.setId(executeNextSessionId()); log.debug("Created session: {}", session); log.debug("Setting node: {}", node); session.setNode(node); session.setOwner(new Experimenter(roles.getRootId(), false)); openSessions.put(session.getUuid(), session); return session; }
session.setOwner(new Experimenter(roles.getRootId(), false)); session.setId(id); return session;
@Override public Session executeUpdate(ServiceFactory sf, Session session, String uuid, long userId, Long sudoerId) { Node node = nodeProvider.getManagerByUuid(uuid, sf); if (node == null) { node = new Node(0L, false); // Using default node. } session.setNode(node); session.setOwner(new Experimenter(userId, false)); if (sudoerId == null) { session.setSudoer(null); } else { session.setSudoer(new Experimenter(sudoerId, false)); } Session rv = sf.getUpdateService().saveAndReturnObject(session); rv.putAt("#2733", session.retrieve("#2733")); return rv; }
@Override public Session executeUpdate(ServiceFactory sf, Session session, String uuid, long userId, Long sudoerId) { Node node = nodeProvider.getManagerByUuid(uuid, sf); if (node == null) { node = new Node(0L, false); // Using default node. } if (session.getId() == null) { session.setId(executeNextSessionId()); } session.setNode(node); session.setOwner(new Experimenter(userId, false)); if (sudoerId == null) { session.setSudoer(null); } else { session.setSudoer(new Experimenter(sudoerId, false)); } /* put before remove so that the session is never missing altogether */ if (session.getClosed() == null) { openSessions.put(session.getUuid(), session); closedSessions.remove(session.getUuid()); } else { closedSessions.put(session.getUuid(), session); openSessions.remove(session.getUuid()); } log.debug("Registered Session:{} ({})", session.getId(), session.getUuid()); return session; }
@Transactional(readOnly = false) public Object doWork(Session session, ServiceFactory sf) { log.info("Creating PIXELDATA event for pixels id:" + mpm.pixelsID); // Load objects final EventType type = sf.getTypesService().getEnumeration( EventType.class, ec.getCurrentEventType()); final EventLog el = new EventLog(); final Event e = new Event(); e.setExperimenter( new Experimenter(ec.getCurrentUserId(), false)); e.setExperimenterGroup(new ExperimenterGroup(groupID, false)); e.setSession(new ome.model.meta.Session( ec.getCurrentSessionId(), false)); e.setTime(new Timestamp(new Date().getTime())); e.setType(type); el.setAction("PIXELDATA"); el.setEntityId(mpm.pixelsID); el.setEntityType(Pixels.class.getName()); el.setEvent(e); return sf.getUpdateService().saveAndReturnObject(el); } });
final IAdmin iAdmin = helper.getServiceFactory().getAdminService(); acceptableGroupsFrom = ImmutableSet.copyOf(eventContext.getLeaderOfGroupsList()); acceptableGroupsTo = ImmutableSet.copyOf(iAdmin.getMemberOfGroupIds(new Experimenter(userId, false))); if (acceptableGroupsFrom.isEmpty()) { throw new RuntimeException(new GraphException("not an owner of any group")); for (final Long targetUserId : targetUsers) { final Set<Long> groupsForTargetUserData = new HashSet<Long>(acceptableGroupsFrom); final Experimenter targetUser = new Experimenter(targetUserId, false); groupsForTargetUserData.retainAll(iAdmin.getMemberOfGroupIds(targetUser)); if (groupsForTargetUserData.isEmpty()) {
for (Long toBeOwned : ownerOfGroups) { provider.setGroupOwner( new Experimenter(uid, false), new ExperimenterGroup(toBeOwned, false), true);
/** * Copies all known values from Parameters * * @param params */ public void copy(Parameters params) { if (params != null) { if (params.getLimit() != null) { batchSize = params.getLimit(); } if (params.owner() >= 0) { ownedBy = Details.create(); ownedBy.setOwner(new Experimenter(params.owner(), false)); } else if (params.group() >= 0) { ownedBy = Details.create(); ownedBy.setGroup(new ExperimenterGroup(params.group(), false)); } } }
final Long userId = eventContext.getCurrentUserId(); final IAdmin iAdmin = helper.getServiceFactory().getAdminService(); acceptableGroups = ImmutableSet.copyOf(iAdmin.getLeaderOfGroupIds(new Experimenter(userId, false)));
exp = new Experimenter(ec.getCurrentUserId(), false); } else { exp = admin.userProxy(ec.getCurrentUserId()); sudoer = null; } else if (isReadOnly) { sudoer = new Experimenter(sudoerId, false); } else { sudoer = admin.userProxy(sudoerId);
@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; }
/** * Method which takes all the fields of the given {@link Details} instance * and sets unloaded proxies of them into the current instance. */ public void shallowCopy(Details copy) { if (copy == null) { throw new IllegalArgumentException("argument may not be null"); } setOwner(copy.getOwner() == null ? null : new Experimenter(copy .getOwner().getId(), false)); setGroup(copy.getGroup() == null ? null : new ExperimenterGroup(copy .getGroup().getId(), false)); setCreationEvent(copy.getCreationEvent() == null ? null : new Event( copy.getCreationEvent().getId(), false)); setPermissions(copy.getPermissions() == null ? null : new Permissions(copy.getPermissions())); setExternalInfo(copy.getExternalInfo() == null ? null : new ExternalInfo(copy.getExternalInfo().getId(), false)); setUpdateEvent(copy.getUpdateEvent() == null ? null : new Event(copy .getUpdateEvent().getId(), false)); _filteredCollections = copy.filteredSet(); }
fa.setFile(file); ExperimenterAnnotationLink link = new ExperimenterAnnotationLink(); link.link(new Experimenter(uid, false), fa); link = iUpdate.saveAndReturnObject(link); fa = (FileAnnotation) link.getChild();
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; }