public Share( ome.model.meta.ExperimenterGroup _group,java.lang.Long _itemCount,java.lang.Boolean _active,byte[] _data ) { this(null, true); setGroup(_group); setItemCount(_itemCount); setActive(_active); setData(_data); }
public void setActive(java.lang.Boolean active) { if (! _loaded ) errorIfUnloaded(); this.active = (java.lang.Boolean) active; } protected byte[] data = null;
Share to = (Share) target; Share from = (Share) source; to.setItemCount(from.getItemCount()); to.setActive(from.getActive()); to.setGroup(from.getGroup()); to.setData(from.getData());
@Override public Object retrieve(String field) { if (field == null) { return null; } else if (field.equals(GROUP)) { return getGroup(); } else if (field.equals(ITEMCOUNT)) { return getItemCount(); } else if (field.equals(ACTIVE)) { return getActive(); } else if (field.equals(DATA)) { return getData(); } else { return super.retrieve(field); } }
@Override @SuppressWarnings("unchecked") public void doSet(Share share, ShareData data, List<ShareItem> items) { long oldOptLock = data.optlock; long newOptLock = oldOptLock + 1; Session session = session(); List<Share> list = (List<Share>) session.createQuery( "select s from Share s where s.id = " + data.id + " and s.version =" + data.optlock).list(); if (list.size() == 0) { throw new OptimisticLockException("Share " + data.id + " has been updated by someone else."); } data.optlock = newOptLock; share.setData(parse(data)); share.setActive(data.enabled); share.setItemCount((long) items.size()); share.setVersion((int) newOptLock); session.merge(share); synchronizeMembers(session, data); }
public ome.model.meta.Share newInstance() { return new ome.model.meta.Share(); }
@Override public ShareData get(final long id) { Session session = session(); Share s = (Share) session.get(Share.class, id); if (s == null) { return null; } byte[] data = s.getData(); return parse(id, data); }
@RolesAllowed("user") @Transactional(readOnly = false) public CommentAnnotation addComment(final long shareId, @NotNull final String commentText) { getShareIfAccessible(shareId); ExperimenterGroup group = iQuery.get(Share.class, shareId).getGroup(); final CommentAnnotation[] rv = new CommentAnnotation[1]; sec.runAsAdmin(group, new AdminAction(){ public void runAsAdmin() { final Share share = iQuery.get(Share.class, shareId); CommentAnnotation comment = new CommentAnnotation(); comment.setTextValue(commentText); comment.setNs(NS_COMMENT); share.linkAnnotation(comment); iUpdate.flush(); rv[0] = iQuery.get(CommentAnnotation.class, comment.getId()); }}); return rv[0]; }
public ome.model.meta.Share proxy() { return new ome.model.meta.Share(this.id, false); }
@Override public void putAt(String field, Object value) { if (field == null) { return; } else if (field.equals(GROUP)) { setGroup((ome.model.meta.ExperimenterGroup)value); } else if (field.equals(ITEMCOUNT)) { setItemCount((java.lang.Long)value); } else if (field.equals(ACTIVE)) { setActive((java.lang.Boolean)value); } else if (field.equals(DATA)) { setData((byte[])value); } else { super.putAt(field,value); } }
@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)); } }
public void setGroup(ome.model.meta.ExperimenterGroup group) { if (! _loaded ) errorIfUnloaded(); this.group = group; } protected java.lang.Long itemCount = null;
public Share createShare(Principal principal, boolean enabled, long timeToLive, String eventType, String description, long groupId) { Share share = newShare(); define(share, UUID.randomUUID().toString(), description, System .currentTimeMillis(), defaultTimeToIdle, timeToLive, eventType, "Share", null); share.setGroup(new ExperimenterGroup(groupId, false)); share.setActive(enabled); share.setData(new byte[] {}); share.setItemCount(0L); CreationRequest req = new CreationRequest(); req.principal = principal; return (Share) createSession(req, share); }
prevCtx = new Share(shareId, false); } else { prevCtx = new ExperimenterGroup(groupId, false);
public void setItemCount(java.lang.Long itemCount) { if (! _loaded ) errorIfUnloaded(); this.itemCount = (java.lang.Long) itemCount; } protected java.lang.Boolean active = null;
public void setData(byte[] data) { if (! _loaded ) errorIfUnloaded(); this.data = (byte[]) data; }
/** * Simple field ome.model.meta.Share.data (byte[]) */ // No @Type annotation // Not indexed @javax.persistence.Column(columnDefinition="bytea", nullable=false, unique=false, name="data", updatable=true) public byte[] getData() { if (! _loaded ) errorIfUnloaded(); return this.data; }
/** * Simple field ome.model.meta.Share.active (java.lang.Boolean) */ // No @Type annotation // Not indexed @javax.persistence.Column(columnDefinition="", nullable=false, unique=false, name="active", updatable=true) public java.lang.Boolean getActive() { if (! _loaded ) errorIfUnloaded(); return this.active; }