[jboss-svn-commits] JBL Code SVN: r35620 - in labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo: drools-repository/src/main/java/org/drools/repository and 6 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 20 20:16:07 EDT 2010
Author: kurt.stam at jboss.com
Date: 2010-10-20 20:16:06 -0400 (Wed, 20 Oct 2010)
New Revision: 35620
Added:
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/ClassUtil.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepositoryConfigurator.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/resources/drools_repository.properties
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RepositoryTestCase.java
Removed:
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JCRRepositoryConfigurator.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JackrabbitRepositoryConfigurator.java
Modified:
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/pom.xml
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/AssetItem.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RepositorySessionUtil.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ArchiveItemTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/CategoryItemTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ShareableAssetItemTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/migration/MigrateDroolsPackageTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/scm/jcr/JcrActionFactoryTest.java
labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/jcr-jr-impl/pom.xml
Log:
BRMS-402 switching drools-repository to use jcr-api using the jr-impl.
Property changes on: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository
___________________________________________________________________
Name: svn:ignore
- target
local
.metadata
.settings
.wtpmodules
nbproject
*.ipr
*.iws
*.iml
repository
repository.xml
derby.log
.classpath
.project
+ target
local
.metadata
.settings
.wtpmodules
nbproject
*.ipr
*.iws
*.iml
repository
repository.xml
derby.log
.classpath
.project
scalabilityTestRepo
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/pom.xml
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/pom.xml 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/pom.xml 2010-10-21 00:16:06 UTC (rev 35620)
@@ -35,11 +35,24 @@
<!-- Internal dependencies -->
<!-- External dependencies -->
<!-- first the deps for the repo API itself (Jackrabbit based) -->
+ <dependency>
+ <artifactId>drools-repository-jcr-api</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.1.0.BRMS</version>
+ </dependency>
<dependency>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-core</artifactId>
+ <artifactId>drools-repository-jcr-jr-impl</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.1.0.BRMS</version>
</dependency>
+ <!-- comment out the jr-impl and use the jcr-ms-impl
<dependency>
+ <artifactId>drools-repository-jcr-ms-impl</artifactId>
+ <groupId>org.drools</groupId>
+ <version>5.1.0.BRMS</version>
+ </dependency>
+ -->
+ <dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
</dependency>
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/AssetItem.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/AssetItem.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -306,8 +306,10 @@
checkIsUpdateable();
checkout();
try {
- this.node.setProperty(DATE_EFFECTIVE_PROPERTY_NAME,
+ if (newDateEffective!=null || this.node.hasProperty(DATE_EFFECTIVE_PROPERTY_NAME)) {
+ this.node.setProperty(DATE_EFFECTIVE_PROPERTY_NAME,
newDateEffective);
+ }
} catch (RepositoryException e) {
log.error("Caught Exception", e);
throw new RulesRepositoryException(e);
@@ -367,7 +369,9 @@
checkout();
try {
- this.node.setProperty(DATE_EXPIRED_PROPERTY_NAME, newDateExpired);
+ if (newDateExpired!=null || this.node.hasProperty(DATE_EXPIRED_PROPERTY_NAME)) {
+ this.node.setProperty(DATE_EXPIRED_PROPERTY_NAME, newDateExpired);
+ }
} catch (Exception e) {
log.error("Caught Exception", e);
throw new RulesRepositoryException(e);
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/CategorisableItem.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -149,18 +149,14 @@
Node ruleNode = getVersionContentNode();
try {
Property tagReferenceProperty = ruleNode.getProperty( CATEGORY_PROPERTY_NAME );
- Value[] tagValues = tagReferenceProperty.getValues();
- for ( int i = 0; i < tagValues.length; i++ ) {
- try {
- Node tagNode = this.node.getSession().getNodeByIdentifier( tagValues[i].getString() );
- CategoryItem tagItem = new CategoryItem( this.rulesRepository,
- tagNode );
- ac.add(tagItem);
-
- } catch (ItemNotFoundException e) {
- //ignore
- log.debug( "Was unable to load a category by UUID - must have been removed." );
- }
+ if (tagReferenceProperty.isMultiple()) {
+ Value[] tagValues = tagReferenceProperty.getValues();
+ for ( int i = 0; i < tagValues.length; i++ ) {
+ addTag(ac, tagValues[i].getString());
+ }
+ } else {
+ Value tagValue = tagReferenceProperty.getValue();
+ addTag(ac, tagValue.getString());
}
} catch ( PathNotFoundException e ) {
//the property doesn't even exist yet, so just return nothing
@@ -170,7 +166,20 @@
throw new RulesRepositoryException( e );
}
}
+
+ private void addTag(Accum ac, String tag) throws RepositoryException {
+ try {
+ Node tagNode = this.node.getSession().getNodeByIdentifier( tag );
+ CategoryItem tagItem = new CategoryItem( this.rulesRepository,
+ tagNode );
+ ac.add(tagItem);
+ } catch (ItemNotFoundException e) {
+ //ignore
+ log.debug( "Was unable to load a category by UUID - must have been removed." );
+ }
+ }
+
/**
* This will show a summary list of categories.
*/
Copied: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/ClassUtil.java (from rev 35609, labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/ClassUtil.java)
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/ClassUtil.java (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/ClassUtil.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -0,0 +1,363 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.drools.repository;
+
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Proxy;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+
+import org.apache.log4j.Logger;
+
+/**
+ * Utility methods to aid in class/resource loading.
+ *
+ * @author kevin
+ */
+public class ClassUtil
+{
+ private static Logger logger = Logger.getLogger(ClassUtil.class);
+
+ /**
+ * Load the specified class.
+ * @param className The name of the class to load.
+ * @param caller The class of the caller.
+ * @return The specified class.
+ * @throws ClassNotFoundException If the class cannot be found.
+ */
+ public static Class forName(final String className, final Class caller)
+ throws ClassNotFoundException
+ {
+ final ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader() ;
+ if (threadClassLoader != null)
+ {
+ try
+ {
+ return Class.forName(className, true, threadClassLoader) ;
+ }
+ catch (final ClassNotFoundException cnfe)
+ {
+ if (cnfe.getException() != null)
+ {
+ throw cnfe ;
+ }
+ }
+ }
+
+
+ final ClassLoader classLoader = caller.getClassLoader() ;
+ if (classLoader != null)
+ {
+ try
+ {
+ return Class.forName(className, true, classLoader) ;
+ }
+ catch (final ClassNotFoundException cnfe)
+ {
+ if (cnfe.getException() != null)
+ {
+ throw cnfe ;
+ }
+ }
+ }
+
+ return Class.forName(className, true, ClassLoader.getSystemClassLoader()) ;
+ }
+
+ /**
+ * Resolve a proxy for the specified interfaces.
+ * @param interfaces The interfaces associated with the proxy.
+ * @param caller The class of the caller.
+ * @return The specified proxy class.
+ * @throws ClassNotFoundException If the class cannot be found.
+ */
+ public static Class resolveProxy(final String[] interfaces, final Class caller)
+ throws ClassNotFoundException
+ {
+ final int numInterfaces = (interfaces == null ? 0 : interfaces.length) ;
+ if (numInterfaces == 0)
+ {
+ throw new ClassNotFoundException("Cannot generate proxy with no interfaces") ;
+ }
+
+ final Class[] interfaceClasses = new Class[numInterfaces] ;
+ for(int count = 0 ; count < numInterfaces ; count++)
+ {
+ interfaceClasses[count] = forName(interfaces[count], caller) ;
+ }
+
+ final ClassLoader proxyClassLoader ;
+ final ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader() ;
+ if (threadClassLoader != null)
+ {
+ proxyClassLoader = threadClassLoader ;
+ }
+ else
+ {
+ final ClassLoader classLoader = caller.getClassLoader() ;
+ if (classLoader != null)
+ {
+ proxyClassLoader = classLoader ;
+ }
+ else
+ {
+ proxyClassLoader = ClassLoader.getSystemClassLoader() ;
+ }
+ }
+
+ return Proxy.getProxyClass(proxyClassLoader, interfaceClasses) ;
+ }
+
+ /**
+ * Get the specified resource as a stream.
+ * @param resourceName The name of the class to load.
+ * @param caller The class of the caller.
+ * @return The input stream for the resource or null if not found.
+ */
+ public static InputStream getResourceAsStream(final String resourceName, final Class caller)
+ {
+ final String resource ;
+ if (resourceName.startsWith("/"))
+ {
+ resource = resourceName.substring(1) ;
+ }
+ else
+ {
+ final Package callerPackage = caller.getPackage() ;
+ if (callerPackage != null)
+ {
+ resource = callerPackage.getName().replace('.', '/') + '/' + resourceName ;
+ }
+ else
+ {
+ resource = resourceName ;
+ }
+ }
+ final ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader() ;
+ if (threadClassLoader != null)
+ {
+ final InputStream is = threadClassLoader.getResourceAsStream(resource) ;
+ if (is != null)
+ {
+ return is ;
+ }
+ }
+
+ final ClassLoader classLoader = caller.getClassLoader() ;
+ if (classLoader != null)
+ {
+ final InputStream is = classLoader.getResourceAsStream(resource) ;
+ if (is != null)
+ {
+ return is ;
+ }
+ }
+
+ return ClassLoader.getSystemResourceAsStream(resource) ;
+ }
+
+ public static URL getResource(final String resourceName, final Class<?> caller)
+ {
+ final String resource ;
+ if (resourceName.startsWith("/"))
+ {
+ resource = resourceName.substring(1) ;
+ }
+ else
+ {
+ final Package callerPackage = caller.getPackage() ;
+ if (callerPackage != null)
+ {
+ resource = callerPackage.getName().replace('.', '/') + '/' + resourceName ;
+ }
+ else
+ {
+ resource = resourceName ;
+ }
+ }
+ final ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader() ;
+ if (threadClassLoader != null)
+ {
+ final URL url = threadClassLoader.getResource(resource) ;
+ if (url != null)
+ {
+ return url ;
+ }
+ }
+
+ final ClassLoader classLoader = caller.getClassLoader() ;
+ if (classLoader != null)
+ {
+ final URL url = classLoader.getResource(resource) ;
+ if (url != null)
+ {
+ return url ;
+ }
+ }
+
+ return ClassLoader.getSystemResource(resource) ;
+ }
+
+
+ public static List<URL> getResources(String resourcePath, Class<?> caller) throws IOException {
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+
+ if(resourcePath.startsWith("/")) {
+ resourcePath = resourcePath.substring(1);
+ }
+
+ if (classLoader != null) {
+ return toList(classLoader.getResources(resourcePath));
+ }
+
+ classLoader = caller.getClassLoader();
+ if (classLoader != null) {
+ return toList(classLoader.getResources(resourcePath));
+ }
+
+ return new ArrayList<URL>();
+ }
+
+ private static <T> List<T> toList(Enumeration<T> objects) {
+ List<T> theList = new ArrayList<T>();
+ while(objects.hasMoreElements()) {
+ theList.add(objects.nextElement());
+ }
+ return theList;
+ }
+
+ /**
+ * Get a package name and convert it to a path value, so it can be used
+ * in calls to methods like {@link #getResourceAsStream}.
+ * <p/>
+ * Adds a '/' prefix and converts all '." characters to '/'. Doesn't add a
+ * trailing slash.
+ *
+ * @param packageObj The package.
+ * @return The package path.
+ */
+ public static String getPath(Package packageObj) {
+ return "/" + packageObj.getName().replace('.', '/');
+ }
+
+ public static List<String> getResourceList(String regex, Class caller) {
+ ClasspathResourceFilter filter = new ClasspathResourceFilter(regex);
+ ClassLoader classLoader;
+
+ classLoader = Thread.currentThread().getContextClassLoader();
+ if(classLoader instanceof URLClassLoader) {
+ filter.filter((URLClassLoader) classLoader);
+ }
+ classLoader = caller.getClassLoader();
+ if(classLoader instanceof URLClassLoader) {
+ filter.filter((URLClassLoader) classLoader);
+ }
+
+ return filter.getResourceList();
+ }
+
+ private static class ClasspathResourceFilter {
+
+ private List<String> resourceList = new ArrayList<String>();
+ private Pattern pattern;
+
+ private ClasspathResourceFilter(String regex) {
+ pattern = Pattern.compile(regex);
+ }
+
+ private void filter(URLClassLoader classLoader) {
+ URL[] cpUrls = classLoader.getURLs();
+
+ for (int i = 0; i < cpUrls.length; i++) {
+ try {
+ File file = new File(cpUrls[i].toURI());
+ if(file.isDirectory()) {
+ searchClasspathDirTree(file, "");
+ } else {
+ searchArchive(file);
+ }
+ } catch (URISyntaxException e) {
+ logger.warn("Error searching classpath resource URL '" + cpUrls[i] + "' for resource '" + pattern.pattern() + "': " + e.getMessage());
+ } catch (IOException e) {
+ logger.warn("Error searching classpath resource URL '" + cpUrls[i] + "' for resource '" + pattern.pattern() + "': " + e.getMessage());
+ }
+ }
+ }
+
+ private void searchClasspathDirTree(File rootDir, String subDir) {
+ File currentDir = new File(rootDir, subDir);
+ File[] contents = currentDir.listFiles();
+
+ for(File file: contents) {
+ if(file.isDirectory()) {
+ String subSubDir = subDir + "/" + file.getName();
+ searchClasspathDirTree(rootDir, subSubDir);
+ } else {
+ String resClasspathPath = file.toURI().toString().substring(rootDir.toURI().toString().length() - 1);
+ if(isToBeAdded(resClasspathPath)) {
+ resourceList.add(resClasspathPath);
+ }
+ }
+ }
+ }
+
+ private void searchArchive(File archiveFile) throws IOException {
+ ZipFile zip = new ZipFile(archiveFile);
+ Enumeration<? extends ZipEntry> entries = zip.entries();
+
+ while (entries.hasMoreElements()) {
+ ZipEntry entry = entries.nextElement();
+ String resClasspathPath = "/" + entry.getName();
+ if(isToBeAdded(resClasspathPath)) {
+ resourceList.add(resClasspathPath);
+ }
+ }
+ }
+
+ private boolean isToBeAdded(String resClasspathPath) {
+ if(resourceList.contains(resClasspathPath)) {
+ // Already in the list e.g. same resource in different archives...
+ return false;
+ }
+
+ Matcher matcher = pattern.matcher(resClasspathPath);
+ return matcher.matches();
+ }
+
+ private List<String> getResourceList() {
+ return resourceList;
+ }
+ }
+}
+
Deleted: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JCRRepositoryConfigurator.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JCRRepositoryConfigurator.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JCRRepositoryConfigurator.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -1,51 +0,0 @@
-/**
- * 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;
-
-import javax.jcr.Repository;
-import javax.jcr.Session;
-
-/**
- * This interface is required so different JCR implementations can provide their own configuration mechanism.
- *
- * @author Michael Neale
- *
- */
-public interface JCRRepositoryConfigurator {
-
- /**
- * @return a new Repository instance.
- * There should only be one instance of this in an application.
- * Generally, one repository (which may be binded to JNDI) can spawn multiple sessions
- * for each user as needed.
- * Typically this would be created on application startup.
- * @param repositoryRootDirectory The directory where the data is stored. If empty, the repository will be generated
- * there the first time it is used. If it is null, then a default location will be used (it won't fail).
- */
- public abstract Repository getJCRRepository(String repositoryRootDirectory);
-
- /**
- * Attempts to setup the repository. If the work that it tries to do has already been done, it
- * will return without modifying the repository.
- * This will register any node types, and setup bootstrap nodes as needed.
- * This will not erase any data.
- *
- * @throws RulesRepositoryException
- */
- public abstract void setupRulesRepository(Session session) throws RulesRepositoryException;
-
-}
\ No newline at end of file
Deleted: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JackrabbitRepositoryConfigurator.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JackrabbitRepositoryConfigurator.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/JackrabbitRepositoryConfigurator.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -1,136 +0,0 @@
-/**
- * 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;
-
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.Calendar;
-
-import javax.jcr.Node;
-import javax.jcr.Repository;
-import javax.jcr.Session;
-import javax.jcr.Workspace;
-
-import org.apache.jackrabbit.commons.cnd.CndImporter;
-import org.apache.jackrabbit.core.TransientRepository;
-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 implements JCRRepositoryConfigurator {
-
- private static final Logger log = LoggerFactory.getLogger(JackrabbitRepositoryConfigurator.class);
-
- /* (non-Javadoc)
- * @see org.drools.repository.RepositoryConfigurator#getJCRRepository()
- */
- public Repository getJCRRepository(String repoRootDir) {
-
- if (repoRootDir == null) {
- return new TransientRepository();
- } else {
- return new TransientRepository(repoRootDir + "/repository.xml", repoRootDir);
- }
-
- }
-
-
-
- /* (non-Javadoc)
- * @see org.drools.repository.RepositoryConfigurator#setupRulesRepository(javax.jcr.Session)
- */
- public void setupRulesRepository(Session session) throws RulesRepositoryException {
- System.out.println("Setting up the repository, registering node types etc.");
- try {
- Node root = session.getRootNode();
- Workspace ws = session.getWorkspace();
-
- //no need to set it up again, skip it if it has.
- boolean registered = RulesRepositoryAdministrator.isNamespaceRegistered( session );
-
- if (!registered) {
- ws.getNamespaceRegistry().registerNamespace("drools", RulesRepository.DROOLS_URI);
-
- //Note, the order in which they are registered actually does matter !
- this.registerNodeTypesFromCndFile("/node_type_definitions/tag_node_type.cnd", session);
- this.registerNodeTypesFromCndFile("/node_type_definitions/state_node_type.cnd", session);
- this.registerNodeTypesFromCndFile("/node_type_definitions/versionable_node_type.cnd", session);
- this.registerNodeTypesFromCndFile("/node_type_definitions/versionable_asset_folder_node_type.cnd", session);
-
- this.registerNodeTypesFromCndFile("/node_type_definitions/rule_node_type.cnd", session);
- this.registerNodeTypesFromCndFile("/node_type_definitions/rulepackage_node_type.cnd", session);
-
- }
-
- // Setup the rule repository node
- Node repositoryNode = RulesRepository.addNodeIfNew(root, RulesRepository.RULES_REPOSITORY_NAME, "nt:folder");
-
-
-
- // Setup the RulePackageItem area
- Node packageAreaNode = RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.RULE_PACKAGE_AREA, "nt:folder");
-
- // Setup the global area
- if(!packageAreaNode.hasNode(RulesRepository.RULE_GLOBAL_AREA)){
- Node globalAreaNode = RulesRepository.addNodeIfNew(packageAreaNode, RulesRepository.RULE_GLOBAL_AREA, PackageItem.RULE_PACKAGE_TYPE_NAME);
- globalAreaNode.addNode( PackageItem.ASSET_FOLDER_NAME, "drools:versionableAssetFolder" );
- globalAreaNode.setProperty( PackageItem.TITLE_PROPERTY_NAME, RulesRepository.RULE_GLOBAL_AREA);
- globalAreaNode.setProperty( AssetItem.DESCRIPTION_PROPERTY_NAME, "the global area that holds sharable assets");
- globalAreaNode.setProperty(AssetItem.FORMAT_PROPERTY_NAME, PackageItem.PACKAGE_FORMAT);
- globalAreaNode.setProperty(PackageItem.CREATOR_PROPERTY_NAME, session.getUserID());
- Calendar lastModified = Calendar.getInstance();
- globalAreaNode.setProperty(PackageItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
- }
-
- // Setup the Snapshot area
- RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.PACKAGE_SNAPSHOT_AREA, "nt:folder");
-
- //Setup the Category area
- RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.TAG_AREA, "nt:folder");
-
- //Setup the State area
- RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.STATE_AREA, "nt:folder");
-
- //and we need the "Draft" state
- RulesRepository.addNodeIfNew( repositoryNode.getNode( RulesRepository.STATE_AREA ), StateItem.DRAFT_STATE_NAME, StateItem.STATE_NODE_TYPE_NAME );
-
- session.save();
- }
- catch(Exception e) {
- log.error("Caught Exception", e);
- System.err.println(e.getMessage());
- throw new RulesRepositoryException(e);
- }
- }
-
- private void registerNodeTypesFromCndFile(String cndFileName, Session session) throws RulesRepositoryException {
- 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 RulesRepositoryException(e);
- }
- }
-
-}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RepositorySessionUtil.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RepositorySessionUtil.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RepositorySessionUtil.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -17,30 +17,30 @@
package org.drools.repository;
import java.io.File;
-
+import javax.jcr.LoginException;
import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
-import javax.jcr.LoginException;
-import javax.jcr.RepositoryException;
/**
* This is a utility to simulate session behavior for the test suite.
+ *
* @author Michael Neale
- *
*/
public class RepositorySessionUtil {
private static ThreadLocal<RulesRepository> repo = new ThreadLocal<RulesRepository>();
private static Repository multiThreadedRepository;
+ private static Session session = null;
-// private static final Logger log = Logger.getLogger( RepositorySessionUtil.class );
+ // private static final Logger log = Logger.getLogger( RepositorySessionUtil.class );
- public static boolean deleteDir(File dir) {
+ public static boolean deleteDir( File dir ) {
if (dir.isDirectory()) {
String[] children = dir.list();
- for (int i=0; i<children.length; i++) {
+ for (int i = 0; i < children.length; i++) {
if (!deleteDir(new File(dir, children[i]))) {
return false;
}
@@ -51,42 +51,44 @@
return dir.delete();
}
-
public static RulesRepository getRepository() throws RulesRepositoryException {
- RulesRepository repoInstance = repo.get();
- //System.out.println("----------getRepository");
- if ( repoInstance == null ) {
-
- //System.out.println("----------repoInstance == null");
+ RulesRepository repoInstance = repo.get();
+ // System.out.println("----------getRepository");
+ if (repoInstance == null) {
- File dir = new File( "repository" );
- System.out.println( "DELETING test repo: " + dir.getAbsolutePath() );
- deleteDir( dir );
- System.out.println( "TEST repo was deleted." );
+ // System.out.println("----------repoInstance == null");
- JCRRepositoryConfigurator config = new JackrabbitRepositoryConfigurator();
+ System.out.println("----------repoInstance == null");
- //create a repo instance (startup)
- multiThreadedRepository = config.getJCRRepository(null);
+ File dir = new File("repository");
+ System.out.println("DELETING test repo: " + dir.getAbsolutePath());
+ deleteDir(dir);
+ System.out.println("TEST repo was deleted.");
- //create a session
- Session session;
try {
+ //configurator = new JackrabbitRepository
+ // create a repo instance (startup)
+
+ multiThreadedRepository = RulesRepositoryConfigurator.getInstance(null).getJCRRepository();
+
+ // create a session
+ //Session session;
+
session = multiThreadedRepository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(session);
- //clear out and setup
+ // clear out and setup
if (admin.isRepositoryInitialized()) {
admin.clearRulesRepository();
}
- config.setupRulesRepository( session );
- repoInstance = new RulesRepository( session );
+ RulesRepositoryConfigurator.getInstance(null).setupRepository(session);
+ repoInstance = new RulesRepository(session);
multiThreadedRepository.login(new SimpleCredentials("ADMINISTRATOR", "password".toCharArray()));
- //loonie hack
- //DroolsRepositoryAccessManager.adminThreadlocal.set( adminSession );
- repo.set( repoInstance );
- } catch ( Exception e) {
+ // loonie hack
+ // DroolsRepositoryAccessManager.adminThreadlocal.set( adminSession );
+ repo.set(repoInstance);
+ } catch (Exception e) {
throw new RulesRepositoryException(e);
}
}
@@ -94,53 +96,53 @@
return repoInstance;
}
- public static synchronized RulesRepository getMultiThreadedRepository() throws RulesRepositoryException {
- if ( multiThreadedRepository == null ) {
- //System.out.println("----------repoInstance == null");
+ public static synchronized RulesRepository getMultiThreadedRepository() throws RulesRepositoryException {
+ if (multiThreadedRepository == null) {
+ // System.out.println("----------repoInstance == null");
- File dir = new File( "repository" );
- System.out.println( "DELETING test repo: " + dir.getAbsolutePath() );
- deleteDir( dir );
- System.out.println( "TEST repo was deleted." );
+ File dir = new File("repository");
+ System.out.println("DELETING test repo: " + dir.getAbsolutePath());
+ deleteDir(dir);
+ System.out.println("TEST repo was deleted.");
- JCRRepositoryConfigurator config = new JackrabbitRepositoryConfigurator();
+ try {
+ // create a repo instance (startup)
+ multiThreadedRepository = RulesRepositoryConfigurator.getInstance(null).getJCRRepository();
- //create a repo instance (startup)
- multiThreadedRepository = config.getJCRRepository(null);
+ // create a session to config repo
+ Session session = multiThreadedRepository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
+ RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(session);
- //create a session to config repo
- Session session;
- try {
- session = multiThreadedRepository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
- RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(session);
+ // clear out and setup
+ if (admin.isRepositoryInitialized()) {
+ admin.clearRulesRepository();
+ }
+ RulesRepositoryConfigurator.getInstance(null).setupRepository( session);
+ } catch (Exception e) {
+ throw new RulesRepositoryException(e);
+ }
+ }
- //clear out and setup
- if (admin.isRepositoryInitialized()) {
- admin.clearRulesRepository();
- }
- config.setupRulesRepository( session );
- } catch ( Exception e) {
- throw new RulesRepositoryException(e);
- }
- }
+ // associate this repo instance with thread specific sessions every time.
+ Session session;
+ try {
+ session = multiThreadedRepository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
+ RulesRepository threadLocalRepo = new RulesRepository(session);
+ return threadLocalRepo;
+ } catch (LoginException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (RepositoryException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
+ }
+ public static void shutdown() throws RepositoryException {
+ RulesRepositoryConfigurator.getInstance(null).shutdown();
+ repo.set(null);
+ multiThreadedRepository = null;
+ }
- //associate this repo instance with thread specific sessions every time.
- Session session;
- try {
- session = multiThreadedRepository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
- RulesRepository threadLocalRepo = new RulesRepository( session );
- return threadLocalRepo;
- } catch (LoginException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (RepositoryException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return null;
- }
-
-
-
}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepository.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepository.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -116,7 +116,7 @@
private Session session;
- static boolean initialized = false;
+ boolean initialized = false;
/**
* This requires a JCR session be setup, and the repository be configured.
@@ -126,7 +126,7 @@
checkForDataMigration( this );
}
- private synchronized static void checkForDataMigration(RulesRepository self) {
+ private synchronized void checkForDataMigration(RulesRepository self) {
if ( initialized ) return;
if ( self.session.getUserID().equals( "anonymous" ) ) return;
try {
Copied: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepositoryConfigurator.java (from rev 35609, labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/java/org/drools/repository/RulesRepositoryConfigurator.java)
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepositoryConfigurator.java (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/java/org/drools/repository/RulesRepositoryConfigurator.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -0,0 +1,157 @@
+package org.drools.repository;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Calendar;
+import java.util.Properties;
+
+import javax.jcr.Node;
+import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.Workspace;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RulesRepositoryConfigurator {
+
+ private static final Logger log = LoggerFactory.getLogger(RulesRepositoryConfigurator.class);
+ /**
+ * The classpath resource from which the RepositoryFactory properties are loaded. Currently, this is {@value} .
+ */
+ public static final String PROPERTIES_FILE = "/drools_repository.properties";
+ public static final String CONFIGURATOR_CLASS = "org.drools.repository.configurator";
+ private static JCRRepositoryConfigurator jcrRepositoryConfigurator = null;
+ private static Repository jcrRepository = null;
+ private static RulesRepositoryConfigurator rulesRepositoryConfigurator = null;
+
+ private RulesRepositoryConfigurator() {}
+
+ public Repository getJCRRepository() throws RepositoryException
+ {
+ getInstance(null);
+ return jcrRepository;
+ }
+
+ public synchronized static RulesRepositoryConfigurator getInstance(Properties properties) throws RepositoryException
+ {
+ if (rulesRepositoryConfigurator == null ) {
+ System.out.println("******* RULES CONFIG ");
+ rulesRepositoryConfigurator = new RulesRepositoryConfigurator();
+ if (properties==null) properties = new Properties();
+ Properties fileProperties = new Properties();
+ // Load the properties file ...
+ InputStream propStream = ClassUtil.getResourceAsStream(PROPERTIES_FILE, rulesRepositoryConfigurator.getClass());
+ if (propStream != null) {
+ try {
+ fileProperties.load(propStream);
+ for (Object key : fileProperties.keySet()) {
+ if (!properties.containsKey(key)) {
+ properties.put(key, fileProperties.get(key));
+ }
+ }
+ } catch (IOException ioe) {
+ throw new RepositoryException (ioe);
+ } finally {
+ try {
+ propStream.close();
+ } catch (IOException ioe) {
+ throw new RepositoryException (ioe);
+ }
+ }
+ } else {
+ throw new RepositoryException ("Cannot load properties from " + PROPERTIES_FILE);
+ }
+
+ try {
+ String configuratorClazz = properties.getProperty(CONFIGURATOR_CLASS);
+ if (configuratorClazz==null) throw new RepositoryException("User must define a '" +
+ CONFIGURATOR_CLASS + "' property.");
+ Class clazz = ClassUtil.forName(configuratorClazz, rulesRepositoryConfigurator.getClass());
+ jcrRepositoryConfigurator = (JCRRepositoryConfigurator) clazz.newInstance();
+ jcrRepository = jcrRepositoryConfigurator.getJCRRepository(properties);
+ } catch (Exception ex) {
+ throw new RepositoryException (ex);
+ }
+
+ }
+ return rulesRepositoryConfigurator;
+ }
+
+
+/**
+ * Attempts to setup the repository. If the work that it tries to do has already been done, it will return without modifying
+ * the repository. This will register any node types, and setup bootstrap nodes as needed. This will not erase any data.
+ *
+ * @throws RepositoryException
+ */
+public void setupRepository(Session session) throws RepositoryException {
+ System.out.println("Setting up the repository, registering node types etc.");
+ try {
+ Node root = session.getRootNode();
+ Workspace ws = session.getWorkspace();
+
+ //no need to set it up again, skip it if it has.
+ boolean registered = RulesRepositoryAdministrator.isNamespaceRegistered( session );
+
+ if (!registered) {
+ ws.getNamespaceRegistry().registerNamespace("drools", RulesRepository.DROOLS_URI);
+
+ //Note, the order in which they are registered actually does matter !
+ jcrRepositoryConfigurator.registerNodeTypesFromCndFile("/node_type_definitions/tag_node_type.cnd", session, ws);
+ jcrRepositoryConfigurator.registerNodeTypesFromCndFile("/node_type_definitions/state_node_type.cnd", session, ws);
+ jcrRepositoryConfigurator.registerNodeTypesFromCndFile("/node_type_definitions/versionable_node_type.cnd", session, ws);
+ jcrRepositoryConfigurator.registerNodeTypesFromCndFile("/node_type_definitions/versionable_asset_folder_node_type.cnd", session, ws);
+
+ jcrRepositoryConfigurator.registerNodeTypesFromCndFile("/node_type_definitions/rule_node_type.cnd", session, ws);
+ jcrRepositoryConfigurator.registerNodeTypesFromCndFile("/node_type_definitions/rulepackage_node_type.cnd", session, ws);
+ }
+
+ // Setup the rule repository node
+ Node repositoryNode = RulesRepository.addNodeIfNew(root, RulesRepository.RULES_REPOSITORY_NAME, "nt:folder");
+
+
+
+ // Setup the RulePackageItem area
+ Node packageAreaNode = RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.RULE_PACKAGE_AREA, "nt:folder");
+
+ // Setup the global area
+ if(!packageAreaNode.hasNode(RulesRepository.RULE_GLOBAL_AREA)){
+ Node globalAreaNode = RulesRepository.addNodeIfNew(packageAreaNode, RulesRepository.RULE_GLOBAL_AREA, PackageItem.RULE_PACKAGE_TYPE_NAME);
+ globalAreaNode.addNode( PackageItem.ASSET_FOLDER_NAME, "drools:versionableAssetFolder" );
+ globalAreaNode.setProperty( PackageItem.TITLE_PROPERTY_NAME, RulesRepository.RULE_GLOBAL_AREA);
+ globalAreaNode.setProperty( AssetItem.DESCRIPTION_PROPERTY_NAME, "the global area that holds sharable assets");
+ globalAreaNode.setProperty(AssetItem.FORMAT_PROPERTY_NAME, PackageItem.PACKAGE_FORMAT);
+ globalAreaNode.setProperty(PackageItem.CREATOR_PROPERTY_NAME, session.getUserID());
+ Calendar lastModified = Calendar.getInstance();
+ globalAreaNode.setProperty(PackageItem.LAST_MODIFIED_PROPERTY_NAME, lastModified);
+ }
+
+ // Setup the Snapshot area
+ RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.PACKAGE_SNAPSHOT_AREA, "nt:folder");
+
+ //Setup the Category area
+ RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.TAG_AREA, "nt:folder");
+
+ //Setup the State area
+ RulesRepository.addNodeIfNew(repositoryNode, RulesRepository.STATE_AREA, "nt:folder");
+
+ //and we need the "Draft" state
+ RulesRepository.addNodeIfNew( repositoryNode.getNode( RulesRepository.STATE_AREA ), StateItem.DRAFT_STATE_NAME, StateItem.STATE_NODE_TYPE_NAME );
+
+ session.save();
+ }
+ catch(Exception e) {
+ log.error("Caught Exception", e);
+ System.err.println(e.getMessage());
+ throw new RepositoryException(e);
+ }
+}
+
+ public void shutdown() {
+ jcrRepositoryConfigurator.shutdown();
+ System.out.println("SHUTDOWN RULES CONFIG");
+ rulesRepositoryConfigurator = null;
+ }
+}
Copied: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/resources/drools_repository.properties (from rev 35609, labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/main/resources/drools_repository.properties)
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/resources/drools_repository.properties (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/main/resources/drools_repository.properties 2010-10-21 00:16:06 UTC (rev 35620)
@@ -0,0 +1,16 @@
+# This file is used to load the properties passed to the JCR 2.0 RepositoryFactory.
+#
+#
+# JACKRABBIT
+org.drools.repository.configurator = org.drools.repository.jackrabbit.JackrabbitRepositoryConfigurator
+#
+org.drools.repository.jcr.impl = org.apache.jackrabbit.core.RepositoryFactoryImpl
+#
+
+# MODESHAPE
+
+# Currently, these properties will be used to load ModeShape from the specified configuration file.
+#
+#org.drools.repository.configurator = org.drools.repository.modeshape.ModeShapeRepositoryConfigurator
+#
+#org.modeshape.jcr.URL = file:src/test/resources/modeshape/configuration.xml
\ No newline at end of file
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ArchiveItemTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ArchiveItemTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ArchiveItemTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -20,18 +20,15 @@
import java.util.Iterator;
import java.util.List;
-import junit.framework.TestCase;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
-public class ArchiveItemTest extends TestCase {
+public class ArchiveItemTest extends RepositoryTestCase {
- private RulesRepository getRepo() {
- return RepositorySessionUtil.getRepository();
- }
-
- private PackageItem getDefaultPackage() {
- return getRepo().loadDefaultPackage();
- }
-
+ @Test
public void testFindArchivedAssets() throws Exception {
RulesRepository repo = RepositorySessionUtil.getRepository();
@@ -66,6 +63,7 @@
assertTrue( item.isArchived() );
}
+ @Test
public void testArchiveBooleanFlag() throws Exception {
AssetItem item = RepositorySessionUtil.getRepository().loadDefaultPackage().addAsset( "testArchiveBooleanFlag",
"yeah" );
@@ -78,12 +76,18 @@
item.checkin( "lalalala" );
}
- public void testLoadArchivedAsset() throws Exception {
+ @Test
+ public void testLoadArchivedAsset() throws Exception {
+ AssetItem itemAdd = RepositorySessionUtil.getRepository().loadDefaultPackage().addAsset( "testArchiveBooleanFlag",
+ "yeah" );
+ itemAdd.archiveItem( true );
+
AssetItem item = RepositorySessionUtil.getRepository().loadDefaultPackage().loadAsset( "testArchiveBooleanFlag" );
System.out.println( item );
assertTrue( item.isArchived() );
}
+ @Test
public void testFindArchivedAssetsByCategory() {
getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCatArchive",
"yeah" );
@@ -120,6 +124,7 @@
return list;
}
+ @Test
public void testLoadPackages() {
RulesRepository repo = getRepo();
PackageItem item = repo.createPackage( "testListPackagesblah",
@@ -154,6 +159,7 @@
list.size() );
}
+ @Test
public void testFindRulesByNameArchived() throws Exception {
RulesRepository repo = RepositorySessionUtil.getRepository();
@@ -224,6 +230,7 @@
}
+ @Test
public void testlistbyformatArchived() {
}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/AssetItemTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -25,19 +25,16 @@
import javax.jcr.version.Version;
import javax.jcr.version.VersionIterator;
-import junit.framework.TestCase;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
-public class AssetItemTest extends TestCase {
+public class AssetItemTest extends RepositoryTestCase {
-
- private RulesRepository getRepo() {
- return RepositorySessionUtil.getRepository();
- }
-
- private PackageItem getDefaultPackage() {
- return getRepo().loadDefaultPackage();
- }
-
+ @Test
public void testAssetItemCreation() throws Exception {
Calendar now = Calendar.getInstance();
@@ -76,6 +73,7 @@
}
}
+ @Test
public void testGetContentLength() throws Exception {
RulesRepository repo = getRepo();
PackageItem pkg = repo.loadDefaultPackage();
@@ -94,6 +92,7 @@
}
+ @Test
public void testGetPackageItem() throws Exception {
RulesRepository repo = getRepo();
PackageItem def = repo.loadDefaultPackage();
@@ -104,7 +103,7 @@
}
-
+ @Test
public void testUpdateStringProperty() throws Exception {
RulesRepository repo = getRepo();
PackageItem def = repo.loadDefaultPackage();
@@ -136,7 +135,7 @@
}
-
+ @Test
public void testGetPackageItemHistorical() throws Exception {
RulesRepository repo = getRepo();
PackageItem pkg = repo.createPackage("testGetPackageItemHistorical", "");
@@ -172,6 +171,7 @@
}
}
+ @Test
public void testGetAssetNameFromFileName() {
String[] asset = AssetItem.getAssetNameFromFileName("foo.bar");
assertEquals("foo", asset[0]);
@@ -221,7 +221,7 @@
}
-
+ @Test
public void testGetContent() {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetContent", "test content");
@@ -241,7 +241,7 @@
assertNotNull(content);
}
-
+ @Test
public void testUpdateContent() throws Exception {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testUpdateContent", "test description");
@@ -285,7 +285,7 @@
}
}
-
+ @Test
public void testCategoriesPagination() {
PackageItem pkg = getRepo().createPackage("testPagination", "");
getRepo().loadCategory( "/" ).addCategory( "testPagedTag", "description" );
@@ -344,6 +344,7 @@
}
+ @Test
public void testCategories() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testAddTag", "test content");
@@ -392,7 +393,7 @@
}
-
+ @Test
public void testUpdateCategories() {
getRepo().loadCategory( "/" ).addCategory( "testUpdateCategoriesOnAsset", "la" );
getRepo().loadCategory( "/" ).addCategory( "testUpdateCategoriesOnAsset2", "la" );
@@ -413,6 +414,7 @@
}
+ @Test
public void testFindRulesByCategory() throws Exception {
getRepo().loadCategory( "/" ).addCategory( "testFindRulesByCat", "yeah" );
@@ -443,7 +445,7 @@
}
-
+ @Test
public void testRemoveTag() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testRemoveTag", "test content");
@@ -467,6 +469,7 @@
}
+ @Test
public void testGetTags() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetTags", "test content");
@@ -483,6 +486,7 @@
}
+ @Test
public void testSetStateString() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testSetStateString", "test content");
@@ -512,15 +516,15 @@
}
-
+ @Test
public void testStatusStuff() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetState", "test content");
StateItem stateItem1 = ruleItem1.getState();
assertEquals(StateItem.DRAFT_STATE_NAME, stateItem1.getName());
+ getRepo().createState( "TestState1" );
-
ruleItem1.updateState("TestState1");
assertNotNull(ruleItem1.getState());
assertEquals("TestState1", ruleItem1.getState().getName());
@@ -530,11 +534,13 @@
assertEquals(getRepo().getState( StateItem.DRAFT_STATE_NAME ), ruleItem1.getState());
}
+ @Test
public void testToString() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testToString", "test content");
assertNotNull(ruleItem1.toString());
}
+ @Test
public void testGetLastModifiedOnCheckin() throws Exception {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetLastModified", "test content");
@@ -557,6 +563,7 @@
}
+ @Test
public void testGetDateEffective() {
AssetItem ruleItem1 = getDefaultPackage().addAsset("testGetDateEffective", "test content");
@@ -572,6 +579,7 @@
assertEquals(cal, cal2);
}
+ @Test
public void testGetDateExpired() {
try {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetDateExpired", "test content");
@@ -591,7 +599,7 @@
}
}
-
+ @Test
public void testSaveAndCheckinDescriptionAndTitle() throws Exception {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetDescription", "");
ruleItem1.checkin( "version0" );
@@ -627,6 +635,7 @@
}
+ @Test
public void testGetPrecedingVersionAndRestore() throws Exception {
getRepo().loadCategory( "/" ).addCategory( "foo", "ka" );
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetPrecedingVersion", "descr");
@@ -699,6 +708,7 @@
assertFalse(oldVersionNumber == restored.getVersionNumber() );
}
+ @Test
public void testGetSucceedingVersion() {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetSucceedingVersion", "test description");
ruleItem1.checkin( "version0" );
@@ -720,6 +730,7 @@
assertEquals(ruleItem1.getContent(), succeedingRuleItem.getContent());
}
+ @Test
public void testGetSuccessorVersionsIterator() {
try {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetSuccessorVersionsIterator", "test content");
@@ -762,6 +773,7 @@
}
}
+ @Test
public void testGetPredecessorVersionsIterator() {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetPredecessorVersionsIterator", "test description");
ruleItem1.checkin( "version0" );
@@ -805,6 +817,7 @@
}
+ @Test
public void testHistoryIterator() throws Exception {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testHistoryIterator", "test description");
ruleItem1.checkin( "version0" );
@@ -825,12 +838,14 @@
}
+ @Test
public void testGetTitle() {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetTitle", "test content");
assertEquals("testGetTitle", ruleItem1.getTitle());
}
+ @Test
public void testDublinCoreProperties() {
PackageItem pkg = getRepo().createPackage( "testDublinCore", "wa" );
@@ -850,6 +865,7 @@
}
+ @Test
public void testGetFormat() throws Exception {
AssetItem ruleItem1 = getRepo().loadDefaultPackage().addAsset("testGetFormat", "test content");
ruleItem1.updateContent( "la" );
@@ -862,6 +878,7 @@
assertEquals("blah", ruleItem1.getFormat());
}
+ @Test
public void testAnonymousProperties() {
AssetItem item = getRepo().loadDefaultPackage().addAsset( "anonymousproperty", "lalalalala" );
item.updateUserProperty( "fooBar", "value");
@@ -881,6 +898,7 @@
}
+ @Test
public void testBinaryAsset() throws Exception {
AssetItem item = getRepo().loadDefaultPackage().addAsset( "testBinaryAsset", "yeah" );
String data = "abc 123";
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/CategoryItemTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/CategoryItemTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/CategoryItemTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -16,184 +16,257 @@
package org.drools.repository;
+import java.util.Calendar;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
-import javax.jcr.ItemNotFoundException;
+import javax.jcr.Node;
+import javax.jcr.Property;
+import javax.jcr.PropertyIterator;
+import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
+import javax.jcr.Value;
+import javax.jcr.Workspace;
-import org.drools.repository.RulesRepository;
-import org.drools.repository.CategoryItem;
+import org.junit.Ignore;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
-import junit.framework.TestCase;
+public class CategoryItemTest extends RepositoryTestCase {
-public class CategoryItemTest extends TestCase {
-
-
-
+
+
+ @Test
public void testTagItem() throws Exception {
- final CategoryItem root = getRepo().loadCategory( "/" );
+ final CategoryItem root = getRepo().loadCategory("/");
- root.addCategory( "TestTag", "nothing to see" );
+ root.addCategory("TestTag", "nothing to see");
+ CategoryItem tagItem1 = getRepo().loadCategory("TestTag");
+ assertNotNull(tagItem1);
+ assertEquals("TestTag", tagItem1.getName());
+ CategoryItem tagItem2 = getRepo().loadCategory("TestTag");
+ assertNotNull(tagItem2);
+ assertEquals("TestTag", tagItem2.getName());
+ assertEquals(tagItem1, tagItem2);
- CategoryItem tagItem1 = getRepo().loadCategory("TestTag");
- assertNotNull(tagItem1);
- assertEquals("TestTag", tagItem1.getName());
+ List originalCats = getRepo().loadCategory("/").getChildTags(); // listCategoryNames();
+ assertTrue(originalCats.size() > 0);
- CategoryItem tagItem2 = getRepo().loadCategory("TestTag");
- assertNotNull(tagItem2);
- assertEquals("TestTag", tagItem2.getName());
- assertEquals(tagItem1, tagItem2);
+ CategoryItem rootCat = (CategoryItem)originalCats.get(0);
+ assertNotNull(rootCat.getName());
+ assertNotNull(rootCat.getFullPath());
- List originalCats = getRepo().loadCategory( "/" ).getChildTags(); //listCategoryNames();
- assertTrue(originalCats.size() > 0);
+ root.addCategory("FootestTagItem", "nothing");
- CategoryItem rootCat = (CategoryItem) originalCats.get( 0 );
- assertNotNull(rootCat.getName());
- assertNotNull(rootCat.getFullPath());
+ List cats = root.getChildTags();
+ assertEquals(originalCats.size() + 1, cats.size());
- root.addCategory( "FootestTagItem", "nothing" );
-
- List cats = root.getChildTags();
- assertEquals(originalCats.size() + 1, cats.size());
-
- boolean found = false;
- for ( Iterator iter = cats.iterator(); iter.hasNext(); ) {
- CategoryItem element = (CategoryItem) iter.next();
- if (element.getName().equals( "FootestTagItem" )) {
- found = true; break;
- }
+ boolean found = false;
+ for (Iterator iter = cats.iterator(); iter.hasNext();) {
+ CategoryItem element = (CategoryItem)iter.next();
+ if (element.getName().equals("FootestTagItem")) {
+ found = true;
+ break;
}
+ }
- assertTrue(found);
+ assertTrue(found);
}
+ @Test
public void testCreateCateories() throws Exception {
RulesRepository repo = getRepo();
- //load the root
- CategoryItem root = repo.loadCategory( "/" );
+ // load the root
+ CategoryItem root = repo.loadCategory("/");
CategoryItem item = root.addCategory("testCreateCategories", "this is a top level one");
assertEquals("testCreateCategories", item.getName());
assertEquals("testCreateCategories", item.getFullPath());
- item = repo.loadCategory( "testCreateCategories" );
+ item = repo.loadCategory("testCreateCategories");
assertEquals("testCreateCategories", item.getName());
item.remove();
repo.save();
try {
- repo.loadCategory( "testCreateCategories" );
+ repo.loadCategory("testCreateCategories");
fail("this should not exist");
} catch (RulesRepositoryException e) {
assertNotNull(e.getCause());
}
}
+ @Test
public void testGetChildTags() {
- CategoryItem tagItem1 = getRepo().loadCategory("TestTag");
- assertNotNull(tagItem1);
- assertEquals("TestTag", tagItem1.getName());
+
+ final CategoryItem root = getRepo().loadCategory("/");
- List childTags = tagItem1.getChildTags();
- assertNotNull(childTags);
- assertEquals(0, childTags.size());
+ root.addCategory("TestTag", "nothing to see");
+
+ CategoryItem tagItem1 = getRepo().loadCategory("TestTag");
+ assertNotNull(tagItem1);
+ assertEquals("TestTag", tagItem1.getName());
- tagItem1.addCategory( "TestChildTag1", "description" );
+ List childTags = tagItem1.getChildTags();
+ assertNotNull(childTags);
+ assertEquals(0, childTags.size());
- childTags = tagItem1.getChildTags();
- assertNotNull(childTags);
- assertEquals(1, childTags.size());
- assertEquals("TestChildTag1", ((CategoryItem)childTags.get(0)).getName());
+ tagItem1.addCategory("TestChildTag1", "description");
- tagItem1.addCategory( "AnotherChild", "ignore me" );
+ childTags = tagItem1.getChildTags();
+ assertNotNull(childTags);
+ assertEquals(1, childTags.size());
+ assertEquals("TestChildTag1", ((CategoryItem)childTags.get(0)).getName());
- childTags = tagItem1.getChildTags();
- assertNotNull(childTags);
- assertEquals(2, childTags.size());
+ tagItem1.addCategory("AnotherChild", "ignore me");
+
+ childTags = tagItem1.getChildTags();
+ assertNotNull(childTags);
+ assertEquals(2, childTags.size());
}
+ @Test
public void testGetChildTag() {
- CategoryItem root = getRepo().loadCategory( "/" );
- CategoryItem tagItem1 = root.addCategory("testGetChildTag", "yeah");
- assertNotNull(tagItem1);
- assertEquals("testGetChildTag", tagItem1.getName());
+ CategoryItem root = getRepo().loadCategory("/");
+ CategoryItem tagItem1 = root.addCategory("testGetChildTag", "yeah");
+ assertNotNull(tagItem1);
+ assertEquals("testGetChildTag", tagItem1.getName());
- //test that child is added if not already in existence
- List childTags = tagItem1.getChildTags();
- assertNotNull(childTags);
- assertEquals(0, childTags.size());
+ // test that child is added if not already in existence
+ List childTags = tagItem1.getChildTags();
+ assertNotNull(childTags);
+ assertEquals(0, childTags.size());
- CategoryItem childTagItem1 = tagItem1.addCategory("TestChildTag1", "woo");
- assertNotNull(childTagItem1);
- assertEquals("TestChildTag1", childTagItem1.getName());
+ CategoryItem childTagItem1 = tagItem1.addCategory("TestChildTag1", "woo");
+ assertNotNull(childTagItem1);
+ assertEquals("TestChildTag1", childTagItem1.getName());
- //test that if already there, it is returned
- CategoryItem childTagItem2 = getRepo().loadCategory( "testGetChildTag/TestChildTag1");
- assertNotNull(childTagItem2);
- assertEquals("TestChildTag1", childTagItem2.getName());
- assertEquals(childTagItem1, childTagItem2);
+ // test that if already there, it is returned
+ CategoryItem childTagItem2 = getRepo().loadCategory("testGetChildTag/TestChildTag1");
+ assertNotNull(childTagItem2);
+ assertEquals("TestChildTag1", childTagItem2.getName());
+ assertEquals(childTagItem1, childTagItem2);
}
+ @Test
public void testGetFullPath() {
- CategoryItem root = getRepo().loadCategory( "/" );
+ CategoryItem root = getRepo().loadCategory("/");
- CategoryItem tagItem1 = root.addCategory("testGetFullPath", "foo");
- assertNotNull(tagItem1);
- assertEquals("testGetFullPath", tagItem1.getFullPath());
+ CategoryItem tagItem1 = root.addCategory("testGetFullPath", "foo");
+ assertNotNull(tagItem1);
+ assertEquals("testGetFullPath", tagItem1.getFullPath());
- CategoryItem childTagItem1 = tagItem1.addCategory("TestChildTag1", "foo");
- assertNotNull(childTagItem1);
- assertEquals("testGetFullPath/TestChildTag1", childTagItem1.getFullPath());
+ CategoryItem childTagItem1 = tagItem1.addCategory("TestChildTag1", "foo");
+ assertNotNull(childTagItem1);
+ assertEquals("testGetFullPath/TestChildTag1", childTagItem1.getFullPath());
- CategoryItem childTagItem2 = childTagItem1.addCategory("TestChildTag2", "wee");
- assertNotNull(childTagItem2);
- assertEquals("testGetFullPath/TestChildTag1/TestChildTag2", childTagItem2.getFullPath());
+ CategoryItem childTagItem2 = childTagItem1.addCategory("TestChildTag2", "wee");
+ assertNotNull(childTagItem2);
+ assertEquals("testGetFullPath/TestChildTag1/TestChildTag2", childTagItem2.getFullPath());
-
-
}
+ @Test
public void testRemoveCategoryUneeded() {
RulesRepository repo = getRepo();
- repo.loadCategory( "/" ).addCategory( "testRemoveCat", "a" );
- AssetItem as = repo.loadDefaultPackage().addAsset( "testRemoveCategory", "a", "testRemoveCat", "drl" );
- as.checkin( "a" );
- as.updateCategoryList( new String[] {} );
+ repo.loadCategory("/").addCategory("testRemoveCat", "a");
+ AssetItem as = repo.loadDefaultPackage().addAsset("testRemoveCategory", "a", "testRemoveCat", "drl");
+ as.checkin("a");
+ as.updateCategoryList(new String[] {});
- as.checkin( "a" );
+ as.checkin("a");
- as = repo.loadDefaultPackage().loadAsset( "testRemoveCategory" );
+ as = repo.loadDefaultPackage().loadAsset("testRemoveCategory");
assertEquals(0, as.getCategories().size());
-
- repo.loadCategory( "testRemoveCat" ).remove();
+ repo.loadCategory("testRemoveCat").remove();
repo.save();
}
-
+ @Test
public void testRemoveCategoryLinkedWithArchived() {
RulesRepository repo = getRepo();
- repo.loadCategory( "/" ).addCategory( "testRemoveCategoryWithArchivedCat", "a" );
- AssetItem as = repo.loadDefaultPackage().addAsset( "testRemoveCategoryWithArchivedAsset", "a", "testRemoveCategoryWithArchivedCat", "drl" );
- as.checkin( "a" );
+ repo.loadCategory("/").addCategory("testRemoveCategoryWithArchivedCat", "a");
+ AssetItem as = repo.loadDefaultPackage().addAsset("testRemoveCategoryWithArchivedAsset",
+ "a",
+ "testRemoveCategoryWithArchivedCat",
+ "drl");
+ as.checkin("a");
as.archiveItem(true);
- repo.loadCategory( "testRemoveCategoryWithArchivedCat" ).remove();
+ repo.loadCategory("testRemoveCategoryWithArchivedCat").remove();
+
repo.save();
-// as.remove();
+ as.remove();
}
+ /**
+ * This removed the complexity of testRemoveCategoryLinkedWithArchived, and
+ * was added to show a problem in ModeShape: https://jira.jboss.org/browse/MODE-877
+ */
+ @Test
+ public void simpleRemoveCategoryLinkedWithArchived() {
+ try {
+ RulesRepository repo = getRepo();
+ Session session = repo.getSession();
- private RulesRepository getRepo() {
- return RepositorySessionUtil.getRepository();
- }
+ Node rn = session.getRootNode();
+ Node asset = rn.addNode("asset","drools:assetNodeType");
+ //Adding some required properties
+ asset.setProperty("drools:packageName", "one");
+ asset.setProperty("drools:title", "title");
+ asset.setProperty("drools:format", "format");
+ asset.setProperty("drools:description", "description");
+ Calendar lastModified = Calendar.getInstance();
+ asset.setProperty("drools:lastModified", lastModified);
+ //Adding a category
+ Node category = rn.addNode("category","drools:categoryNodeType");
+ //adding the category to the asset
+ Value[] newTagValues = new Value[1];
+ newTagValues[0] = asset.getSession().getValueFactory().createValue( category );
+ asset.setProperty( "drools:categoryReference",
+ newTagValues );
+ //save the session
+ session.save();
+ //checking that is there.
+ PropertyIterator pi = category.getReferences();
+ while (pi.hasNext()) {
+ Property property = pi.nextProperty();
+ String name = property.getName();
+ System.out.println("Name=" + name);
+ assertEquals("drools:categoryReference", name);
+ }
+ //removing the category from the asset
+ Value[] updatedTagValues = new Value[1];
+ updatedTagValues[0] = null;
+ asset.setProperty( "drools:categoryReference",
+ updatedTagValues );
+ //session.save();
+ //removing the category itself
+ category.remove();
+ //saving the session, leads to a Referential Integrity Exception on ModeShape:
+ //https://jira.jboss.org/browse/MODE-877
+ session.save();
+
+ } catch (RepositoryException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ fail();
+ }
+ }
}
Copied: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RepositoryTestCase.java (from rev 35609, labs/jbossrules/branches/kstam_guvnor_modeshape/drools-repository/src/test/java/org/drools/repository/RepositoryTestCase.java)
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RepositoryTestCase.java (rev 0)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RepositoryTestCase.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -0,0 +1,44 @@
+/*
+ * ModeShape (http://www.modeshape.org)
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * See the AUTHORS.txt file in the distribution for a full listing of
+ * individual contributors.
+ *
+ * ModeShape is free software. Unless otherwise indicated, all code in ModeShape
+ * is licensed to you under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * ModeShape is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.drools.repository;
+
+import org.junit.After;
+import org.junit.AfterClass;
+
+public abstract class RepositoryTestCase {
+
+ @After
+ public void tearDown() throws Exception {
+ RepositorySessionUtil.shutdown();
+ }
+
+ protected RulesRepository getRepo() {
+ return RepositorySessionUtil.getRepository();
+ }
+
+ protected PackageItem getDefaultPackage() {
+ return getRepo().loadDefaultPackage();
+ }
+
+}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/RulesRepositoryTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -18,8 +18,8 @@
import java.io.ByteArrayInputStream;
import java.io.File;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
@@ -27,30 +27,32 @@
import java.util.List;
import java.util.Map;
import java.util.Random;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import javax.jcr.LoginException;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.PathNotFoundException;
-import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import javax.jcr.Workspace;
-import org.apache.jackrabbit.core.TransientRepository;
import org.drools.repository.RulesRepository.DateQuery;
import org.drools.repository.migration.MigrateDroolsPackage;
-import junit.framework.TestCase;
+import org.junit.Ignore;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
-public class RulesRepositoryTest extends TestCase {
+public class RulesRepositoryTest extends RepositoryTestCase {
int running = 0;
+ @Test
public void testDefaultPackage() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
Iterator it = repo.listPackages();
boolean foundDefault = false;
@@ -76,9 +78,10 @@
assertTrue( repo.initialized );
}
-
+
+ @Test
public void testCategoryRename() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
CategoryItem root = repo.loadCategory( "/" );
root.addCategory( "testCatRename",
@@ -123,8 +126,9 @@
}
+ @Test
public void testAddVersionARule() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem pack = repo.createPackage( "testAddVersionARule",
"description" );
repo.save();
@@ -161,8 +165,9 @@
}
+ @Test
public void testFindByState() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem pkg = repo.createPackage( "testFindByStatePackage",
"heheheh" );
AssetItem asset1 = pkg.addAsset( "asset1",
@@ -185,8 +190,9 @@
}
+ @Test
public void testFindRulesByName() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.loadDefaultPackage().addAsset( "findRulesByNamex1",
"X" );
@@ -225,8 +231,9 @@
}
+ @Test
public void testQueryText() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem pkg = repo.createPackage( "testQueryTest",
"" );
AssetItem asset = pkg.addAsset( "asset1",
@@ -274,8 +281,9 @@
}
+ @Test
public void testQuery() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
AssetItem asset = repo.loadDefaultPackage().addAsset( "testQuery",
"wanklerotaryengine1cc" );
@@ -421,8 +429,9 @@
}
+ @Test
public void testLoadRuleByUUIDWithConcurrentSessions() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem rulePackageItem = repo.loadDefaultPackage();
AssetItem rule = rulePackageItem.addAsset( "testLoadRuleByUUID",
@@ -492,8 +501,9 @@
asset2.getContent() );
}
+ @Test
public void testAddRuleCalendarWithDates() {
- RulesRepository rulesRepository = RepositorySessionUtil.getRepository();
+ RulesRepository rulesRepository = getRepo();
Calendar effectiveDate = Calendar.getInstance();
Calendar expiredDate = Calendar.getInstance();
@@ -513,8 +523,9 @@
ruleItem1.checkin( "ho " );
}
+ @Test
public void testGetState() {
- RulesRepository rulesRepository = RepositorySessionUtil.getRepository();
+ RulesRepository rulesRepository = getRepo();
StateItem state0 = rulesRepository.createState( "testGetState" );
assertNotNull( state0 );
@@ -533,8 +544,9 @@
stateItem2 );
}
+ @Test
public void testGetTag() {
- RulesRepository rulesRepository = RepositorySessionUtil.getRepository();
+ RulesRepository rulesRepository = getRepo();
CategoryItem root = rulesRepository.loadCategory( "/" );
CategoryItem tagItem1 = root.addCategory( "testGetTag",
@@ -562,8 +574,9 @@
tagItem3.getFullPath() );
}
+ @Test
public void testListPackages() {
- RulesRepository rulesRepository = RepositorySessionUtil.getRepository();
+ RulesRepository rulesRepository = getRepo();
rulesRepository.createPackage( "testListPackages",
"desc" );
@@ -590,8 +603,9 @@
assertFalse( foundGlobalArea );
}
+ @Test
public void testFindAssetsByState() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.loadCategory( "/" ).addCategory( "testFindAssetsByStateCat",
"X" );
@@ -631,8 +645,9 @@
((AssetItem) apl.assets.get( 0 )).getName() );
}
+ @Test
public void testFindAssetsByCategory() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.loadCategory( "/" ).addCategory( "testFindAssetsByCategoryUsingFilterCat",
"X" );
@@ -763,6 +778,7 @@
}
+ @Test
public void testFunnyOrdering() throws Exception {
}
@@ -770,8 +786,9 @@
/**
* Here we are testing to make sure that category links don't pick up stuff in snapshots area.
*/
+ @Test
public void testCategoriesAndSnapshots() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.loadCategory( "/" ).addCategory( "testCategoriesAndSnapshots",
"X" );
@@ -811,8 +828,9 @@
}
+ @Test
public void testMoveRulePackage() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem pkg = repo.createPackage( "testMove",
"description" );
AssetItem r = pkg.addAsset( "testMove",
@@ -857,9 +875,10 @@
assertEquals( uuid,
r.getUUID() );
}
-
+
+ @Test
public void testCopyAsset() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.createPackage( "testCopyAsset",
"asset" );
AssetItem item = repo.loadDefaultPackage().addAsset( "testCopyAssetSource",
@@ -886,8 +905,9 @@
dest.getVersionNumber() );
}
+ @Test
public void testRenameAsset() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.createPackage( "testRenameAsset",
"asset" );
AssetItem item = repo.loadPackage( "testRenameAsset" ).addAsset( "testRenameAssetSource",
@@ -914,8 +934,9 @@
}
+ @Test
public void testRenamePackage() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem original = repo.createPackage( "testRenamePackage",
"asset" );
List packagesOriginal = iteratorToList( repo.listPackages() );
@@ -948,8 +969,9 @@
}
+ @Test
public void testCopyPackage() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem source = repo.createPackage( "testCopyPackage",
"asset" );
AssetItem item = source.addAsset( "testCopyPackage",
@@ -990,8 +1012,9 @@
}
+ @Test
public void testListStates() {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
StateItem[] items = repo.listStates();
assertTrue( items.length > 0 );
@@ -1002,8 +1025,9 @@
items2.length );
}
+ @Test
public void testRenameState() {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
StateItem[] items = repo.listStates();
assertTrue( items.length > 0 );
@@ -1031,8 +1055,9 @@
assertNotNull( repo.loadState( newName ) );
}
+ @Test
public void testRemoveState() {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
StateItem[] items = repo.listStates();
assertTrue( items.length > 0 );
@@ -1057,9 +1082,27 @@
}
}
+ /*
+ * http://jira.jboss.org/browse/MODE-882
+ */
+ @Test
+ public void testSimpleImportExport() throws PathNotFoundException, IOException, RepositoryException {
+ RulesRepository repo = getRepo();
+
+ byte[] repository_backup;
- public void xtestImportExport() {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ Session session = getRepo().getSession();
+ session.refresh( false );
+ session.exportSystemView( "/" + "drools:repository", bout, false, false );
+ repository_backup = bout.toByteArray();
+ repo.importRulesRepositoryFromStream(new ByteArrayInputStream(
+ repository_backup));
+ }
+
+ @Test
+ public void testImportExport() {
+ RulesRepository repo = getRepo();
byte[] repository_unitest;
byte[] repository_backup;
@@ -1086,9 +1129,43 @@
repo.importRepository(new ByteArrayInputStream(repository_unitest));
assertTrue(repo.containsPackage("testImportExport"));
}
+
+ /*
+ * https://jira.jboss.org/browse/MODE-883
+ */
+ @Test
+ public void testSimpleShareableNodes() throws Exception {
+
+ Node node = getRepo().getSession().getNode("/drools:repository/drools:package_area/globalArea/");
+ Node assetNode = node.getNode("assets").addNode("testKurt","drools:assetNodeType");
+ //Adding some required properties
+ assetNode.setProperty("drools:packageName", "one");
+ assetNode.setProperty("drools:title", "title");
+ assetNode.setProperty("drools:format", "format");
+ assetNode.setProperty("drools:description", "description");
+ Calendar lastModified = Calendar.getInstance();
+ assetNode.setProperty("drools:lastModified", lastModified);
+ getRepo().getSession().save();
+ assetNode.checkin();
+
+
+ //Creating a shared Node
+ assetNode.checkout();
+ assetNode.addMixin("mix:shareable");
+ getRepo().getSession().save();
+ assetNode.checkin();
+ Workspace workspace = getRepo().getSession().getWorkspace();
+ String srcPath = "/drools:repository/drools:package_area/globalArea/assets/testKurt";
+ String path = "/drools:repository/drools:package_area/defaultPackage/assets/testKurt";
+ workspace.clone(workspace.getName(), srcPath, path, false);
+
+ assetNode.remove();
+
+ }
+ @Test
public void testShareableNodes() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
AssetItem item = repo.loadDefaultPackage().addAsset("testShareableNodeOriginal", "desc");
item.updateContent("la");
item.getNode().addMixin("mix:shareable");
@@ -1112,8 +1189,9 @@
originalItem.remove();
}
+ @Test
public void testShareableNodesWithQuery() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
AssetItem item = repo.loadGlobalArea().addAsset("testShareableNodesWithQueryOriginal", "desc");
item.updateFormat("xyz");
item.getNode().addMixin("mix:shareable");
@@ -1146,19 +1224,20 @@
assertTrue(list.get( 0 ) instanceof AssetItem);
}
+ @Test @Ignore
public void xtestImportExportWithShareableNodes() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
- AssetItem item = repo.loadDefaultPackage().addAsset("testShareableNodeOriginal", "desc");
+ RulesRepository repo = getRepo();
+ AssetItem item = repo.loadDefaultPackage().addAsset("testImportExportShareableNodeOriginal", "desc");
item.updateContent("la");
item.getNode().addMixin("mix:shareable");
- PackageItem source = repo.createPackage("testShareableNodesPackage", "desc");
+ PackageItem source = repo.createPackage("testImportExportShareableNodesPackage", "desc");
repo.save();
source.checkout();
Session session = repo.getSession();
Workspace workspace = session.getWorkspace();
- String path = "/drools:repository/drools:package_area/testShareableNodesPackage/assets/testShareableNodeShared";
+ String path = "/drools:repository/drools:package_area/testImportExportShareableNodesPackage/assets/testImportExportShareableNodeShared";
workspace.clone(workspace.getName(), item.getNode().getPath(), path, false);
repo.save();
@@ -1171,16 +1250,17 @@
repo.importRulesRepositoryFromStream(new ByteArrayInputStream(
repository_backup));
- assertTrue(repo.containsPackage("testShareableNodesPackage"));
- assertTrue(repo.loadPackage("testShareableNodesPackage").containsAsset("testShareableNodeOriginal"));
+ assertTrue(repo.containsPackage("testImportExportShareableNodesPackage"));
+ assertTrue(repo.loadPackage("testImportExportShareableNodesPackage").containsAsset("testImportExportShareableNodeOriginal"));
}
//In this test case we expect an ItemExistException from the second thread,
- //other than ending up with two packages with same name.
+ //other than ending up with two packages with same name.
//https://jira.jboss.org/jira/browse/GUVNOR-346
+ @Test
public void testConcurrentCopyPackage() throws Exception {
// set up testing data
- RulesRepository repo = RepositorySessionUtil.getMultiThreadedRepository();
+ RulesRepository repo = RepositorySessionUtil.getMultiThreadedRepository();
PackageItem source = repo.createPackage("testConcurrentCopyPackage",
"asset");
AssetItem item = source.addAsset("testCopyPackage", "desc");
@@ -1190,9 +1270,9 @@
int NUM_ITERATIONS = 40;
int NUM_SESSIONS = 2;
- for (int n = 0; n < NUM_ITERATIONS; n++) {
+ for (int n = 0; n < NUM_ITERATIONS; n++) {
Node folderNode = repo.getAreaNode(RulesRepository.RULE_PACKAGE_AREA);
- // cleanup
+ // cleanup
while (folderNode.hasNode("testConcurrentCopyPackage2")) {
folderNode.getNode("testConcurrentCopyPackage2").remove();
repo.save();
@@ -1210,8 +1290,9 @@
for (int i = 0; i < threads.length; i++) {
threads[i].join();
}
-
+
//Node folderNode = repo.getAreaNode(RulesRepository.RULE_PACKAGE_AREA);
+ folderNode.refresh(true);
NodeIterator results = folderNode.getNodes("testConcurrentCopyPackage2");
assertEquals(1, results.getSize());
} }
@@ -1220,7 +1301,7 @@
String identity;
Random r;
RulesRepository localRepo;
- ConcurrentCopySession(String identity) {
+ ConcurrentCopySession(String identity) {
this.identity = identity;
r = new Random();
localRepo = RepositorySessionUtil.getMultiThreadedRepository();
@@ -1239,11 +1320,12 @@
//This returns different repository instances for different threads
localRepo.copyPackage("testConcurrentCopyPackage",
"testConcurrentCopyPackage2");
- PackageItem dest = localRepo
- .loadPackage("testConcurrentCopyPackage2");
+ PackageItem dest = localRepo.loadPackage("testConcurrentCopyPackage2");
assertNotNull(dest);
- randomSleep(); } catch (RulesRepositoryException rre) {
+ randomSleep();
+ } catch (RulesRepositoryException rre) {
//expected
+ System.out.println("Expected");
} finally {
}
}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ScalabilityTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -20,6 +20,7 @@
import java.util.Calendar;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
import javax.jcr.Node;
import javax.jcr.Repository;
@@ -27,11 +28,12 @@
import javax.jcr.SimpleCredentials;
import javax.jcr.UnsupportedRepositoryOperationException;
-import org.apache.jackrabbit.core.TransientRepository;
import org.drools.repository.AssetItem;
import org.drools.repository.RulesRepository;
import org.drools.repository.RulesRepositoryException;
import org.drools.repository.VersionableItem;
+import org.junit.Ignore;
+import org.junit.Test;
import junit.framework.TestCase;
@@ -42,26 +44,28 @@
* It will take a LONG time to add these nodes, and does it in batches.
*
*/
-public class ScalabilityTest extends TestCase {
+public class ScalabilityTest extends RepositoryTestCase {
private static final int NUM = 5000;
private RulesRepository repo;
+ @Test
public void testDummy() {
}
+ @Test @Ignore
public void xxtestRun() throws Exception {
- JCRRepositoryConfigurator config = new JackrabbitRepositoryConfigurator();
-
- Session session = config.getJCRRepository("./scalabilityTestRepo").login(
+ Properties properties = new Properties();
+ properties.put(JCRRepositoryConfigurator.REPOSITORY_ROOT_DIRECTORY, "./scalabilityTestRepo");
+ RulesRepositoryConfigurator config = RulesRepositoryConfigurator.getInstance(properties);
+ Session session = config.getJCRRepository().login(
new SimpleCredentials("alan_parsons", "password".toCharArray()));
-
-
+ config.setupRepository(session);
repo = new RulesRepository(session);
long start = System.currentTimeMillis();
- //setupData( repo );
+ setupData( repo );
System.out.println("time to add, version and tag 5000: " + (System.currentTimeMillis() - start));
List list = listACat(repo);
System.out.println("list size is: " + list.size());
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ShareableAssetItemTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ShareableAssetItemTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/ShareableAssetItemTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -23,768 +23,812 @@
import java.util.Iterator;
import java.util.List;
+import javax.jcr.Node;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.RepositoryException;
+import javax.jcr.ValueFormatException;
+import javax.jcr.Workspace;
import javax.jcr.version.Version;
import javax.jcr.version.VersionIterator;
-import junit.framework.TestCase;
-import org.drools.repository.events.StorageEventManager;
+import org.junit.Ignore;
+import org.junit.Test;
-public class ShareableAssetItemTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.fail;
- private RulesRepository getRepo() {
- return RepositorySessionUtil.getRepository();
- }
+public class ShareableAssetItemTest extends RepositoryTestCase {
- private PackageItem loadGlobalArea() {
- return getRepo().loadGlobalArea();
- }
+ private PackageItem loadGlobalArea() {
+ return getRepo().loadGlobalArea();
+ }
- private PackageItem getDefaultPackage() {
- return getRepo().loadDefaultPackage();
- }
-
-
- public void testCreateShareableAsset() throws Exception {
- Calendar now = Calendar.getInstance();
- Thread.sleep(500); // MN: need this sleep to get the correct date
+ @Test
+ public void testCreateShareableAsset() throws Exception {
+ Calendar now = Calendar.getInstance();
+ Thread.sleep(500); // MN: need this sleep to get the correct date
- AssetItem ruleItem = loadGlobalArea().addAsset("testCreateShareableAssetAsset",
- "desc");
- ruleItem.updateContent("la");
- ruleItem.checkin("initial");
-
- AssetItem linkedRuleItem = getDefaultPackage().addAssetImportedFromGlobalArea(ruleItem.getName());
- linkedRuleItem.updateContent("laa");
- linkedRuleItem.checkin("second");
-
- //Test name
- assertEquals("testCreateShareableAssetAsset", linkedRuleItem.getName());
- assertEquals("testCreateShareableAssetAsset", ruleItem.getName());
+ AssetItem ruleItem = loadGlobalArea().addAsset("testCreateShareableAssetAsset", "desc");
+ ruleItem.updateContent("la");
+ ruleItem.checkin("initial");
- //Test Date
- assertNotNull(ruleItem.getCreatedDate());
- assertNotNull(linkedRuleItem.getCreatedDate());
- assertTrue(now.before(ruleItem.getCreatedDate()));
- assertTrue(now.before(linkedRuleItem.getCreatedDate()));
+ AssetItem linkedRuleItem = getDefaultPackage().addAssetImportedFromGlobalArea(ruleItem.getName());
+ linkedRuleItem.updateContent("laa");
+ linkedRuleItem.checkin("second");
- //Test package name
- assertEquals("globalArea", ruleItem.getPackageName());
- //NOTE: For the asset that links to the shared asset, its package name is always "globalArea".
- assertEquals("globalArea", linkedRuleItem.getPackageName());
- assertEquals(loadGlobalArea().getUUID(), ruleItem.getPackage().getUUID());
-
- //REVISIT: getPackage mess.
- //assertEquals(loadGlobalArea().getUUID(), linkedRuleItem.getPackage().getUUID());
- assertEquals("laa", linkedRuleItem.getContent());
- assertEquals("laa", ruleItem.getContent());
+ // Test name
+ assertEquals("testCreateShareableAssetAsset", linkedRuleItem.getName());
+ assertEquals("testCreateShareableAssetAsset", ruleItem.getName());
- //Test UUID
- assertNotNull(ruleItem.getUUID());
- assertNotNull(linkedRuleItem.getUUID());
- //NOTE: They are same nodes. So same UUID!
- assertTrue(linkedRuleItem.getUUID().equals(linkedRuleItem.getUUID()));
- }
-
- public void testRemoveShareableAsset() throws Exception {
- AssetItem asset = loadGlobalArea().addAsset("testRemoveShareableAssetAsset",
- "desc");
- asset.updateContent("la");
- asset.checkin("initial");
-
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- linkedAsset.updateContent("laa");
- linkedAsset.checkin("second");
-
- //REVISIT: the shared asset can not be removed unless no asset refers to it.
- //asset.remove();
-
- linkedAsset.remove();
-
- try {
- AssetItem linkedAsset1 = getDefaultPackage().loadAsset(
- "testRemoveShareableAssetAsset");
- fail("Did not get expected exception");
- } catch (RulesRepositoryException e) {
+ // Test Date
+ assertNotNull(ruleItem.getCreatedDate());
+ assertNotNull(linkedRuleItem.getCreatedDate());
+ assertTrue(now.before(ruleItem.getCreatedDate()));
+ assertTrue(now.before(linkedRuleItem.getCreatedDate()));
- }
-
- AssetItem asset1 = loadGlobalArea().loadAsset(
- "testRemoveShareableAssetAsset");
- assertTrue(asset.getUUID().equals(asset1.getUUID()));
- }
-
- public void testGetContentLengthForShareableAsset() throws Exception {
- AssetItem ruleItem = loadGlobalArea().addAsset("testGetContentLengthForShareableAsset", "desc");
- ruleItem.checkin("initial");
- AssetItem linkedRuleItem = getDefaultPackage().addAssetImportedFromGlobalArea(ruleItem.getName());
-
- assertEquals(0, ruleItem.getContentLength());
- assertEquals(0, linkedRuleItem.getContentLength());
- ruleItem.updateContent("boo");
- ruleItem.checkin("");
- assertEquals("boo".getBytes().length, ruleItem.getContentLength());
- assertEquals("boo".getBytes().length, linkedRuleItem.getContentLength());
-
- linkedRuleItem.updateContent("booo");
- linkedRuleItem.checkin("");
- assertEquals("booo".getBytes().length, ruleItem.getContentLength());
- assertEquals("booo".getBytes().length, linkedRuleItem.getContentLength());
-
-
- ruleItem = loadGlobalArea().addAsset("testGetContentLengthForShareableAsset2", "");
- ruleItem.checkin("initial");
- linkedRuleItem = getDefaultPackage().addAssetImportedFromGlobalArea(ruleItem.getName());
+ // Test package name
+ assertEquals("globalArea", ruleItem.getPackageName());
+ // NOTE: For the asset that links to the shared asset, its package name is always "globalArea".
+ assertEquals("globalArea", linkedRuleItem.getPackageName());
+ assertEquals(loadGlobalArea().getUUID(), ruleItem.getPackage().getUUID());
- assertEquals(0, ruleItem.getContentLength());
- assertEquals(0, linkedRuleItem.getContentLength());
- linkedRuleItem.updateBinaryContentAttachment(new ByteArrayInputStream("foobar"
- .getBytes()));
- linkedRuleItem.checkin("");
- assertEquals("foobar".getBytes().length, ruleItem.getContentLength());
- assertEquals("foobar".getBytes().length, linkedRuleItem.getContentLength());
-
- ruleItem.updateBinaryContentAttachment(new ByteArrayInputStream("foobarr"
- .getBytes()));
- ruleItem.checkin("");
- assertEquals("foobarr".getBytes().length, ruleItem.getContentLength());
- assertEquals("foobarr".getBytes().length, linkedRuleItem.getContentLength());
- }
+ // REVISIT: getPackage mess.
+ // assertEquals(loadGlobalArea().getUUID(), linkedRuleItem.getPackage().getUUID());
+ assertEquals("laa", linkedRuleItem.getContent());
+ assertEquals("laa", ruleItem.getContent());
- public void testUpdateStringPropertyForShareableAsset() throws Exception {
- AssetItem asset = loadGlobalArea().addAsset(
- "testUpdateStringPropertyForShareableAsset", "desc");
- asset.checkin("initial");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- linkedAsset.updateContent("new content");
- linkedAsset.checkin("");
+ // Test UUID
+ assertNotNull(ruleItem.getUUID());
+ assertNotNull(linkedRuleItem.getUUID());
+ // NOTE: They are same nodes. So same UUID!
+ assertTrue(linkedRuleItem.getUUID().equals(linkedRuleItem.getUUID()));
+ }
- linkedAsset.updateStringProperty("Anything", "AField");
- assertEquals("Anything", linkedAsset.getStringProperty("AField"));
- assertEquals("Anything", asset.getStringProperty("AField"));
+ @Test
+ public void testRemoveShareableAsset() throws Exception {
+ AssetItem asset = loadGlobalArea().addAsset("testRemoveShareableAssetAsset", "desc");
+ asset.updateContent("la");
+ asset.checkin("initial");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ linkedAsset.updateContent("laa");
+ linkedAsset.checkin("second");
- asset.updateStringProperty("More", "AField", false);
- asset.updateContent("more content");
- asset.checkin("");
+ // REVISIT: the shared asset can not be removed unless no asset refers to it.
+ // asset.remove();
- asset = getRepo().loadAssetByUUID(asset.getUUID());
- assertEquals("More", asset.getStringProperty("AField"));
- assertEquals("more content", asset.getContent());
- linkedAsset = getRepo().loadAssetByUUID(linkedAsset.getUUID());
- assertEquals("More", linkedAsset.getStringProperty("AField"));
- assertEquals("more content", asset.getContent());
- }
+ linkedAsset.remove();
- public void testGetPackageItemHistoricalForShareableAsset() throws Exception {
- AssetItem asset = loadGlobalArea().addAsset("testGetPackageItemHistoricalForShareableAsset", "test content");
- //Version 1, created by the original asset
- asset.checkin("initial");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ try {
+ AssetItem linkedAsset1 = getDefaultPackage().loadAsset("testRemoveShareableAssetAsset");
+ fail("Did not get expected exception");
+ } catch (RulesRepositoryException e) {
- //Test package snapshot
- getRepo().createPackageSnapshot(getDefaultPackage().getName(), "SNAP");
+ }
- PackageItem pkgSnap = getRepo().loadPackageSnapshot(getDefaultPackage().getName(), "SNAP");
- AssetItem assetSnap = pkgSnap.loadAsset("testGetPackageItemHistoricalForShareableAsset");
- PackageItem pkgSnap1 = assetSnap.getPackage();
- assertTrue(pkgSnap1.isSnapshot());
- assertTrue(pkgSnap.isSnapshot());
- assertFalse(getDefaultPackage().isSnapshot());
- assertEquals(getDefaultPackage().getName(), pkgSnap1.getName());
-
- AssetItem linkedAsset1 = getDefaultPackage().loadAsset("testGetPackageItemHistoricalForShareableAsset");
- PackageItem linkedPkg = linkedAsset1.getPackage();
- assertFalse(linkedPkg.isSnapshot());
- assertFalse(getDefaultPackage().isSnapshot());
- assertEquals(getDefaultPackage().getName(), linkedPkg.getName());
-
- linkedAsset.updateDescription("yeah !");
-
- //Version 3, created by LinkedAssetItem
- linkedAsset.checkin("new");
+ AssetItem asset1 = loadGlobalArea().loadAsset("testRemoveShareableAssetAsset");
+ assertTrue(asset.getUUID().equals(asset1.getUUID()));
+ }
- linkedAsset = getDefaultPackage().loadAsset("testGetPackageItemHistoricalForShareableAsset");
- assertNotNull(linkedAsset.getPackage());
+ @Test
+ public void testGetContentLengthForShareableAsset() throws Exception {
+ AssetItem ruleItem = loadGlobalArea().addAsset("testGetContentLengthForShareableAsset", "desc");
+ ruleItem.checkin("initial");
+ AssetItem linkedRuleItem = getDefaultPackage().addAssetImportedFromGlobalArea(ruleItem.getName());
- AssetHistoryIterator linkedIt = linkedAsset.getHistory();
- assertEquals(4, iteratorToList(linkedIt).size());
-
- asset = getDefaultPackage().loadAsset("testGetPackageItemHistoricalForShareableAsset");
- AssetHistoryIterator it = asset.getHistory();
- assertEquals(4, iteratorToList(it).size());
- }
-
- List iteratorToList(Iterator it) {
+ assertEquals(0, ruleItem.getContentLength());
+ assertEquals(0, linkedRuleItem.getContentLength());
+ ruleItem.updateContent("boo");
+ ruleItem.checkin("");
+ assertEquals("boo".getBytes().length, ruleItem.getContentLength());
+ assertEquals("boo".getBytes().length, linkedRuleItem.getContentLength());
+
+ linkedRuleItem.updateContent("booo");
+ linkedRuleItem.checkin("");
+ assertEquals("booo".getBytes().length, ruleItem.getContentLength());
+ assertEquals("booo".getBytes().length, linkedRuleItem.getContentLength());
+
+ ruleItem = loadGlobalArea().addAsset("testGetContentLengthForShareableAsset2", "");
+ ruleItem.checkin("initial");
+ linkedRuleItem = getDefaultPackage().addAssetImportedFromGlobalArea(ruleItem.getName());
+
+ assertEquals(0, ruleItem.getContentLength());
+ assertEquals(0, linkedRuleItem.getContentLength());
+ linkedRuleItem.updateBinaryContentAttachment(new ByteArrayInputStream("foobar".getBytes()));
+ linkedRuleItem.checkin("");
+ assertEquals("foobar".getBytes().length, ruleItem.getContentLength());
+ assertEquals("foobar".getBytes().length, linkedRuleItem.getContentLength());
+
+ ruleItem.updateBinaryContentAttachment(new ByteArrayInputStream("foobarr".getBytes()));
+ ruleItem.checkin("");
+ assertEquals("foobarr".getBytes().length, ruleItem.getContentLength());
+ assertEquals("foobarr".getBytes().length, linkedRuleItem.getContentLength());
+ }
+
+ @Test
+ public void testUpdateStringPropertyForShareableAsset() throws Exception {
+ AssetItem asset = loadGlobalArea().addAsset("testUpdateStringPropertyForShareableAsset", "desc");
+ asset.checkin("initial");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ linkedAsset.updateContent("new content");
+ linkedAsset.checkin("");
+
+ linkedAsset.updateStringProperty("Anything", "AField");
+ assertEquals("Anything", linkedAsset.getStringProperty("AField"));
+ assertEquals("Anything", asset.getStringProperty("AField"));
+
+ asset.updateStringProperty("More", "AField", false);
+ asset.updateContent("more content");
+ asset.checkin("");
+
+ asset = getRepo().loadAssetByUUID(asset.getUUID());
+ assertEquals("More", asset.getStringProperty("AField"));
+ assertEquals("more content", asset.getContent());
+ linkedAsset = getRepo().loadAssetByUUID(linkedAsset.getUUID());
+ assertEquals("More", linkedAsset.getStringProperty("AField"));
+ assertEquals("more content", asset.getContent());
+ }
+ /*
+ * https://jira.jboss.org/browse/MODE-879
+ */
+ @Test
+ public void testSimpleGetPackageItemHistoricalForShareableAsset() throws Exception {
+
+ Node node = getRepo().getSession().getNode("/drools:repository/drools:package_area/globalArea/");
+ Node assetNode = node.getNode("assets").addNode("testKurt","drools:assetNodeType");
+ //Adding some required properties
+ assetNode.setProperty("drools:packageName", "one");
+ assetNode.setProperty("drools:title", "title");
+ assetNode.setProperty("drools:format", "format");
+ assetNode.setProperty("drools:description", "description");
+ Calendar lastModified = Calendar.getInstance();
+ assetNode.setProperty("drools:lastModified", lastModified);
+ getRepo().getSession().save();
+ assetNode.checkin();
+ findAndPrintNodeName(assetNode);
+
+ //Creating a shared Node
+ assetNode.checkout();
+ assetNode.addMixin("mix:shareable");
+ getRepo().getSession().save();
+ assetNode.checkin();
+ Workspace workspace = getRepo().getSession().getWorkspace();
+ String srcPath = "/drools:repository/drools:package_area/globalArea/assets/testKurt";
+ String path = "/drools:repository/drools:package_area/defaultPackage/assets/testKurt";
+ workspace.clone(workspace.getName(), srcPath, path, false);
+
+ findAndPrintNodeName(assetNode);
+
+ // Test package snapshot
+ String packageName = getDefaultPackage().getName();
+ try {
+ Node snaps = getRepo().getAreaNode( "drools:packagesnapshot_area" );
+ if ( !snaps.hasNode( packageName ) ) {
+ snaps.addNode( packageName,
+ "nt:folder" );
+ getRepo().save();
+ }
+
+ String source = "/drools:repository/drools:package_area/defaultPackage";
+ String newName = "/drools:repository/drools:packagesnapshot_area/defaultPackage/SNAP";
+ getRepo().getSession().getWorkspace().copy( source, newName );
+ } catch ( Exception e ) {
+ fail();
+ }
+ findAndPrintNodeName(assetNode);
+ //asset.updateDescription("yeah !");
+ }
+
+ private void findAndPrintNodeName(Node node) throws ValueFormatException, PathNotFoundException, RepositoryException {
+ String UUID = node.getProperty("jcr:baseVersion").getString();
+ Node nodeFound = getRepo().getSession().getNodeByUUID(UUID);
+ System.out.println("Node:" + nodeFound.getName());
+ }
+
+ @Test
+ public void testGetPackageItemHistoricalForShareableAsset() throws Exception {
+ AssetItem asset = loadGlobalArea().addAsset("testGetPackageItemHistoricalForShareableAsset", "test content");
+ // Version 1, created by the original asset
+ asset.checkin("initial");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+
+ // Test package snapshot
+ String name = getDefaultPackage().getName();
+ getRepo().createPackageSnapshot(getDefaultPackage().getName(), "SNAP");
+
+ PackageItem pkgSnap = getRepo().loadPackageSnapshot(getDefaultPackage().getName(), "SNAP");
+ AssetItem assetSnap = pkgSnap.loadAsset("testGetPackageItemHistoricalForShareableAsset");
+ PackageItem pkgSnap1 = assetSnap.getPackage();
+ assertTrue(pkgSnap1.isSnapshot());
+ assertTrue(pkgSnap.isSnapshot());
+ assertFalse(getDefaultPackage().isSnapshot());
+ assertEquals(getDefaultPackage().getName(), pkgSnap1.getName());
+
+ AssetItem linkedAsset1 = getDefaultPackage().loadAsset("testGetPackageItemHistoricalForShareableAsset");
+ PackageItem linkedPkg = linkedAsset1.getPackage();
+ assertFalse(linkedPkg.isSnapshot());
+ assertFalse(getDefaultPackage().isSnapshot());
+ assertEquals(getDefaultPackage().getName(), linkedPkg.getName());
+
+ linkedAsset.updateDescription("yeah !");
+
+ // Version 3, created by LinkedAssetItem
+ linkedAsset.checkin("new");
+
+ linkedAsset = getDefaultPackage().loadAsset("testGetPackageItemHistoricalForShareableAsset");
+ assertNotNull(linkedAsset.getPackage());
+
+ AssetHistoryIterator linkedIt = linkedAsset.getHistory();
+ assertEquals(4, iteratorToList(linkedIt).size());
+
+ asset = getDefaultPackage().loadAsset("testGetPackageItemHistoricalForShareableAsset");
+ AssetHistoryIterator it = asset.getHistory();
+ assertEquals(4, iteratorToList(it).size());
+ }
+
+ List iteratorToList( Iterator it ) {
List list = new ArrayList();
- while(it.hasNext()) {
- list.add( it.next() );
+ while (it.hasNext()) {
+ list.add(it.next());
}
return list;
}
- public void testGetContentForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset(
- "testGetContentForShareableAsset", "test content");
- AssetItem linkedAsset = getRepo().loadDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
-
- linkedAsset.updateContent("test content");
- linkedAsset.updateFormat("drl");
+ @Test
+ public void testGetContentForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetContentForShareableAsset", "test content");
+ AssetItem linkedAsset = getRepo().loadDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- assertNotNull(linkedAsset.getNode());
- assertEquals("test content", linkedAsset.getContent());
- assertEquals("test content", asset.getContent());
+ linkedAsset.updateContent("test content");
+ linkedAsset.updateFormat("drl");
- assertFalse(linkedAsset.isBinary());
- assertFalse(asset.isBinary());
+ assertNotNull(linkedAsset.getNode());
+ assertEquals("test content", linkedAsset.getContent());
+ assertEquals("test content", asset.getContent());
- assertNotNull(linkedAsset.getBinaryContentAsBytes());
- assertNotNull(linkedAsset.getBinaryContentAttachment());
- String content = new String(linkedAsset.getBinaryContentAsBytes());
- assertNotNull(content);
- content = new String(asset.getBinaryContentAsBytes());
- assertNotNull(content);
- }
+ assertFalse(linkedAsset.isBinary());
+ assertFalse(asset.isBinary());
- public void testUpdateContentForShareableAsset() throws Exception {
- AssetItem asset = getRepo().loadGlobalArea().addAsset(
- "testUpdateContentForShareableAsset", "test content");
- AssetItem linkedAsset = getRepo().loadDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ assertNotNull(linkedAsset.getBinaryContentAsBytes());
+ assertNotNull(linkedAsset.getBinaryContentAttachment());
+ String content = new String(linkedAsset.getBinaryContentAsBytes());
+ assertNotNull(content);
+ content = new String(asset.getBinaryContentAsBytes());
+ assertNotNull(content);
+ }
- assertFalse(asset.getCreator().equals(""));
- assertFalse(linkedAsset.getCreator().equals(""));
- linkedAsset.updateContent("test content");
- linkedAsset.checkin("yeah");
+ @Test
+ public void testUpdateContentForShareableAsset() throws Exception {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testUpdateContentForShareableAsset", "test content");
+ AssetItem linkedAsset = getRepo().loadDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- assertFalse(linkedAsset.getLastContributor().equals(""));
- assertFalse(asset.getLastContributor().equals(""));
+ assertFalse(asset.getCreator().equals(""));
+ assertFalse(linkedAsset.getCreator().equals(""));
+ linkedAsset.updateContent("test content");
+ linkedAsset.checkin("yeah");
- linkedAsset.updateContent("new rule content");
+ assertFalse(linkedAsset.getLastContributor().equals(""));
+ assertFalse(asset.getLastContributor().equals(""));
- assertEquals("new rule content", linkedAsset.getContent());
+ linkedAsset.updateContent("new rule content");
- assertTrue(linkedAsset.getNode().getSession().hasPendingChanges());
- assertTrue(asset.getNode().getSession().hasPendingChanges());
+ assertEquals("new rule content", linkedAsset.getContent());
- asset.checkin("yeah !");
- assertFalse(asset.getNode().getSession().hasPendingChanges());
- assertEquals("yeah !", asset.getCheckinComment());
-
- try {
- linkedAsset.checkin("yeah linked !");
- fail("Did not get expected exception: Unable to checkin");
- } catch (RulesRepositoryException e) {
-
- }
+ assertTrue(linkedAsset.getNode().getSession().hasPendingChanges());
+ assertTrue(asset.getNode().getSession().hasPendingChanges());
- AssetItem prev = (AssetItem) asset.getPrecedingVersion();
- assertEquals("test content", prev.getContent());
- assertFalse("yeah !".equals(prev.getCheckinComment()));
+ asset.checkin("yeah !");
+ assertFalse(asset.getNode().getSession().hasPendingChanges());
+ assertEquals("yeah !", asset.getCheckinComment());
- asset = getDefaultPackage().loadAsset("testUpdateContentForShareableAsset");
- VersionIterator it = asset.getNode().getVersionHistory()
- .getAllVersions();
+ try {
+ linkedAsset.checkin("yeah linked !");
+ fail("Did not get expected exception: Unable to checkin");
+ } catch (RulesRepositoryException e) {
- // and this shows using a version iterator.
- // perhaps migrate to using this rather then next/prev methods.
- // this way, we can skip.
- assertTrue(it.hasNext());
- while (it.hasNext()) {
- Version n = it.nextVersion();
- AssetItem item = new AssetItem(asset.getRulesRepository(), n);
- assertNotNull(item);
- }
- }
+ }
- public void testCategoriesForShareableAsset() {
- getRepo().loadCategory("/").addCategory("testCategoriesTag", "description");
- getRepo().loadCategory("/").addCategory("testCategoriesTag2", "description");
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testCategoriesForShareableAsset", "desc");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ AssetItem prev = (AssetItem)asset.getPrecedingVersion();
+ assertEquals("test content", prev.getContent());
+ assertFalse("yeah !".equals(prev.getCheckinComment()));
- linkedAsset.addCategory("testCategoriesTag");
- List tags = linkedAsset.getCategories();
- assertEquals(1, tags.size());
- assertEquals("testCategoriesTag", ((CategoryItem) tags.get(0)).getName());
+ asset = getDefaultPackage().loadAsset("testUpdateContentForShareableAsset");
+ VersionIterator it = asset.getNode().getVersionHistory().getAllVersions();
- linkedAsset.addCategory("testCategoriesTag2");
- tags = linkedAsset.getCategories();
- assertEquals(2, tags.size());
+ // and this shows using a version iterator.
+ // perhaps migrate to using this rather then next/prev methods.
+ // this way, we can skip.
+ assertTrue(it.hasNext());
+ while (it.hasNext()) {
+ Version n = it.nextVersion();
+ AssetItem item = new AssetItem(asset.getRulesRepository(), n);
+ assertNotNull(item);
+ }
+ }
- linkedAsset.checkin("woot");
+ @Test
+ public void testCategoriesForShareableAsset() {
+ getRepo().loadCategory("/").addCategory("testCategoriesTag", "description");
+ getRepo().loadCategory("/").addCategory("testCategoriesTag2", "description");
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testCategoriesForShareableAsset", "desc");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- // now test retrieve by tags
- List result = getRepo().findAssetsByCategory("testCategoriesTag", 0, -1).assets;
- assertEquals(1, result.size());
- AssetItem retItem = (AssetItem) result.get(0);
- assertEquals("testCategoriesForShareableAsset", retItem.getName());
+ linkedAsset.addCategory("testCategoriesTag");
+ List tags = linkedAsset.getCategories();
+ assertEquals(1, tags.size());
+ assertEquals("testCategoriesTag", ((CategoryItem)tags.get(0)).getName());
- asset.updateContent("foo");
- asset.checkin("latest");
+ linkedAsset.addCategory("testCategoriesTag2");
+ tags = linkedAsset.getCategories();
+ assertEquals(2, tags.size());
- assertTrue(asset.getCategories().size() > 0);
- assertNotNull(asset.getCategorySummary());
- assertEquals("testCategoriesTag testCategoriesTag2 ", asset
- .getCategorySummary());
+ linkedAsset.checkin("woot");
- result = getRepo().findAssetsByCategory("testCategoriesTag2", 0, -1).assets;
+ // now test retrieve by tags
+ List result = getRepo().findAssetsByCategory("testCategoriesTag", 0, -1).assets;
+ assertEquals(1, result.size());
+ AssetItem retItem = (AssetItem)result.get(0);
+ assertEquals("testCategoriesForShareableAsset", retItem.getName());
- assertEquals(1, result.size());
- asset = (AssetItem) result.get(0);
- assertEquals(2, asset.getCategories().size());
- }
+ asset.updateContent("foo");
+ asset.checkin("latest");
- public void testUpdateCategoriesForShareableAsset() {
- getRepo().loadCategory("/").addCategory("testUpdateCategoriesForShareableAssetTag1", "la");
- getRepo().loadCategory("/").addCategory("testUpdateCategoriesForShareableAssetTag2", "la");
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testUpdateCategoriesForShareableAsset", "desc");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
-
- String[] cats = new String[] { "testUpdateCategoriesForShareableAssetTag1",
- "testUpdateCategoriesForShareableAssetTag2" };
- linkedAsset.updateCategoryList(cats);
+ assertTrue(asset.getCategories().size() > 0);
+ assertNotNull(asset.getCategorySummary());
+ assertEquals("testCategoriesTag testCategoriesTag2 ", asset.getCategorySummary());
- linkedAsset.checkin("aaa");
+ result = getRepo().findAssetsByCategory("testCategoriesTag2", 0, -1).assets;
- asset = getRepo().loadGlobalArea().loadAsset("testUpdateCategoriesForShareableAsset");
- assertEquals(2, asset.getCategories().size());
+ assertEquals(1, result.size());
+ asset = (AssetItem)result.get(0);
+ assertEquals(2, asset.getCategories().size());
+ }
- for (Iterator iter = asset.getCategories().iterator(); iter.hasNext();) {
- CategoryItem cat = (CategoryItem) iter.next();
- assertTrue(cat.getName().startsWith("testUpdateCategoriesForShareableAssetTag"));
- }
- }
+ @Test
+ public void testUpdateCategoriesForShareableAsset() {
+ getRepo().loadCategory("/").addCategory("testUpdateCategoriesForShareableAssetTag1", "la");
+ getRepo().loadCategory("/").addCategory("testUpdateCategoriesForShareableAssetTag2", "la");
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testUpdateCategoriesForShareableAsset", "desc");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- public void testRemoveTagForShareableAsset() {
- getRepo().loadCategory("/").addCategory("testRemoveTagForShareableAssetTag1", "la");
- getRepo().loadCategory("/").addCategory("testRemoveTagForShareableAssetTag2", "description");
- getRepo().loadCategory("/").addCategory("testRemoveTagForShareableAssetTag3", "description");
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testRemoveTagForShareableAsset", "desc");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ String[] cats = new String[] {"testUpdateCategoriesForShareableAssetTag1", "testUpdateCategoriesForShareableAssetTag2"};
+ linkedAsset.updateCategoryList(cats);
- linkedAsset.addCategory("testRemoveTagForShareableAssetTag1");
- List tags = linkedAsset.getCategories();
- assertEquals(1, tags.size());
- linkedAsset.removeCategory("testRemoveTagForShareableAssetTag1");
- tags = linkedAsset.getCategories();
- assertEquals(0, tags.size());
+ linkedAsset.checkin("aaa");
- linkedAsset.addCategory("testRemoveTagForShareableAssetTag2");
- linkedAsset.addCategory("testRemoveTagForShareableAssetTag3");
- linkedAsset.checkin("aaa");
+ asset = getRepo().loadGlobalArea().loadAsset("testUpdateCategoriesForShareableAsset");
+ assertEquals(2, asset.getCategories().size());
- linkedAsset.removeCategory("testRemoveTagForShareableAssetTag3");
- linkedAsset.checkin("aaa");
- getRepo().save();
+ for (Iterator iter = asset.getCategories().iterator(); iter.hasNext();) {
+ CategoryItem cat = (CategoryItem)iter.next();
+ assertTrue(cat.getName().startsWith("testUpdateCategoriesForShareableAssetTag"));
+ }
+ }
- tags = linkedAsset.getCategories();
- assertEquals(1, tags.size());
- assertEquals("testRemoveTagForShareableAssetTag2", ((CategoryItem) tags.get(0))
- .getName());
-
- try {
- getRepo().loadCategory("testRemoveTagForShareableAssetTag2").remove();
- fail("should not be able to remove");
- } catch (RulesRepositoryException e) {
- assertNotNull(e.getMessage());
- }
-
- //REVISIT:
-/* try {
- getRepo().loadCategory("testRemoveTagForShareableAssetTag3").remove();
- fail("should not reach here. Should have been removed");
- } catch (RulesRepositoryException e) {
- assertNotNull(e.getMessage());
- }*/
- }
+ @Test
+ public void testRemoveTagForShareableAsset() {
+ getRepo().loadCategory("/").addCategory("testRemoveTagForShareableAssetTag1", "la");
+ getRepo().loadCategory("/").addCategory("testRemoveTagForShareableAssetTag2", "description");
+ getRepo().loadCategory("/").addCategory("testRemoveTagForShareableAssetTag3", "description");
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testRemoveTagForShareableAsset", "desc");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- public void testStatusStufftestRemoveTagForShareableAsset() {
- getRepo().createState("testStatusStufftestRemoveTagForShareableAssetStatus");
+ linkedAsset.addCategory("testRemoveTagForShareableAssetTag1");
+ List tags = linkedAsset.getCategories();
+ assertEquals(1, tags.size());
+ linkedAsset.removeCategory("testRemoveTagForShareableAssetTag1");
+ tags = linkedAsset.getCategories();
+ assertEquals(0, tags.size());
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testStatusStufftestRemoveTagForShareableAsset", "desc");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
-
- StateItem stateItem1 = linkedAsset.getState();
- assertEquals(StateItem.DRAFT_STATE_NAME, stateItem1.getName());
- assertEquals(getRepo().getState(StateItem.DRAFT_STATE_NAME), linkedAsset.getState());
- assertEquals(StateItem.DRAFT_STATE_NAME, linkedAsset.getStateDescription());
-
- linkedAsset.updateState("testStatusStufftestRemoveTagForShareableAssetStatus");
- assertEquals("testStatusStufftestRemoveTagForShareableAssetStatus", linkedAsset.getState().getName());
- }
+ linkedAsset.addCategory("testRemoveTagForShareableAssetTag2");
+ linkedAsset.addCategory("testRemoveTagForShareableAssetTag3");
+ linkedAsset.checkin("aaa");
- public void testGetDateEffectiveForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetDateEffectiveForShareableAsset", "desc");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ linkedAsset.removeCategory("testRemoveTagForShareableAssetTag3");
+ linkedAsset.checkin("aaa");
+ getRepo().save();
- // it should be initialized to null
- assertTrue(linkedAsset.getDateEffective() == null);
+ tags = linkedAsset.getCategories();
+ assertEquals(1, tags.size());
+ assertEquals("testRemoveTagForShareableAssetTag2", ((CategoryItem)tags.get(0)).getName());
- // now try setting it, then retrieving it
- Calendar cal = Calendar.getInstance();
- linkedAsset.updateDateEffective(cal);
- Calendar cal2 = linkedAsset.getDateEffective();
+ try {
+ getRepo().loadCategory("testRemoveTagForShareableAssetTag2").remove();
+ fail("should not be able to remove");
+ } catch (RulesRepositoryException e) {
+ assertNotNull(e.getMessage());
+ }
- assertEquals(cal, cal2);
- }
+ // REVISIT:
+ /* try {
+ getRepo().loadCategory("testRemoveTagForShareableAssetTag3").remove();
+ fail("should not reach here. Should have been removed");
+ } catch (RulesRepositoryException e) {
+ assertNotNull(e.getMessage());
+ }*/
+ }
- public void testGetDateExpiredForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset(
- "testGetDateExpiredForShareableAsset", "desc");
- AssetItem linkedAsset = getDefaultPackage()
- .addAssetImportedFromGlobalArea(asset.getName());
+ @Test
+ public void testStatusStufftestRemoveTagForShareableAsset() {
+ getRepo().createState("testStatusStufftestRemoveTagForShareableAssetStatus");
- // it should be initialized to null
- assertTrue(linkedAsset.getDateExpired() == null);
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testStatusStufftestRemoveTagForShareableAsset", "desc");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- // now try setting it, then retrieving it
- Calendar cal = Calendar.getInstance();
- linkedAsset.updateDateExpired(cal);
- Calendar cal2 = linkedAsset.getDateExpired();
+ StateItem stateItem1 = linkedAsset.getState();
+ assertEquals(StateItem.DRAFT_STATE_NAME, stateItem1.getName());
+ assertEquals(getRepo().getState(StateItem.DRAFT_STATE_NAME), linkedAsset.getState());
+ assertEquals(StateItem.DRAFT_STATE_NAME, linkedAsset.getStateDescription());
- assertEquals(cal, cal2);
- }
+ linkedAsset.updateState("testStatusStufftestRemoveTagForShareableAssetStatus");
+ assertEquals("testStatusStufftestRemoveTagForShareableAssetStatus", linkedAsset.getState().getName());
+ }
- public void testSaveAndCheckinDescriptionAndTitleForShareableAsset() throws Exception {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testSaveAndCheckinDescriptionAndTitleForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ @Test
+ public void testGetDateEffectiveForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetDateEffectiveForShareableAsset", "desc");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- // it should be "" to begin with
- assertEquals("desc", linkedAsset.getDescription());
+ // it should be initialized to null
+ assertTrue(linkedAsset.getDateEffective() == null);
- linkedAsset.updateDescription("test description");
- assertEquals("test description", linkedAsset.getDescription());
+ // now try setting it, then retrieving it
+ Calendar cal = Calendar.getInstance();
+ linkedAsset.updateDateEffective(cal);
+ Calendar cal2 = linkedAsset.getDateEffective();
- assertTrue(getRepo().getSession().hasPendingChanges());
+ assertEquals(cal, cal2);
+ }
- linkedAsset.updateTitle("This is a title");
- assertTrue(getRepo().getSession().hasPendingChanges());
- linkedAsset.checkin("ya");
+ @Test
+ public void testGetDateExpiredForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetDateExpiredForShareableAsset", "desc");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- // we can save without a checkin
- getRepo().getSession().save();
+ // it should be initialized to null
+ assertTrue(linkedAsset.getDateExpired() == null);
- assertFalse(getRepo().getSession().hasPendingChanges());
+ // now try setting it, then retrieving it
+ Calendar cal = Calendar.getInstance();
+ linkedAsset.updateDateExpired(cal);
+ Calendar cal2 = linkedAsset.getDateExpired();
- try {
- linkedAsset.getPrecedingVersion().updateTitle("baaad");
- fail("should not be able to do this");
- } catch (RulesRepositoryException e) {
- assertNotNull(e.getMessage());
- }
- }
+ assertEquals(cal, cal2);
+ }
- public void testGetPrecedingVersionAndRestoreForShareableAsset() throws Exception {
- getRepo().loadCategory("/").addCategory("testGetPrecedingVersionAndRestoreCat", "ka");
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetPrecedingVersionAndRestoreForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ @Test
+ public void testSaveAndCheckinDescriptionAndTitleForShareableAsset() throws Exception {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testSaveAndCheckinDescriptionAndTitleForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- //assertTrue(asset.getPrecedingVersion() == null);
- assertNotNull(asset.getPrecedingVersion());
- assertNotNull(linkedAsset.getPrecedingVersion());
+ // it should be "" to begin with
+ assertEquals("desc", linkedAsset.getDescription());
- linkedAsset.addCategory("testGetPrecedingVersionAndRestoreCat");
- linkedAsset.updateContent("test content");
- linkedAsset.updateDescription("descr2");
- Thread.sleep(100);
- linkedAsset.checkin("boo");
+ linkedAsset.updateDescription("test description");
+ assertEquals("test description", linkedAsset.getDescription());
- AssetItem predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
+ assertTrue(getRepo().getSession().hasPendingChanges());
- // check version handling
- assertNotNull(predecessorRuleItem.getVersionSnapshotUUID());
- assertFalse(predecessorRuleItem.getVersionSnapshotUUID().equals(
- asset.getUUID()));
+ linkedAsset.updateTitle("This is a title");
+ assertTrue(getRepo().getSession().hasPendingChanges());
+ linkedAsset.checkin("ya");
- // assertEquals(predecessorRuleItem.getCreatedDate().getTimeInMillis(),
- // ruleItem1.getCreatedDate().getTimeInMillis());
+ // we can save without a checkin
+ getRepo().getSession().save();
- assertEquals(asset.getState().getName(), predecessorRuleItem
- .getState().getName());
- // assertEquals(ruleItem1.getName(), predecessorRuleItem.getName());
+ assertFalse(getRepo().getSession().hasPendingChanges());
- AssetItem loadedHistorical = getRepo().loadAssetByUUID(
- predecessorRuleItem.getVersionSnapshotUUID());
- assertTrue(loadedHistorical.isHistoricalVersion());
- assertFalse(asset.getVersionNumber() == loadedHistorical
- .getVersionNumber());
+ try {
+ linkedAsset.getPrecedingVersion().updateTitle("baaad");
+ fail("should not be able to do this");
+ } catch (RulesRepositoryException e) {
+ assertNotNull(e.getMessage());
+ }
+ }
- linkedAsset.updateContent("new content");
- linkedAsset.checkin("two changes");
+ @Test
+ public void testGetPrecedingVersionAndRestoreForShareableAsset() throws Exception {
+ getRepo().loadCategory("/").addCategory("testGetPrecedingVersionAndRestoreCat", "ka");
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetPrecedingVersionAndRestoreForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- predecessorRuleItem = (AssetItem) linkedAsset.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
- assertEquals(1, predecessorRuleItem.getCategories().size());
- CategoryItem cat = (CategoryItem) predecessorRuleItem.getCategories()
- .get(0);
- assertEquals("testGetPrecedingVersionAndRestoreCat", cat.getName());
+ // assertTrue(asset.getPrecedingVersion() == null);
+ assertNotNull(asset.getPrecedingVersion());
+ assertNotNull(linkedAsset.getPrecedingVersion());
- assertEquals("test content", predecessorRuleItem.getContent());
+ linkedAsset.addCategory("testGetPrecedingVersionAndRestoreCat");
+ linkedAsset.updateContent("test content");
+ linkedAsset.updateDescription("descr2");
+ Thread.sleep(100);
+ linkedAsset.checkin("boo");
- assertEquals(getRepo().loadGlobalArea().getName(), predecessorRuleItem
- .getPackageName());
+ AssetItem predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
- linkedAsset.updateContent("newer lhs");
- linkedAsset.checkin("another");
+ // check version handling
+ assertNotNull(predecessorRuleItem.getVersionSnapshotUUID());
+ assertFalse(predecessorRuleItem.getVersionSnapshotUUID().equals(asset.getUUID()));
- predecessorRuleItem = (AssetItem) linkedAsset.getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
- assertEquals("new content", predecessorRuleItem.getContent());
- predecessorRuleItem = (AssetItem) predecessorRuleItem
- .getPrecedingVersion();
- assertNotNull(predecessorRuleItem);
- assertEquals("test content", predecessorRuleItem.getContent());
+ // assertEquals(predecessorRuleItem.getCreatedDate().getTimeInMillis(),
+ // ruleItem1.getCreatedDate().getTimeInMillis());
- // now try restoring
- long oldVersionNumber = asset.getVersionNumber();
+ assertEquals(asset.getState().getName(), predecessorRuleItem.getState().getName());
+ // assertEquals(ruleItem1.getName(), predecessorRuleItem.getName());
- AssetItem toRestore = getRepo().loadAssetByUUID(
- predecessorRuleItem.getVersionSnapshotUUID());
+ AssetItem loadedHistorical = getRepo().loadAssetByUUID(predecessorRuleItem.getVersionSnapshotUUID());
+ assertTrue(loadedHistorical.isHistoricalVersion());
+ assertFalse(asset.getVersionNumber() == loadedHistorical.getVersionNumber());
- getRepo().restoreHistoricalAsset(toRestore, linkedAsset,
- "cause I want to");
+ linkedAsset.updateContent("new content");
+ linkedAsset.checkin("two changes");
- AssetItem restored = getRepo().loadDefaultPackage().loadAsset(
- "testGetPrecedingVersionAndRestoreForShareableAsset");
+ predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+ assertEquals(1, predecessorRuleItem.getCategories().size());
+ CategoryItem cat = (CategoryItem)predecessorRuleItem.getCategories().get(0);
+ assertEquals("testGetPrecedingVersionAndRestoreCat", cat.getName());
- // assertEquals( predecessorRuleItem.getCheckinComment(),
- // restored.getCheckinComment());
- assertEquals(predecessorRuleItem.getDescription(), restored
- .getDescription());
- assertEquals("cause I want to", restored.getCheckinComment());
- assertEquals(6, restored.getVersionNumber());
- assertFalse(oldVersionNumber == restored.getVersionNumber());
- }
+ assertEquals("test content", predecessorRuleItem.getContent());
- public void testGetSucceedingVersionForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetSucceedingVersionForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ assertEquals(getRepo().loadGlobalArea().getName(), predecessorRuleItem.getPackageName());
- //Making the assset sharable creates the version 2.
- assertEquals(2, asset.getVersionNumber());
- linkedAsset.updateContent("new content1");
- linkedAsset.checkin("la");
-
- AssetItem succeedingRuleItem = (AssetItem) linkedAsset.getSucceedingVersion();
- assertTrue(succeedingRuleItem == null);
+ linkedAsset.updateContent("newer lhs");
+ linkedAsset.checkin("another");
- linkedAsset.updateContent("new content2");
- linkedAsset.checkin("la");
+ predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+ assertEquals("new content", predecessorRuleItem.getContent());
+ predecessorRuleItem = (AssetItem)predecessorRuleItem.getPrecedingVersion();
+ assertNotNull(predecessorRuleItem);
+ assertEquals("test content", predecessorRuleItem.getContent());
- assertEquals(4, linkedAsset.getVersionNumber());
+ // now try restoring
+ long oldVersionNumber = asset.getVersionNumber();
- AssetItem predecessorRuleItem = (AssetItem) linkedAsset
- .getPrecedingVersion();
- assertEquals("new content1", predecessorRuleItem.getContent());
- succeedingRuleItem = (AssetItem) predecessorRuleItem
- .getSucceedingVersion();
- assertNotNull(succeedingRuleItem);
- assertEquals(linkedAsset.getContent(), succeedingRuleItem.getContent());
- }
+ AssetItem toRestore = getRepo().loadAssetByUUID(predecessorRuleItem.getVersionSnapshotUUID());
- public void testGetSuccessorVersionsIteratorForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset(
- "testGetSuccessorVersionsIteratorForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage()
- .addAssetImportedFromGlobalArea(asset.getName());
+ getRepo().restoreHistoricalAsset(toRestore, linkedAsset, "cause I want to");
- Iterator iterator = linkedAsset.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertFalse(iterator.hasNext());
+ AssetItem restored = getRepo().loadDefaultPackage().loadAsset("testGetPrecedingVersionAndRestoreForShareableAsset");
- linkedAsset.updateContent("new content").checkin("ya");
+ // assertEquals( predecessorRuleItem.getCheckinComment(),
+ // restored.getCheckinComment());
+ assertEquals(predecessorRuleItem.getDescription(), restored.getDescription());
+ assertEquals("cause I want to", restored.getCheckinComment());
+ assertEquals(6, restored.getVersionNumber());
+ assertFalse(oldVersionNumber == restored.getVersionNumber());
+ }
- iterator = linkedAsset.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertFalse(iterator.hasNext());
+ @Test
+ public void testGetSucceedingVersionForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetSucceedingVersionForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- AssetItem predecessorRuleItem = (AssetItem) linkedAsset
- .getPrecedingVersion();
- iterator = predecessorRuleItem.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- AssetItem nextRuleItem = (AssetItem) iterator.next();
- assertEquals("new content", nextRuleItem.getContent());
- assertFalse(iterator.hasNext());
+ // Making the assset sharable creates the version 2.
+ assertEquals(2, asset.getVersionNumber());
+ linkedAsset.updateContent("new content1");
+ linkedAsset.checkin("la");
- linkedAsset.updateContent("newer content");
- linkedAsset.checkin("boo");
+ AssetItem succeedingRuleItem = (AssetItem)linkedAsset.getSucceedingVersion();
+ assertTrue(succeedingRuleItem == null);
- iterator = predecessorRuleItem.getSuccessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- nextRuleItem = (AssetItem) iterator.next();
- assertEquals("new content", nextRuleItem.getContent());
- assertTrue(iterator.hasNext());
- nextRuleItem = (AssetItem) iterator.next();
- assertEquals("newer content", nextRuleItem.getContent());
- assertFalse(iterator.hasNext());
- }
+ linkedAsset.updateContent("new content2");
+ linkedAsset.checkin("la");
- public void testGetPredecessorVersionsIteratorForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset(
- "testGetPredecessorVersionsIteratorForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage()
- .addAssetImportedFromGlobalArea(asset.getName());
+ assertEquals(4, linkedAsset.getVersionNumber());
- linkedAsset.updateContent("test content");
- linkedAsset.checkin("lalalalala");
+ AssetItem predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion();
+ assertEquals("new content1", predecessorRuleItem.getContent());
+ succeedingRuleItem = (AssetItem)predecessorRuleItem.getSucceedingVersion();
+ assertNotNull(succeedingRuleItem);
+ assertEquals(linkedAsset.getContent(), succeedingRuleItem.getContent());
+ }
- Iterator iterator = linkedAsset.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
+ @Test
+ public void testGetSuccessorVersionsIteratorForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetSuccessorVersionsIteratorForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- asset.updateContent("new content");
- asset.checkin("boo");
+ Iterator iterator = linkedAsset.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertFalse(iterator.hasNext());
- iterator = linkedAsset.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- AssetItem nextRuleItem = (AssetItem) iterator.next();
+ linkedAsset.updateContent("new content").checkin("ya");
- assertEquals("test content", nextRuleItem.getContent());
+ iterator = linkedAsset.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertFalse(iterator.hasNext());
- asset.updateContent("newer content");
- asset.checkin("wee");
+ AssetItem predecessorRuleItem = (AssetItem)linkedAsset.getPrecedingVersion();
+ iterator = predecessorRuleItem.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ AssetItem nextRuleItem = (AssetItem)iterator.next();
+ assertEquals("new content", nextRuleItem.getContent());
+ assertFalse(iterator.hasNext());
- iterator = linkedAsset.getPredecessorVersionsIterator();
- assertNotNull(iterator);
- assertTrue(iterator.hasNext());
- nextRuleItem = (AssetItem) iterator.next();
- assertTrue(iterator.hasNext());
- assertEquals("new content", nextRuleItem.getContent());
- nextRuleItem = (AssetItem) iterator.next();
+ linkedAsset.updateContent("newer content");
+ linkedAsset.checkin("boo");
- assertEquals("test content", nextRuleItem.getContent());
+ iterator = predecessorRuleItem.getSuccessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ nextRuleItem = (AssetItem)iterator.next();
+ assertEquals("new content", nextRuleItem.getContent());
+ assertTrue(iterator.hasNext());
+ nextRuleItem = (AssetItem)iterator.next();
+ assertEquals("newer content", nextRuleItem.getContent());
+ assertFalse(iterator.hasNext());
+ }
- assertEquals("", ((AssetItem) iterator.next()).getContent());
- }
+ @Test
+ public void testGetPredecessorVersionsIteratorForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetPredecessorVersionsIteratorForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- public void testHistoryIteratorForShareableAsset() throws Exception {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testHistoryIteratorForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ linkedAsset.updateContent("test content");
+ linkedAsset.checkin("lalalalala");
- linkedAsset = getRepo().loadAssetByUUID(linkedAsset.getUUID());
- linkedAsset.updateContent("wo");
- linkedAsset.checkin("version2");
+ Iterator iterator = linkedAsset.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
- asset = getRepo().loadAssetByUUID(asset.getUUID());
- asset.updateContent("ya");
- asset.checkin("version3");
+ asset.updateContent("new content");
+ asset.checkin("boo");
- Iterator it = asset.getHistory();
- for (int i = 0; i < 3; i++) {
- assertTrue(it.hasNext());
- it.next();
- }
- }
+ iterator = linkedAsset.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ AssetItem nextRuleItem = (AssetItem)iterator.next();
- public void testGetTitleForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetTitleForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ assertEquals("test content", nextRuleItem.getContent());
- assertEquals("testGetTitleForShareableAsset", linkedAsset.getName());
- assertEquals("testGetTitleForShareableAsset", asset.getName());
- //NOTE: Linked AssetItem does not have its own Title property.
- assertEquals("testGetTitleForShareableAsset", linkedAsset.getTitle());
- assertEquals("testGetTitleForShareableAsset", asset.getTitle());
- }
+ asset.updateContent("newer content");
+ asset.checkin("wee");
- public void testDublinCorePropertiesForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testDublinCorePropertiesForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ iterator = linkedAsset.getPredecessorVersionsIterator();
+ assertNotNull(iterator);
+ assertTrue(iterator.hasNext());
+ nextRuleItem = (AssetItem)iterator.next();
+ assertTrue(iterator.hasNext());
+ assertEquals("new content", nextRuleItem.getContent());
+ nextRuleItem = (AssetItem)iterator.next();
- linkedAsset.updateCoverage("b");
- assertEquals("b", linkedAsset.getCoverage());
- linkedAsset.checkin("woo");
+ assertEquals("test content", nextRuleItem.getContent());
- linkedAsset = getDefaultPackage().loadAsset("testDublinCorePropertiesForShareableAsset");
- assertEquals("b", linkedAsset.getCoverage());
- assertEquals("", linkedAsset.getExternalRelation());
- assertEquals("", linkedAsset.getExternalSource());
-
- linkedAsset = getRepo().loadGlobalArea().loadAsset("testDublinCorePropertiesForShareableAsset");
- assertEquals("b", linkedAsset.getCoverage());
- assertEquals("", linkedAsset.getExternalRelation());
- assertEquals("", linkedAsset.getExternalSource());
- }
+ assertEquals("", ((AssetItem)iterator.next()).getContent());
+ }
- public void testGetFormatForShareableAsset() throws Exception {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetFormatForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ @Test
+ public void testHistoryIteratorForShareableAsset() throws Exception {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testHistoryIteratorForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
-
- linkedAsset.updateContent("la");
- assertEquals(AssetItem.DEFAULT_CONTENT_FORMAT, linkedAsset.getFormat());
+ linkedAsset = getRepo().loadAssetByUUID(linkedAsset.getUUID());
+ linkedAsset.updateContent("wo");
+ linkedAsset.checkin("version2");
- assertTrue(linkedAsset.getNode().hasProperty(
- AssetItem.CONTENT_PROPERTY_NAME));
- assertFalse(linkedAsset.getNode().hasProperty(
- AssetItem.CONTENT_PROPERTY_BINARY_NAME));
+ asset = getRepo().loadAssetByUUID(asset.getUUID());
+ asset.updateContent("ya");
+ asset.checkin("version3");
- linkedAsset.updateFormat("blah");
- assertEquals("blah", linkedAsset.getFormat());
- }
+ Iterator it = asset.getHistory();
+ for (int i = 0; i < 3; i++) {
+ assertTrue(it.hasNext());
+ it.next();
+ }
+ }
- public void testAnonymousPropertiesForShareableAsset() {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testAnonymousPropertiesForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+ @Test
+ public void testGetTitleForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetTitleForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- linkedAsset.updateUserProperty("fooBar", "value");
- assertEquals("value", linkedAsset.getUserProperty("fooBar"));
+ assertEquals("testGetTitleForShareableAsset", linkedAsset.getName());
+ assertEquals("testGetTitleForShareableAsset", asset.getName());
+ // NOTE: Linked AssetItem does not have its own Title property.
+ assertEquals("testGetTitleForShareableAsset", linkedAsset.getTitle());
+ assertEquals("testGetTitleForShareableAsset", asset.getTitle());
+ }
- linkedAsset.checkin("lalalala");
- try {
- linkedAsset.updateUserProperty("drools:content", "whee");
- fail("should not be able to set built in properties this way.");
- } catch (IllegalArgumentException e) {
- assertNotNull(e.getMessage());
- }
- }
+ @Test
+ public void testDublinCorePropertiesForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testDublinCorePropertiesForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- public void testBinaryAssetForShareableAsset() throws Exception {
- AssetItem asset = getRepo().loadGlobalArea().addAsset("testBinaryAssetForShareableAsset", "desc");
- asset.checkin("version0");
- AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
-
- String data = "abc 123";
- ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
- linkedAsset.updateBinaryContentAttachment(in);
- linkedAsset.updateBinaryContentAttachmentFileName("x.x");
- in.close();
+ linkedAsset.updateCoverage("b");
+ assertEquals("b", linkedAsset.getCoverage());
+ linkedAsset.checkin("woo");
- assertEquals(data, linkedAsset.getContent());
+ linkedAsset = getDefaultPackage().loadAsset("testDublinCorePropertiesForShareableAsset");
+ assertEquals("b", linkedAsset.getCoverage());
+ assertEquals("", linkedAsset.getExternalRelation());
+ assertEquals("", linkedAsset.getExternalSource());
- assertFalse(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_NAME));
- assertTrue(linkedAsset.getNode().hasProperty(
- AssetItem.CONTENT_PROPERTY_BINARY_NAME));
- linkedAsset.checkin("lalalala");
+ linkedAsset = getRepo().loadGlobalArea().loadAsset("testDublinCorePropertiesForShareableAsset");
+ assertEquals("b", linkedAsset.getCoverage());
+ assertEquals("", linkedAsset.getExternalRelation());
+ assertEquals("", linkedAsset.getExternalSource());
+ }
- assertTrue(linkedAsset.isBinary());
+ @Test
+ public void testGetFormatForShareableAsset() throws Exception {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testGetFormatForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
- asset = getRepo().loadGlobalArea().loadAsset("testBinaryAssetForShareableAsset");
- InputStream in2 = asset.getBinaryContentAttachment();
- assertNotNull(in2);
+ linkedAsset.updateContent("la");
+ assertEquals(AssetItem.DEFAULT_CONTENT_FORMAT, linkedAsset.getFormat());
- byte[] data2 = asset.getBinaryContentAsBytes();
- assertEquals(data, new String(data2));
- assertEquals("x.x", asset.getBinaryContentAttachmentFileName());
- assertTrue(asset.isBinary());
+ assertTrue(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_NAME));
+ assertFalse(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_BINARY_NAME));
- linkedAsset.updateContent("qed");
- linkedAsset.checkin("");
- linkedAsset = getRepo().loadAssetByUUID(linkedAsset.getUUID());
- assertEquals("qed", linkedAsset.getContent());
- }
+ linkedAsset.updateFormat("blah");
+ assertEquals("blah", linkedAsset.getFormat());
+ }
+ @Test
+ public void testAnonymousPropertiesForShareableAsset() {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testAnonymousPropertiesForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+
+ linkedAsset.updateUserProperty("fooBar", "value");
+ assertEquals("value", linkedAsset.getUserProperty("fooBar"));
+
+ linkedAsset.checkin("lalalala");
+ try {
+ linkedAsset.updateUserProperty("drools:content", "whee");
+ fail("should not be able to set built in properties this way.");
+ } catch (IllegalArgumentException e) {
+ assertNotNull(e.getMessage());
+ }
+ }
+
+ @Test
+ public void testBinaryAssetForShareableAsset() throws Exception {
+ AssetItem asset = getRepo().loadGlobalArea().addAsset("testBinaryAssetForShareableAsset", "desc");
+ asset.checkin("version0");
+ AssetItem linkedAsset = getDefaultPackage().addAssetImportedFromGlobalArea(asset.getName());
+
+ String data = "abc 123";
+ ByteArrayInputStream in = new ByteArrayInputStream(data.getBytes());
+ linkedAsset.updateBinaryContentAttachment(in);
+ linkedAsset.updateBinaryContentAttachmentFileName("x.x");
+ in.close();
+
+ assertEquals(data, linkedAsset.getContent());
+
+ assertFalse(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_NAME));
+ assertTrue(linkedAsset.getNode().hasProperty(AssetItem.CONTENT_PROPERTY_BINARY_NAME));
+ linkedAsset.checkin("lalalala");
+
+ assertTrue(linkedAsset.isBinary());
+
+ asset = getRepo().loadGlobalArea().loadAsset("testBinaryAssetForShareableAsset");
+ InputStream in2 = asset.getBinaryContentAttachment();
+ assertNotNull(in2);
+
+ byte[] data2 = asset.getBinaryContentAsBytes();
+ assertEquals(data, new String(data2));
+ assertEquals("x.x", asset.getBinaryContentAttachmentFileName());
+ assertTrue(asset.isBinary());
+
+ linkedAsset.updateContent("qed");
+ linkedAsset.checkin("");
+ linkedAsset = getRepo().loadAssetByUUID(linkedAsset.getUUID());
+ assertEquals("qed", linkedAsset.getContent());
+ }
+
}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/events/StorageEventManagerTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -16,26 +16,33 @@
package org.drools.repository.events;
-import junit.framework.TestCase;
+import org.drools.repository.RepositoryTestCase;
import org.drools.repository.RulesRepository;
import org.drools.repository.PackageItem;
import org.drools.repository.AssetItem;
-import org.drools.repository.RepositorySessionUtil;
+import org.junit.After;
+import org.junit.Test;
-import java.io.ByteArrayInputStream;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertFalse;
/**
* @author Michael Neale
*/
-public class StorageEventManagerTest extends TestCase {
+public class StorageEventManagerTest extends RepositoryTestCase {
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDownLocal() throws Exception {
+ //super.tearDown();
StorageEventManager.le = null;
StorageEventManager.se = null;
}
-
+ @Test
public void testLoadEvent() {
System.setProperty("guvnor.loadEventListener", "org.drools.repository.events.MockLoadEvent");
LoadEvent le = StorageEventManager.loadEvent();
@@ -56,7 +63,7 @@
}
-
+ @Test
public void testSaveEvent() {
System.setProperty("guvnor.saveEventListener", "org.drools.repository.events.MockSaveEvent");
SaveEvent le = StorageEventManager.saveEvent();
@@ -76,7 +83,7 @@
}
-
+ @Test
public void testAssetContentCallbacks() {
StorageEventManager.le = null;
@@ -101,6 +108,7 @@
}
+ @Test
public void testCheckinListener() throws Exception {
StorageEventManager.le = null;
StorageEventManager.se = null;
@@ -125,10 +133,4 @@
}
-
-
- private RulesRepository getRepo() {
- return RepositorySessionUtil.getRepository();
- }
-
}
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/migration/MigrateDroolsPackageTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/migration/MigrateDroolsPackageTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/repository/migration/MigrateDroolsPackageTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -20,15 +20,20 @@
import org.drools.repository.AssetItem;
import org.drools.repository.PackageItem;
-import org.drools.repository.RepositorySessionUtil;
+import org.drools.repository.RepositoryTestCase;
import org.drools.repository.RulesRepository;
-import junit.framework.TestCase;
+import org.junit.Test;
-public class MigrateDroolsPackageTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+public class MigrateDroolsPackageTest extends RepositoryTestCase {
+
+ @Test
public void testMigrate() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
Session sess = repo.getSession();
sess.getRootNode().getNode(RulesRepository.RULES_REPOSITORY_NAME).getNode("drools.package.migrated").remove();
sess.save();
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/scm/jcr/JcrActionFactoryTest.java
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/scm/jcr/JcrActionFactoryTest.java 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/drools-repository/src/test/java/org/drools/scm/jcr/JcrActionFactoryTest.java 2010-10-21 00:16:06 UTC (rev 35620)
@@ -22,19 +22,23 @@
import org.drools.repository.AssetItem;
import org.drools.repository.PackageItem;
-import org.drools.repository.RepositorySessionUtil;
+import org.drools.repository.RepositoryTestCase;
import org.drools.repository.RulesRepository;
import org.drools.scm.CompositeScmAction;
import org.drools.scm.ScmAction;
import org.drools.scm.ScmActionFactory;
import org.drools.scm.ScmEntry;
-import org.drools.scm.jcr.JcrActionFactory.AddFile;
import org.drools.scm.jcr.JcrActionFactory.AddDirectory;
-import junit.framework.TestCase;
+import org.junit.Test;
-public class JcrActionFactoryTest extends TestCase {
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+public class JcrActionFactoryTest extends RepositoryTestCase {
+
+ @Test
public void testMapPathNameToPackage() {
JcrActionFactory fact = new JcrActionFactory( null );
assertEquals( "org.foo.bar",
@@ -50,8 +54,9 @@
fact.toDirectoryName( "foo" ) );
}
+ @Test
public void testAddDirectories() throws Exception {
- ScmActionFactory svn = new JcrActionFactory( RepositorySessionUtil.getRepository() );
+ ScmActionFactory svn = new JcrActionFactory( getRepo() );
CompositeScmAction actions = new CompositeScmAction();
@@ -101,8 +106,9 @@
assertTrue( list.contains( "folder3/folder3_1/folder3_1_1/folder3_1_1_1" ) );
}
+ @Test
public void testAddFiles() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
repo.createPackage( "testAddFiles.package",
"just for testing" );
@@ -130,8 +136,9 @@
asset.getStateDescription() );
}
+ @Test
public void testUpdateFiles() throws Exception {
- RulesRepository repo = RepositorySessionUtil.getRepository();
+ RulesRepository repo = getRepo();
PackageItem pkg = repo.loadDefaultPackage();
AssetItem asset = pkg.addAsset( "testUpdateFilesSVN",
"something" );
Modified: labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/jcr-jr-impl/pom.xml
===================================================================
--- labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/jcr-jr-impl/pom.xml 2010-10-20 23:17:28 UTC (rev 35619)
+++ labs/jbossrules/soa_branches/BRMS-5.1.1/drools-repo/jcr-jr-impl/pom.xml 2010-10-21 00:16:06 UTC (rev 35620)
@@ -7,7 +7,7 @@
<groupId>org.drools</groupId>
<version>5.1.0.BRMS</version>
</parent>
- <artifactId>jcr-jr-impl</artifactId>
+ <artifactId>drools-repository-jcr-jr-impl</artifactId>
<packaging>jar</packaging>
<name>Drools :: Repository :: JR</name>
More information about the jboss-svn-commits
mailing list