/** Removes save cookie from the DO. */ final void removeSaveCookie() { DataObject dataObj = getDataObject(); // add Save cookie to the data object if (dataObj instanceof MultiDataObject) { if (dataObj.getCookie(SaveCookie.class) == this) { getCookieSet((MultiDataObject) dataObj).remove(this); } } }
public void propertyChange(java.beans.PropertyChangeEvent ev) { if (Node.PROP_DISPLAY_NAME.equals(ev.getPropertyName())) { updateTitles(); } if (Node.PROP_ICON.equals(ev.getPropertyName())) { DataObject obj = getDataObject(); if (obj.isValid()) { editor.setIcon(obj.getNodeDelegate().getIcon(java.beans.BeanInfo.ICON_COLOR_16x16)); } } }
/** Overrides superclass method. Initializes editor component. */ protected void initializeCloneableEditor(CloneableEditor editor) { DataObject obj = getDataObject(); if (obj.isValid()) { org.openide.nodes.Node ourNode = obj.getNodeDelegate(); editor.setActivatedNodes(new org.openide.nodes.Node[] {ourNode}); editor.setIcon(ourNode.getIcon(java.beans.BeanInfo.ICON_COLOR_16x16)); NodeListener nl = new DataNodeListener(editor); ourNode.addNodeListener(WeakListener.node(nl, ourNode)); nodeL = nl; } }
/* public Compiler(int numbr, String nme, String hndl, String pth, String clsPath, String srcPath, String stdPath, String outFileName) { number = numbr; name = nme; handle = hndl; path = pth; classPath = clsPath; sourcePath = srcPath; studentPath = stdPath; outputFileName = outFileName; success = 1; // Outcome of compilation, success = 0 } */ public Compiler(DataObject data) { number = data.numbr; name = data.nme; handle = data.hndl; path = data.pth; classPath = data.clsPath; sourcePath = data.srcPath; studentPath = data.stdPath; outputFileName = data.outFileName; success = data.success; // Outcome of compilation, success = 0 System.out.println("COMPILER CONSTRUCTOR:\n" + data.showDataObject()); }
/** * return editor cookie for this filehandler * * @throws CollabException * @return cookie */ public EditorCookie getEditorCookie() throws CollabException { Debug.log( this, "CollabJavaHandler, " + // NoI18n "geteditorCookie for file: " + getName()); // NoI18n try { if (editorCookie == null) { FileObject file = getFileObject(); // Get the FileObject if (file == null) { return null; } // Get the DataObject DataObject dataObject = DataObject.find(file); if (dataObject == null) { throw new IllegalArgumentException("No DataObject found for file \"" + getName() + "\""); } // Get the editor cookie for the file editorCookie = (EditorCookie) dataObject.getCookie(EditorCookie.class); // add reset Document Reference Listener addResetDocumentRefListener(editorCookie, getEditorObservableCookie()); } return editorCookie; } catch (org.openide.loaders.DataObjectNotFoundException notFound) { throw new CollabException(notFound); } catch (java.io.IOException io) { throw new CollabException(io); } }
/** * return document object for this file * * @throws CollabException * @return document */ public StyledDocument getDocument() throws CollabException { try { FileObject file = getFileObject(); // Get the DataObject DataObject dataObject = DataObject.find(file); if (dataObject == null) { throw new IllegalArgumentException("No DataObject found for file \"" + getName() + "\""); } // Get the Swing document for the file EditorCookie cookie = (EditorCookie) dataObject.getCookie(EditorCookie.class); StyledDocument document = cookie.openDocument(); return document; } catch (org.openide.loaders.DataObjectNotFoundException notFound) { throw new CollabException(notFound); } catch (java.io.IOException io) { throw new CollabException(io); } }
public void testDeepLink() { Session ssn = SessionManager.getSession(); DataObject[] users = new DataObject[4]; DataObject group = getSession().create(getModelName() + ".Group"); group.set("id", BigInteger.valueOf(users.length)); group.set("email", "*****@*****.**"); group.set("name", "SIPB"); group.save(); DataAssociation members = (DataAssociation) group.get("members"); for (int i = 0; i < users.length; i++) { users[i] = ssn.create(getModelName() + ".User"); users[i].set("id", BigInteger.valueOf(i)); users[i].set("email", "*****@*****.**"); users[i].set("firstName", "foo"); users[i].set("lastNames", "bar"); users[i].save(); members.add(users[i]); } group.save(); DataObject[] images = new DataObject[users.length / 2]; for (int i = 0; i < images.length; i++) { images[i] = ssn.create(getModelName() + ".Image"); images[i].set("id", BigInteger.valueOf(i)); byte[] bytes = "This is the image.".getBytes(); images[i].set("bytes", bytes); images[i].save(); } // create link between user i and image i/2 with caption i for (int i = 0; i < users.length; i++) { // set image DataAssociation imageUsers = (DataAssociation) images[i / 2].get("users"); DataObject link = imageUsers.add(users[i]); link.set("caption", String.valueOf(i)); link.save(); } DataCollection dc = ssn.retrieve(getModelName() + ".Group"); dc.addEqualsFilter("members.image.link.caption", "0"); assertEquals(1, dc.size()); dc = ssn.retrieve(getModelName() + ".User"); dc.addPath("image.link.caption"); assertEquals(users.length, dc.size()); while (dc.next()) { assertEquals(dc.get("id").toString(), dc.get("image.link.caption")); } dc = ssn.retrieve(getModelName() + ".User"); dc.addPath("image.id"); assertEquals(users.length, dc.size()); while (dc.next()) { int id = ((BigInteger) dc.get("id")).intValue(); assertEquals(BigInteger.valueOf(id / 2), dc.get("image.id")); } DataCollection dcUp = ssn.retrieve(getModelName() + ".User"); DataCollection dcDown = ssn.retrieve(getModelName() + ".User"); dcUp.addOrder("image.link.caption asc"); dcDown.addOrder("image.link.caption desc"); dcUp.next(); dcDown.next(); assertEquals(BigInteger.valueOf(0), dcUp.get("id")); assertEquals(BigInteger.valueOf(users.length - 1), dcDown.get("id")); dcUp.close(); dcDown.close(); dcUp = ssn.retrieve(getModelName() + ".Image"); dcDown = ssn.retrieve(getModelName() + ".Image"); dcUp.addOrder("users.link.caption asc"); dcDown.addOrder("users.link.caption desc"); dcUp.next(); dcDown.next(); assertEquals(BigInteger.valueOf(0), dcUp.get("id")); assertEquals(BigInteger.valueOf(images.length - 1), dcDown.get("id")); dcUp.close(); dcDown.close(); dc = ssn.retrieve(getModelName() + ".Group"); dc.addFilter("members.image.id = 0"); assertEquals(2, dc.size()); dc = ssn.retrieve(getModelName() + ".Image"); dc.addFilter("users.id = 0 and users.link.caption = '1'"); assertEquals(0, dc.size()); dc = ssn.retrieve(getModelName() + ".Group"); dc.addPath("members.id"); dc.addFilter("members.image.id = 0 and members.image.link.caption = '1'"); assertTrue(dc.next()); assertEquals(BigInteger.valueOf(1), dc.get("members.id")); assertFalse(dc.next()); }
public void testReferenceLinkAttribute() { Session ssn = SessionManager.getSession(); DataObject user = ssn.create(getModelName() + ".User"); user.set("id", BigInteger.valueOf(0)); user.set("email", "*****@*****.**"); user.set("firstName", "foo"); user.set("lastNames", "bar"); user.save(); DataObject[] images = new DataObject[2]; for (int i = 0; i < images.length; i++) { images[i] = ssn.create(getModelName() + ".Image"); images[i].set("id", BigInteger.valueOf(i)); byte[] bytes = "This is the image.".getBytes(); images[i].set("bytes", bytes); images[i].save(); } // set image user.set("image", images[0]); user.save(); // retrieve and then update caption DataAssociationCursor dac = ((DataAssociation) images[0].get("users")).cursor(); dac.next(); assertNull(dac.getLinkProperty("caption")); assertEquals(user, dac.getDataObject()); DataObject link = dac.getLink(); link.set("caption", "caption"); link.save(); dac = ((DataAssociation) images[0].get("users")).cursor(); dac.next(); assertEquals("caption", dac.getLinkProperty("caption")); assertEquals(1L, ((DataAssociation) images[0].get("users")).size()); // set new image as image user.set("image", images[1]); user.save(); // check that old image is no longer associated with user assertEquals(0L, ((DataAssociation) images[0].get("users")).size()); // check that new image is associated with user and has no caption dac = ((DataAssociation) images[1].get("users")).cursor(); dac.next(); assertNull(dac.getLinkProperty("caption")); assertEquals(1L, ((DataAssociation) images[1].get("users")).size()); }
/** * Constructor * * @param obj data object we belong to. The appropriate editor support is acquired as the * DataObject's EditorSupport.class cookie. */ public Editor(DataObject obj) { this(obj, (EditorSupport) obj.getCookie(EditorSupport.class)); }