Hello, I will provide a test case tommorow because i left my laptop in the office.
thanks a lot. cheers. Stefan Guggisberg wrote: > > On Wed, Sep 16, 2009 at 12:39 PM, freak182 <[email protected]> wrote: >> >> Hello, >> >> it does not fail on the assert becuase i set this before saving: >> fileContent.addMixin(JcrConstants.MIX_REFERENCEABLE); >> and i wonder why now it is not working? still when i access this: >> nodeToRemove.getUUID(); throws an exception. > > can you provide a simple test case? > please also provide detailed information about your environment. > > cheers > stefan > > >> >> cheers. >> >> >> Stefan Guggisberg wrote: >>> >>> On Wed, Sep 16, 2009 at 9:19 AM, freak182 <[email protected]> >>> wrote: >>>> >>>> Hello, >>>> >>>> I have problem retreiving the uuid? >>>> here is the scenario: >>>> >>>> when i save the file, here is the code: >>>> >>>> ................................. >>>> >>>> Node file = folder.addNode(name, "nt:file"); >>>> Node fileContent = file.addNode("jcr:content", >>>> "nt:resource"); >>>> fileContent.addMixin(JcrConstants.MIX_REFERENCEABLE); >>>> >>>> session.save(); >>>> uuid = fileContent.getUUID(); >>>> >>>> ..this save fine and some metadata save in DB also including the uuid. >>>> >>>> Now i want to delete the file: >>>> >>>> Node nodeToRemove = session.getRootNode().getNode(path.substring(1)); >>>> String uuid = nodeToRemove.getUUID(); ---> error here >>>> if (nodeToRemove != null) >>>> { >>>> nodeToRemove.remove(); >>>> session.save(); >>>> >>>> // >>>> jcrFileStorageDao.delete(jcrFileStorageDao.loadByUUID(uuid)); >>>> } >>>> >>>> javax.jcr.UnsupportedRepositoryOperationException >>>> at >>>> org.apache.jackrabbit.core.NodeImpl.getUUID(NodeImpl.java:3040) >>> >>> nodeToRemove is probably not mix:referenceable. you can test this by >>> adding >>> >>> assert(node.isNodeType(JcrConstants.MIX_REFERENCEABLE)); >>> >>> cheers >>> stefan >>> >>>> >>>> how can i resolve this? >>>> >>>> thanks a lot. >>>> cheers. >>>> >>>> >>>> Christoph Kiehl-3 wrote: >>>>> >>>>> Michal Hybler wrote: >>>>> >>>>>> I have this method >>>>>> >>>>>> ws = session.getWorkspace(); >>>>>> manager = ws.getQueryManager(); >>>>>> query = manager.createQuery("select * from >>>>>> nt:unstructured where >>>>>> jcr:uuid >>>>>> = '"+id+"'",Query.SQL); >>>>>> QueryResult result = query.execute(); >>>>>> NodeIterator it = result.getNodes(); >>>>>> return it.nextNode(); >>>>>> with Id which I remembered when I insert file into jackrabbit. >>>>>> >>>>>> after that I run this code >>>>>> >>>>>> HashMap<String,String> properties = new HashMap<String,String>(); >>>>>> try { >>>>>> PropertyIterator iter = node.getProperties(); >>>>>> while(iter.hasNext()){ >>>>>> Property prop = iter.nextProperty(); >>>>>> if (!prop.getDefinition().isMultiple()) >>>>>> { >>>>>> properties.put(prop.getName(), >>>>>> prop.getValue().getString()); >>>>>> } >>>>>> >>>>>> } >>>>>> if (getResNode(node) != null) { >>>>>> Node resNode = getResNode(node); >>>>>> iter = resNode.getProperties(); >>>>>> while(iter.hasNext()){ >>>>>> Property prop = >>>>>> iter.nextProperty(); >>>>>> if >>>>>> (!prop.getDefinition().isMultiple()) { >>>>>> >>>>>> properties.put(prop.getName(), prop.getValue().getString()); >>>>>> } >>>>>> } >>>>>> } >>>>> >>>>> I don't know what getResNode(node) does, but I suppose it loads some >>>>> other >>>>> node >>>>> which is different to the one retrieved by the query. If you remove >>>>> this >>>>> if-block the uuids should be equal as far as I can see. >>>>> And as Brian already wrote: you should be better off using >>>>> session.getNodeByUUID() instead of using a query. This method performs >>>>> much >>>>> faster than a query. >>>>> >>>>> Cheers, >>>>> Christoph >>>>> >>>>> >>>>> >>>> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/UUID-tp9616867p25467222.html >>>> Sent from the Jackrabbit - Users mailing list archive at Nabble.com. >>>> >>>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/UUID-tp9616867p25469884.html >> Sent from the Jackrabbit - Users mailing list archive at Nabble.com. >> >> > > -- View this message in context: http://www.nabble.com/UUID-tp9616867p25471938.html Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
