Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 46638 invoked from network); 7 Jun 2006 08:13:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 7 Jun 2006 08:13:18 -0000 Received: (qmail 88207 invoked by uid 500); 7 Jun 2006 08:13:13 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 88130 invoked by uid 500); 7 Jun 2006 08:13:13 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 88078 invoked by uid 99); 7 Jun 2006 08:13:12 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Jun 2006 01:13:12 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [81.19.98.105] (HELO eul0600087.eu.verio.net) (81.19.98.105) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Jun 2006 01:13:08 -0700 Received: from monkiki.local (inversas.2g.jazztel.es [87.219.106.226] (may be forged)) (authenticated bits=0) by eul0600087.eu.verio.net (8.12.11.20060308/8.12.11) with ESMTP id k578CY4T012363 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) for ; Wed, 7 Jun 2006 10:12:46 +0200 Subject: Re: isCheckedOut bug? From: Paco Avila To: dev@jackrabbit.apache.org In-Reply-To: <1149625836.19906.6.camel@localhost> References: <1149625836.19906.6.camel@localhost> Content-Type: text/plain Date: Wed, 07 Jun 2006 10:12:29 +0200 Message-Id: <1149667949.26152.1.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Here is a sample code: --------------------------------------------- import java.io.File; import java.io.IOException; import java.util.Calendar; import java.util.Hashtable; import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.Session; import javax.jcr.SimpleCredentials; import javax.jcr.Workspace; import javax.naming.Context; import javax.naming.InitialContext; import org.apache.commons.io.FileUtils; import org.apache.jackrabbit.core.jndi.RegistryHelper; public class IsCheckedOutTest { public static void main(String[] args) throws Exception { removeRepository(); Session session = getSession(); Node root = createRepository(session); // Add a new node Node child = root.addNode("prueba", "nt:file"); child.addMixin("mix:referenceable"); child.addMixin("mix:lockable"); child.addMixin("mix:versionable"); Node content = child.addNode("jcr:content", "nt:resource"); content.setProperty("jcr:mimeType", "text/plain"); content.setProperty("jcr:data", "En un lugar de La Mancha..."); content.setProperty("jcr:lastModified", Calendar.getInstance()); System.out.println("isCheckedOut: "+child.isCheckedOut()); root.save(); System.out.println("isCheckedOut: "+child.isCheckedOut()); } /** * */ public static void removeRepository() { // Remove previous repo try { FileUtils.deleteDirectory(new File("repotest/repository")); FileUtils.deleteDirectory(new File("repotest/versions")); FileUtils.deleteDirectory(new File("repotest/workspaces")); } catch (IOException e) { System.err.println("No previous repo"); } } /** * */ public static Session getSession() throws Exception { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory"); env.put(Context.PROVIDER_URL, "localhost"); InitialContext ctx = new InitialContext(env); // Repository config String configFile = "repotest/repository.xml"; String repHomeDir = "repotest"; RegistryHelper.registerRepository(ctx, "repo", configFile, repHomeDir, true); // Obtain the repository through a JNDI lookup Repository r = (Repository) ctx.lookup("repo"); // Create a new repository session, after authenticating Session session = r.login(new SimpleCredentials("paco", "".toCharArray()), null); System.out.println("Session: "+session); return session; } /** * */ public static Node createRepository(Session session) throws Exception { // Namespace registration Workspace ws = session.getWorkspace(); ws.getNamespaceRegistry().registerNamespace("okm", "http://www.pepito.org/1.0"); // Node creation Node root = session.getRootNode(); Node okmRoot = root.addNode("okm:root", "nt:folder"); okmRoot.addMixin("mix:referenceable"); session.save(); System.out.println("Repository created."); return okmRoot; } } --------------------------------------------- -- Paco Avila