[jboss-svn-commits] JBL Code SVN: r34957 - in labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit: src and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 1 11:49:29 EDT 2010
Author: kurt.stam at jboss.com
Date: 2010-09-01 11:49:29 -0400 (Wed, 01 Sep 2010)
New Revision: 34957
Added:
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/pom.xml
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/repository/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/repository/jackrabbit/
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/repository/jackrabbit/JackrabbitRepositoryConfigurator.java
Modified:
labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/
Log:
adding jackrabbit implementation
Property changes on: labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit
___________________________________________________________________
Name: svn:ignore
+ .settings
target
.classpath
.project
Added: labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/pom.xml
===================================================================
--- labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/pom.xml (rev 0)
+++ labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/pom.xml 2010-09-01 15:49:29 UTC (rev 34957)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>drools</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.2.0.SNAPSHOT</version>
+ </parent>
+ <artifactId>drools-repository-jcr-jackrabbit</artifactId>
+ <packaging>jar</packaging>
+ <name>Drools :: Repository</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-core</artifactId>
+ <!--
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-core</artifactId>
+ </exclusion>
+ </exclusions>
+ -->
+ </dependency>
+ <dependency>
+ <artifactId>drools-repository-jcr-api</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.2.0.SNAPSHOT</version>
+ </dependency>
+
+ </dependencies>
+</project>
Added: labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/repository/jackrabbit/JackrabbitRepositoryConfigurator.java
===================================================================
--- labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/repository/jackrabbit/JackrabbitRepositoryConfigurator.java (rev 0)
+++ labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository-jcr-jackrabbit/src/main/java/org/drools/repository/jackrabbit/JackrabbitRepositoryConfigurator.java 2010-09-01 15:49:29 UTC (rev 34957)
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.drools.repository.jackrabbit;
+
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Properties;
+
+import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
+import org.apache.jackrabbit.commons.cnd.CndImporter;
+import org.apache.jackrabbit.core.TransientRepository;
+import org.drools.repository.JCRRepositoryConfigurator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This contains code to initialise the repository for jackrabbit.
+ * This is mostly a collection of utilities.
+ * Any jackrabbit specific code needs to go in here.
+ */
+public class JackrabbitRepositoryConfigurator extends JCRRepositoryConfigurator {
+
+ private static final Logger log = LoggerFactory.getLogger(JackrabbitRepositoryConfigurator.class);
+ private static TransientRepository transientRepository = null;
+
+ /* (non-Javadoc)
+ * @see org.drools.repository.RepositoryConfigurator#getJCRRepository()
+ */
+ @Override
+ public Repository getJCRRepository(Properties properties) throws RepositoryException {
+
+ String repoRootDir = properties.getProperty(REPOSITORY_ROOT_DIRECTORY);
+ if (repoRootDir == null) {
+ transientRepository = new TransientRepository();
+ } else {
+ transientRepository = new TransientRepository(repoRootDir + "/repository.xml", repoRootDir);
+ }
+ return transientRepository;
+
+ }
+
+ public void registerNodeTypesFromCndFile(String cndFileName, Session session) throws RepositoryException {
+ try {
+ //Read in the CND file
+ Reader in = new InputStreamReader(this.getClass().getResourceAsStream( cndFileName ));
+ CndImporter.registerNodeTypes(in, session);
+
+ } catch(Exception e) {
+ log.error("Caught Exception", e);
+ throw new RepositoryException(e);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.drools.repository.JCRRepositoryConfigurator#shutdown()
+ */
+ public void shutdown() {
+ transientRepository.shutdown();
+ }
+
+}
More information about the jboss-svn-commits
mailing list