/** Creates a JDOM Element as defined in <a href="http://jpos.org/minigl.dtd">minigl.dtd</a> */ public Element toXML() { Element elem = new Element("journal"); elem.addContent(new Comment("id " + getId())); elem.addContent(new Element("name").setText(getName())); elem.addContent(new Element("start").setText(Util.dateToString(getStart()))); Date d = getEnd(); if (d != null) elem.addContent(new Element("end").setText(Util.dateToString(d))); if (isClosed()) elem.addContent(new Element("status").setText("closed")); elem.addContent(new Element("chart").setText(getChart().getCode())); Iterator iter = getLayers().iterator(); while (iter.hasNext()) { Layer l = (Layer) iter.next(); elem.addContent(l.toXML()); } iter = getPermissions().iterator(); while (iter.hasNext()) { GLPermission p = (GLPermission) iter.next(); Element e = new Element("grant").setText(p.getName()); e.setAttribute("user", p.getUser().getNick()); elem.addContent(e); } return elem; }
/** * Verifies user's permission in a given journal. * * @param action name * @param j journal * @return true if user has permission to perform given action. * @see GLPermission * @see Journal */ public boolean hasPermission(String action, Journal j) { Iterator iter = getPermissions().iterator(); while (iter.hasNext()) { GLPermission p = (GLPermission) iter.next(); Journal pj = p.getJournal(); if (action.equals(p.getName()) && (pj == null || (pj.getId() == j.getId()))) { return true; } } return false; }
/** Creates a JDOM Element as defined in <a href="http://jpos.org/minigl.dtd">minigl.dtd</a> */ public Element toXML() { Element e = new Element("user"); e.addContent(new Comment("id " + Long.toString(getId()))); e.addContent(new Element("nick").setText(getNick())); e.addContent(new Element("name").setText(getName())); Iterator iter = getPermissions().iterator(); while (iter.hasNext()) { GLPermission p = (GLPermission) iter.next(); if (p.getJournal() == null) e.addContent(new Element("grant").setText(p.getName())); } return e; }
/** * Revoke permission from user * * @param permName the permission */ public void revoke(String permName) { Iterator iter = perms.iterator(); GLPermission toRemove = null; while (iter.hasNext()) { GLPermission p = (GLPermission) iter.next(); if (permName.equals(p.getName())) { toRemove = p; break; } } if (toRemove != null) perms.remove(toRemove); }