Author: painter
Date: Wed Sep 18 03:16:01 2019
New Revision: 1867089

URL: http://svn.apache.org/viewvc?rev=1867089&view=rev
Log:
remove dep on fulcrum-pbe and move changes.xml to standard dir

Added:
    turbine/fulcrum/trunk/resourcemanager/src/changes/
    turbine/fulcrum/trunk/resourcemanager/src/changes/changes.xml
Removed:
    turbine/fulcrum/trunk/resourcemanager/xdocs/changes.xml
Modified:
    turbine/fulcrum/trunk/resourcemanager/pom.xml
    
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/ResourceManagerService.java
    
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/BaseResourceManager.java
    
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/FileResourceManager.java
    turbine/fulcrum/trunk/resourcemanager/src/test/TestComponentConfig.xml
    turbine/fulcrum/trunk/resourcemanager/src/test/TestRoleConfig.xml
    
turbine/fulcrum/trunk/resourcemanager/src/test/org/apache/fulcrum/resourcemanager/ResourceManagerServiceTest.java

Modified: turbine/fulcrum/trunk/resourcemanager/pom.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/pom.xml?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- turbine/fulcrum/trunk/resourcemanager/pom.xml (original)
+++ turbine/fulcrum/trunk/resourcemanager/pom.xml Wed Sep 18 03:16:01 2019
@@ -1,20 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You 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.
--->
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
+       license agreements. See the NOTICE file distributed with this work for 
additional 
+       information regarding copyright ownership. The ASF licenses this file 
to 
+       You 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. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
@@ -63,11 +57,12 @@
                        <artifactId>avalon-framework-api</artifactId>
                        <version>4.3.1</version>
                </dependency>
-               <dependency>
-                       <groupId>org.apache.fulcrum</groupId>
-                       <artifactId>fulcrum-pbe</artifactId>
-                       <version>1.0.2-SNAPSHOT</version>
-               </dependency>
+               <!-- <dependency> -->
+               <!-- <groupId>org.apache.fulcrum</groupId> -->
+               <!-- <artifactId>fulcrum-pbe</artifactId> -->
+               <!-- <version>1.0.2-SNAPSHOT</version> -->
+               <!-- </dependency> -->
+
                <!-- testing dependencies -->
                <dependency>
                        <groupId>org.apache.fulcrum</groupId>
@@ -86,6 +81,11 @@
        <build>
                <sourceDirectory>${basedir}/src/java</sourceDirectory>
                <testSourceDirectory>${basedir}/src/test</testSourceDirectory>
+               <testResources>
+                       <testResource>
+                               <directory>src/test/resources</directory>
+                       </testResource>
+               </testResources>
        </build>
 
        <reporting>

Added: turbine/fulcrum/trunk/resourcemanager/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/changes/changes.xml?rev=1867089&view=auto
==============================================================================
--- turbine/fulcrum/trunk/resourcemanager/src/changes/changes.xml (added)
+++ turbine/fulcrum/trunk/resourcemanager/src/changes/changes.xml Wed Sep 18 
03:16:01 2019
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you 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.
+-->
+<document>
+  <properties>
+    <title>Fulcrum ResourceManager Service</title>
+    <author email="[email protected]">Siegfried Goeschl</author>
+  </properties>
+
+  <body>
+    <release version="1.0.2" date="in SVN">
+      <action dev="painter" type="update">
+        JavaDoc update, use commons-lang3
+        Move changes.xml to standard dir
+        Remove deps on fulcrum-pbe
+      </action>
+    </release>  
+    <release version="1.0.1" date="2011-09-20">
+        <action dev="sgoeschl" type="update">
+          Cleaned up the code.
+        </action>
+      <action dev="sgoeschl" type="update">
+        Adding a M2 build
+      </action>    
+      <action dev="sgoeschl" type="update">
+       Using the FileResourceManager as default for the configuration
+      </action>
+      <action dev="sgoeschl" type="fix">
+       Fixed a few JavaDoc warnings
+      </action>
+      <action dev="sgoeschl" type="fix">
+        Restricting the access of context-specific information in
+        BaseResourceManagerImpl to protected instead of public
+      </action>
+      <action dev="sgoeschl" type="fix">
+        In response to the suggestions of the mailing list the implementation
+        provides a list of excluded directory names. This list is currently not
+        configurable but hard-coded and contains "CVS" and ".svn".
+      </action>
+      <action dev="sgoeschl" type="fix">
+        Skipping all ".svn" directories otherwise we pick up arbitrary files
+      </action>
+    </release>
+    <release version="1.0.0" date="in CVS">
+      <action dev="sgoeschl" type="add">
+        Initial version
+      </action>
+    </release>
+  </body>
+</document>
+

Modified: 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/ResourceManagerService.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/ResourceManagerService.java?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/ResourceManagerService.java
 (original)
+++ 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/ResourceManagerService.java
 Wed Sep 18 03:16:01 2019
@@ -22,6 +22,7 @@ package org.apache.fulcrum.resourcemanag
 import java.io.IOException;
 import java.net.URL;
 
+
 /**
  * An Avalon service to manage resources based on a domain. The service
  * supports multiple domains and uses a context to locate a resource.
@@ -34,7 +35,10 @@ public interface ResourceManagerService
     // CRUD Functionality
     /////////////////////////////////////////////////////////////////////////
 
-    /**
+    /** Avalon role - used to id the component within the manager */
+    String ROLE = ResourceManagerService.class.getName();
+
+       /**
      * List all available domains.
      *
      * @return list of all available domains

Modified: 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/BaseResourceManager.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/BaseResourceManager.java?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/BaseResourceManager.java
 (original)
+++ 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/BaseResourceManager.java
 Wed Sep 18 03:16:01 2019
@@ -43,498 +43,349 @@ import org.apache.avalon.framework.servi
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.fulcrum.resourcemanager.ResourceManager;
-import org.apache.fulcrum.pbe.PBEService;
 
 /**
- * Base class for a service implementation capturing the Avalon
- * configuration artifats
+ * Base class for a service implementation capturing the Avalon configuration
+ * artifacts
  *
  * @author <a href="mailto:[email protected]";>Siegfried Goeschl</a>
  */
 
-public abstract class BaseResourceManager
-       extends AbstractLogEnabled
-    implements Contextualizable, Serviceable, Configurable,
-       Initializable, Disposable, Reconfigurable, ResourceManager
+public abstract class BaseResourceManager extends AbstractLogEnabled 
implements Contextualizable, Serviceable,
+               Configurable, Initializable, Disposable, Reconfigurable, 
ResourceManager 
 {
-    /** the buffer size for copying streams */
-    private static final int BUF_SIZE = 1024;
+       
+       /** the buffer size for copying streams */
+       private static final int BUF_SIZE = 1024;
 
-    /** The context supplied by the avalon framework */
-    private Context context;
+       /** The context supplied by the avalon framework */
+       private Context context;
 
-    /** The service manager supplied by the avalon framework */
-    private ServiceManager serviceManager;
+       /** The service manager supplied by the avalon framework */
+       private ServiceManager serviceManager;
 
-    /** The configuration supplied by the avalon framework */
-    private Configuration configuration;
-
-    /** the Avalon application directory */
-    private File applicationDir;
-
-    /** the Avalon temp directory */
-    private File tempDir;
-
-    /** the name of the domain */
-    private String domain;
-
-    /** the seed to generate the password */
-    private String seed;
-
-    /** use transparent encryption/decryption */
-    private String useEncryption;
-
-    /////////////////////////////////////////////////////////////////////////
-    // Avalon Service Lifecycle Implementation
-    /////////////////////////////////////////////////////////////////////////
-
-    /**
-     * Constructor
-     */
-    public BaseResourceManager()
-    {
-        // nothing to do
-    }
-
-    /* (non-Javadoc)
-     * @see 
org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
-     */
-    public void contextualize(Context context) throws ContextException
-    {
-        this.context        = context;
-        this.applicationDir = (File) context.get("urn:avalon:home");
-        this.tempDir        = (File) context.get("urn:avalon:temp");
-    }
-
-    /* (non-Javadoc)
-     * @see 
org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
-     */
-    public void service(ServiceManager serviceManager) throws ServiceException
-    {
-        this.serviceManager = serviceManager;
-    }
-
-    /* (non-Javadoc)
-     * @see 
org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
-     */
-    public void configure(Configuration configuration) throws 
ConfigurationException
-    {
-        this.configuration = configuration;
-        this.setDomain( configuration.getAttribute("name") );
-        this.seed = "resourcemanager";
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.avalon.framework.activity.Initializable#initialize()
-     */
-    public void initialize() throws Exception
-    {
-        // nothing to do
-    }
-
-    /* (non-Javadoc)
-     * @see org.apache.avalon.framework.activity.Disposable#dispose()
-     */
-    public void dispose()
-    {
-        this.applicationDir = null;
-        this.configuration = null;
-        this.context = null;
-        this.domain = null;
-        this.seed = null;
-        this.serviceManager = null;
-        this.tempDir = null;
-    }
-
-    /* (non-Javadoc)
-     * @see 
org.apache.avalon.framework.configuration.Reconfigurable#reconfigure(org.apache.avalon.framework.configuration.Configuration)
-     */
-    public void reconfigure(Configuration configuration)
-        throws ConfigurationException
-    {
-        this.configure(configuration);
-    }
-
-    /////////////////////////////////////////////////////////////////////////
-    // Service Implementation
-    /////////////////////////////////////////////////////////////////////////
-
-    /**
-     * @return Returns the configuration.
-     */
-    protected Configuration getConfiguration()
-    {
-        return this.configuration;
-    }
-
-    /**
-     * @return Returns the context.
-     */
-    protected Context getContext()
-    {
-        return this.context;
-    }
-
-    /**
-     * @return Returns the serviceManager.
-     */
-    protected ServiceManager getServiceManager()
-    {
-        return this.serviceManager;
-    }
-
-    /**
-     * @return Returns the applicationDir.
-     */
-    protected File getApplicationDir()
-    {
-        return applicationDir;
-    }
-
-    /**
-     * @return Returns the tempDir.
-     */
-    protected File getTempDir()
-    {
-        return tempDir;
-    }
-
-    /**
-     * @return Returns the domain.
-     */
-    public String getDomain()
-    {
-        return domain;
-    }
-
-    /**
-     * Get the content as byte[].
-     * @param content content to convert
-     * @return byte array representation of the object
-     * @throws IOException if unable to read
-     */
-    protected byte[] getContent( Object content )
-       throws IOException
-    {
-        byte[] result = null;
-
-        if( content instanceof String )
-        {
-            result = ((String) content).getBytes();
-        }
-        else if( content instanceof byte[] )
-        {
-            result = (byte[]) content;
-        }
-        else if( content instanceof InputStream )
-        {
-            result = this.getBytes( (InputStream) content );
-        }
-        else if( content instanceof Properties )
-        {
-            ByteArrayOutputStream baos = new ByteArrayOutputStream();
-            ((Properties) content).store( baos, "Created by 
fulcrum-resourcemanager-service" );
-            result = baos.toByteArray();
-        }
-        else
-        {
-            String msg = "Don't know how to read " + 
content.getClass().getName();
-            throw new IllegalArgumentException( msg );
-        }
-
-        return result;
-    }
-
-    /**
-     * Extract a byte[] from the input stream.
-     * @param is input stream to read from
-     * @return byte array representation of the object
-     * @throws IOException if unable to read
-     */
-    protected byte[] getBytes( InputStream is )
-       throws IOException
-    {
-        int ch;
-        byte[] data = null;
-
-        ByteArrayOutputStream os = new ByteArrayOutputStream();
-        BufferedInputStream isReader = new BufferedInputStream( is );
-        BufferedOutputStream osWriter = new BufferedOutputStream( os );
-
-        while ((ch = isReader.read()) != -1)
-        {
-            osWriter.write(ch);
-        }
-
-        osWriter.flush();
-        data = os.toByteArray();
-        osWriter.close();
-        isReader.close();
-
-        return data;
-    }
-
-    /**
-     * @param domain The domain to set.
-     */
-    protected void setDomain(String domain)
-    {
-        this.domain = domain;
-    }
-
-    /**
-     * @return Returns the useEncryption.
-     */
-    protected String getUseEncryption()
-    {
-        return useEncryption;
-    }
-
-    /**
-     * @param useEncryption The useEncryption to set.
-     */
-    protected void setUseEncryption(String useEncryption)
-    {
-        this.useEncryption = useEncryption;
-    }
-
-    /**
-     * @return the instance of the PBEService
-     */
-    protected PBEService getPBEService()
-    {
-        String service = PBEService.class.getName();
-        PBEService result = null;
-
-        if( this.getServiceManager().hasService(service) )
-        {
-            try
-            {
-                result = (PBEService) this.getServiceManager().lookup(service);
-            }
-            catch (ServiceException e)
-            {
-                String msg = "The PBEService can't be accessed";
-                this.getLogger().error( msg, e );
-                throw new RuntimeException( msg );
-            }
-        }
-        else
-        {
-            String msg = "The PBEService is not registered";
-            throw new RuntimeException( msg );
-        }
-
-        return result;
-    }
-
-    /**
-     * @return the password for the resource manager
-     * @throws Exception generic exception
-     */
-    private char[] getPassword() throws Exception
-       {
-           return this.getPBEService().createPassword( this.seed.toCharArray() 
);
-       }
-
-    /**
-     * Reads the given input stream and decrypts it if required
-     * @param is the input stream to be read
-     * @return the content of the input stream
-     * @throws IOException if unable to read
-     */
-    protected byte[] read( InputStream is )
-       throws IOException
-    {
-        if( this.getUseEncryption().equalsIgnoreCase("true") )
-        {
-            return readEncrypted( is );
-        }
-        else if( this.getUseEncryption().equalsIgnoreCase("auto") )
-        {
-            return readSmartEncrypted( is );
-        }
-        else
-        {
-            return readPlain( is );
-        }
-    }
-
-    /**
-     * Reads from an unencrypted input stream
-     * @param is the source input stream
-     * @return the content of the input stream
-     * @throws IOException if unable to read
-     */
-    private byte[] readPlain( InputStream is )
-       throws IOException
-    {
-        byte[] result = null;
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        this.copy(is,baos);
-        result = baos.toByteArray();
-        return result;
-    }
-
-    /**
-     * Reads a potentially encrypted input stream.
-     * @param is the source input stream
-     * @return the content of the input stream
-     * @throws IOException if unable to read
-     */
-    private byte[] readSmartEncrypted( InputStream is )
-       throws IOException
-    {
-        byte[] result = null;
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
-        try
-        {
-            char[] password = getPassword();
-            InputStream sdis = this.getPBEService().getSmartInputStream( is, 
password );
-            this.copy( sdis, baos );
-            result = baos.toByteArray();
-            return result;
-        }
-        catch (IOException e)
-        {
-            String msg = "Failed to process the input stream";
-            this.getLogger().error( msg, e );
-            throw e;
-        }
-        catch (Exception e)
-        {
-            String msg = "Failed to decrypt the input stream";
-            this.getLogger().error( msg, e );
-            throw new IOException( msg );
-        }
-    }
-
-    /**
-     * Reads a potentially encrypted input stream.
-     * @param is the source input stream
-     * @return the content of the input stream
-     * @throws IOException if unable to read
-     */
-    private byte[] readEncrypted( InputStream is )
-       throws IOException
-    {
-        byte[] result = null;
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
-        try
-        {
-            char[] password = getPassword();
-            InputStream sdis = this.getPBEService().getInputStream( is, 
password );
-            this.copy( sdis, baos );
-            result = baos.toByteArray();
-            return result;
-        }
-        catch (IOException e)
-        {
-            String msg = "Failed to process the input stream";
-            this.getLogger().error( msg, e );
-            throw e;
-        }
-        catch (Exception e)
-        {
-            String msg = "Failed to decrypt the input stream";
-            this.getLogger().error( msg, e );
-            throw new IOException( msg );
-        }
-    }
-
-    /**
-     * Write the given output stream and encrypts it if required. If the
-     * encryption mode is "auto" we also encryt it.
-     *
-     * @param os the output stream to be written
-     * @param content the content to be written
-     * @throws IOException if unable to read
-     */
-    protected void write( OutputStream os, byte[] content )
-       throws IOException
-    {
-        if( this.getUseEncryption().equalsIgnoreCase("true") )
-        {
-            writeEncrypted( os, content );
-        }
-        else if( this.getUseEncryption().equalsIgnoreCase("auto") )
-        {
-            writeEncrypted( os, content );
-        }
-        else
-        {
-            writePlain( os, content );
-        }
-    }
-
-    /**
-     * Write the given content without encryption.
-     *
-     * @param os the output stream
-     * @param content the content to be written
-     * @throws IOException if unable to read
-     */
-    private void writePlain( OutputStream os, byte[] content )
-       throws IOException
-    {
-        ByteArrayInputStream bais = new ByteArrayInputStream(content);
-        this.copy( bais, os );
-    }
-
-    /**
-     * Write the given content and encrypt it.
-     *
-     * @param os the output stream
-     * @param content the content to be written
-     * @throws IOException if unable to read
-     */
-    private void writeEncrypted( OutputStream os, byte[] content )
-       throws IOException
-    {
-        try
-        {
-            char[] password = this.getPassword();
-            ByteArrayInputStream bais = new ByteArrayInputStream(content);
-            OutputStream eos = this.getPBEService().getOutputStream( os, 
password );
-            this.copy(bais,eos);
-        }
-        catch (IOException e)
-        {
-            String msg = "Failed to process the output stream";
-            this.getLogger().error( msg, e );
-            throw e;
-        }
-        catch (Exception e)
-        {
-            String msg = "Failed to encrypt the input stream";
-            this.getLogger().error( msg, e );
-            throw new IOException( msg );
-        }
-    }
-
-    /**
-     * Pumps the input stream to the output stream.
-     *
-     * @param is the source input stream
-     * @param os the target output stream
-     * @throws IOException the copying failed
-     */
-    private void copy( InputStream is, OutputStream os )
-        throws IOException
-    {
-        byte[] buf = new byte[BUF_SIZE];
-        int n = 0;
-        int total = 0;
-
-        while ((n = is.read(buf)) > 0)
-        {
-            os.write(buf, 0, n);
-            total += n;
-        }
-
-        os.flush();
-        os.close();
-    }
+       /** The configuration supplied by the avalon framework */
+       private Configuration configuration;
+
+       /** the Avalon application directory */
+       private File applicationDir;
+
+       /** the Avalon temp directory */
+       private File tempDir;
+
+       /** the name of the domain */
+       private String domain;
+
+       /** the seed to generate the password */
+       private String seed;
+
+       /** use transparent encryption/decryption */
+       private String useEncryption;
+
+       
/////////////////////////////////////////////////////////////////////////
+       // Avalon Service Lifecycle Implementation
+       
/////////////////////////////////////////////////////////////////////////
+
+       /**
+        * Constructor
+        */
+       public BaseResourceManager() 
+       {
+               // nothing to do
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see
+        * 
org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache
+        * .avalon.framework.context.Context)
+        */
+       public void contextualize(Context context) throws ContextException 
+       {
+               this.context = context;
+               this.applicationDir = (File) context.get("urn:avalon:home");
+               this.tempDir = (File) context.get("urn:avalon:temp");
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see
+        * 
org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.
+        * framework.service.ServiceManager)
+        */
+       public void service(ServiceManager serviceManager) throws 
ServiceException 
+       {
+               this.serviceManager = serviceManager;
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see
+        * 
org.apache.avalon.framework.configuration.Configurable#configure(org.apache.
+        * avalon.framework.configuration.Configuration)
+        */
+       public void configure(Configuration configuration) throws 
ConfigurationException 
+       {
+               this.configuration = configuration;
+               this.setDomain(configuration.getAttribute("name"));
+               this.seed = "resourcemanager";
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see org.apache.avalon.framework.activity.Initializable#initialize()
+        */
+       public void initialize() throws Exception 
+       {
+               // nothing to do
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see org.apache.avalon.framework.activity.Disposable#dispose()
+        */
+       public void dispose() 
+       {
+               this.applicationDir = null;
+               this.configuration = null;
+               this.context = null;
+               this.domain = null;
+               this.seed = null;
+               this.serviceManager = null;
+               this.tempDir = null;
+       }
+
+       /*
+        * (non-Javadoc)
+        * 
+        * @see
+        * 
org.apache.avalon.framework.configuration.Reconfigurable#reconfigure(org.
+        * apache.avalon.framework.configuration.Configuration)
+        */
+       public void reconfigure(Configuration configuration) throws 
ConfigurationException 
+       {
+               this.configure(configuration);
+       }
+
+       
/////////////////////////////////////////////////////////////////////////
+       // Service Implementation
+       
/////////////////////////////////////////////////////////////////////////
+
+       /**
+        * @return Returns the configuration.
+        */
+       protected Configuration getConfiguration() 
+       {
+               return this.configuration;
+       }
+
+       /**
+        * @return Returns the context.
+        */
+       protected Context getContext() 
+       {
+               return this.context;
+       }
+
+       /**
+        * @return Returns the serviceManager.
+        */
+       protected ServiceManager getServiceManager() 
+       {
+               return this.serviceManager;
+       }
+
+       /**
+        * @return Returns the applicationDir.
+        */
+       protected File getApplicationDir() 
+       {
+               return applicationDir;
+       }
+
+       /**
+        * @return Returns the tempDir.
+        */
+       protected File getTempDir() 
+       {
+               return tempDir;
+       }
+
+       /**
+        * @return Returns the domain.
+        */
+       public String getDomain() 
+       {
+               return domain;
+       }
+
+       /**
+        * Get the content as byte[].
+        * 
+        * @param content content to convert
+        * @return byte array representation of the object
+        * @throws IOException if unable to read
+        */
+       protected byte[] getContent(Object content) throws IOException 
+       {
+               byte[] result = null;
+
+               if (content instanceof String) 
+               {
+                       result = ((String) content).getBytes();
+               } 
+               else if (content instanceof byte[]) 
+               {
+                       result = (byte[]) content;
+               } 
+               else if (content instanceof InputStream) 
+               {
+                       result = this.getBytes((InputStream) content);
+               } 
+               else if (content instanceof Properties) 
+               {
+                       ByteArrayOutputStream baos = new 
ByteArrayOutputStream();
+                       ((Properties) content).store(baos, "Created by 
fulcrum-resourcemanager-service");
+                       result = baos.toByteArray();
+               } 
+               else 
+               {
+                       String msg = "Don't know how to read " + 
content.getClass().getName();
+                       throw new IllegalArgumentException(msg);
+               }
+
+               return result;
+       }
+
+       /**
+        * Extract a byte[] from the input stream.
+        * 
+        * @param is input stream to read from
+        * @return byte array representation of the object
+        * @throws IOException if unable to read
+        */
+       protected byte[] getBytes(InputStream is) throws IOException 
+       {
+               int ch;
+               byte[] data = null;
+
+               ByteArrayOutputStream os = new ByteArrayOutputStream();
+               BufferedInputStream isReader = new BufferedInputStream(is);
+               BufferedOutputStream osWriter = new BufferedOutputStream(os);
+
+               while ((ch = isReader.read()) != -1) 
+               {
+                       osWriter.write(ch);
+               }
+
+               osWriter.flush();
+               data = os.toByteArray();
+               osWriter.close();
+               isReader.close();
+
+               return data;
+       }
+
+       /**
+        * @param domain The domain to set.
+        */
+       protected void setDomain(String domain) 
+       {
+               this.domain = domain;
+       }
+
+       /**
+        * @return Returns the useEncryption.
+        */
+       protected String getUseEncryption() 
+       {
+               return useEncryption;
+       }
+
+       /**
+        * @param useEncryption The useEncryption to set.
+        */
+       protected void setUseEncryption(String useEncryption) 
+       {
+               this.useEncryption = useEncryption;
+       }
+
+
+       /**
+        * Reads the given input stream and decrypts it if required
+        * 
+        * @param is the input stream to be read
+        * @return the content of the input stream
+        * @throws IOException if unable to read
+        */
+       protected byte[] read(InputStream is) throws IOException 
+       {
+               return readPlain(is);
+       }
+
+       /**
+        * Reads from an unencrypted input stream
+        * 
+        * @param is the source input stream
+        * @return the content of the input stream
+        * @throws IOException if unable to read
+        */
+       private byte[] readPlain(InputStream is) throws IOException 
+       {
+               byte[] result = null;
+               ByteArrayOutputStream baos = new ByteArrayOutputStream();
+               this.copy(is, baos);
+               result = baos.toByteArray();
+               return result;
+       }
+
+       /**
+        * Write the given output stream and encrypts it if required. If the 
encryption
+        * mode is "auto" we also encryt it.
+        *
+        * @param os      the output stream to be written
+        * @param content the content to be written
+        * @throws IOException if unable to read
+        */
+       protected void write(OutputStream os, byte[] content) throws 
IOException 
+       {
+               writePlain(os, content);
+       }
+
+       /**
+        * Write the given content without encryption.
+        *
+        * @param os      the output stream
+        * @param content the content to be written
+        * @throws IOException if unable to read
+        */
+       private void writePlain(OutputStream os, byte[] content) throws 
IOException 
+       {
+               ByteArrayInputStream bais = new ByteArrayInputStream(content);
+               this.copy(bais, os);
+       }
+
+       /**
+        * Pumps the input stream to the output stream.
+        *
+        * @param is the source input stream
+        * @param os the target output stream
+        * @throws IOException the copying failed
+        */
+       private void copy(InputStream is, OutputStream os) throws IOException 
+       {
+               byte[] buf = new byte[BUF_SIZE];
+               int n = 0;
+               while ((n = is.read(buf)) > 0) 
+               {
+                       os.write(buf, 0, n);
+               }
+               os.flush();
+               os.close();
+       }
 }

Modified: 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/FileResourceManager.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/FileResourceManager.java?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/FileResourceManager.java
 (original)
+++ 
turbine/fulcrum/trunk/resourcemanager/src/java/org/apache/fulcrum/resourcemanager/impl/FileResourceManager.java
 Wed Sep 18 03:16:01 2019
@@ -39,7 +39,9 @@ import org.apache.commons.lang3.StringUt
  *
  * @author <a href="mailto:[email protected]";>Siegfried Goeschl</a>
  */
-public class FileResourceManager extends BaseResourceManager {
+public class FileResourceManager extends BaseResourceManager 
+{
+       
        /** an optinal suffix to filter resources */
        private String suffix;
 
@@ -62,9 +64,9 @@ public class FileResourceManager extends
        /**
         * Constructor
         */
-       public FileResourceManager() {
+       public FileResourceManager() 
+       {
                super();
-
                this.useLocator = true;
                this.defaultDirectoryExcludes = new String[] { "CVS", ".svn" };
        }
@@ -76,42 +78,43 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.impl.BaseResourceManager#configure(org.
         * apache.avalon.framework.configuration.Configuration)
         */
-       public void configure(Configuration cfg) throws ConfigurationException {
+       public void configure(Configuration cfg) throws ConfigurationException 
+       {
                super.configure(cfg);
 
                // the optional suffix - "*" is the usual wildcard suffix
-
                this.suffix = cfg.getChild(CONFIG_KEY_SUFFIX).getValue("*");
 
                // try to locate a resources automagically ?
-
                this.useLocator = 
cfg.getChild(CONFIG_KEY_USELOCATOR).getValueAsBoolean(false);
 
                // are we using encryption/decryption
-
                
this.setUseEncryption(cfg.getChild(CONFIG_KEY_USEENCRYPTION).getValue("false"));
 
                // locate the directory where we the resources are located
-
                String currLocationName = 
cfg.getChild(CONFIG_KEY_LOCATION).getValue();
                File currLocation = new File(currLocationName);
 
-               if (currLocation.isAbsolute()) {
+               if (currLocation.isAbsolute()) 
+               {
                        this.resourceDir = currLocation;
-               } else {
+               } 
+               else 
+               {
                        this.resourceDir = new File(this.getApplicationDir(), 
currLocationName);
                }
 
-               if (this.resourceDir.exists()) {
+               if (this.resourceDir.exists()) 
+               {
                        this.getLogger().debug("Using the resource directory : 
" + this.resourceDir.getAbsolutePath());
-               } else {
+               } 
+               else 
+               {
                        String msg = "The following resource directory is not 
found : " + this.resourceDir.getAbsolutePath();
-
                        throw new ConfigurationException(msg);
                }
 
                // load the file names of all resources and sort it
-
                this.createResourceFileNameList();
        }
 
@@ -120,9 +123,9 @@ public class FileResourceManager extends
         * 
         * @see 
org.apache.fulcrum.resourcemanager.impl.BaseResourceManager#dispose()
         */
-       public void dispose() {
+       public void dispose() 
+       {
                super.dispose();
-
                this.suffix = null;
                this.useLocator = false;
                this.resourceDir = null;
@@ -136,7 +139,8 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.impl.BaseResourceManager#reconfigure(org.
         * apache.avalon.framework.configuration.Configuration)
         */
-       public void reconfigure(Configuration configuration) throws 
ConfigurationException {
+       public void reconfigure(Configuration configuration) throws 
ConfigurationException 
+       {
                super.reconfigure(configuration);
                this.configure(configuration);
        }
@@ -151,7 +155,8 @@ public class FileResourceManager extends
         * @see
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#exists(java.lang.String)
         */
-       public synchronized boolean exists(String resourceName) {
+       public synchronized boolean exists(String resourceName) 
+       {
                File resourceFile = this.findResourceFile(resourceName, 
this.resourceFileNameList);
                return resourceFile != null;
        }
@@ -161,16 +166,15 @@ public class FileResourceManager extends
         * 
         * @see 
org.apache.fulcrum.resourcemanager.ResourceManager#listResources()
         */
-       public synchronized String[] listResources() {
+       public synchronized String[] listResources() 
+       {
                String resourceDirName = 
this.getResourceDir().getAbsolutePath();
                String[] fileList = this.resourceFileNameList;
                String[] result = new String[fileList.length];
 
                // remove the resource directory name
-
                for (int i = 0; i < result.length; i++) {
                        String relativeName = 
fileList[i].substring(resourceDirName.length() + 1, fileList[i].length());
-
                        result[i] = relativeName;
                }
 
@@ -184,7 +188,8 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#create(java.lang.String,
         * java.lang.Object)
         */
-       public synchronized void create(String resourcePath, Object 
resourceContent) throws IOException {
+       public synchronized void create(String resourcePath, Object 
resourceContent) throws IOException 
+       {
 
                File resourceFile = new File(this.getResourceDir(), 
resourcePath);
                this.getLogger().debug("Creating resource : " + 
resourceFile.getAbsolutePath());
@@ -192,17 +197,23 @@ public class FileResourceManager extends
 
                // Try to prevent any leak from the outputstream
                FileOutputStream fos = null;
-               try {
+               try 
+               {
                        fos = new FileOutputStream(resourceFile);
                        this.write(fos, byteContent);
                        fos.flush();
                        this.createResourceFileNameList();
                        
-               } finally {
-                       try {
+               } 
+               finally 
+               {
+                       try 
+                       {
                                if ( fos != null )
                                        fos.close();
-                       } catch (IOException warn) {
+                       } 
+                       catch (IOException warn) 
+                       {
                                throw warn;
                        }
                }
@@ -214,29 +225,35 @@ public class FileResourceManager extends
         * @see
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#read(java.lang.String)
         */
-       public synchronized byte[] read(String resourcePath) throws IOException 
{
-
+       public synchronized byte[] read(String resourcePath) throws IOException 
+       {
                // Result byte array
                byte[] result = null;
                File resourceFile = this.findResourceFile(resourcePath, 
this.resourceFileNameList);
 
-               if (resourceFile != null) {
+               if (resourceFile != null) 
+               {
                        this.getLogger().debug("Loading the resource : " + 
resourceFile.getAbsolutePath());
                        FileInputStream fis = null;
 
-                       try {
+                       try 
+                       {
                                fis = new FileInputStream(resourceFile);
                                result = this.read(fis);
 
-                       } finally {
-                               try {
+                       } 
+                       finally 
+                       {
+                               try 
+                               {
                                        if ( fis != null )
                                                fis.close();
-                               } catch (IOException warn) {
+                               } 
+                               catch (IOException warn) 
+                               {
                                        throw warn;
                                }
                        }
-
                        return result;
                } else {
                        String msg = "Unable to find the resource : " + 
resourcePath;
@@ -252,7 +269,8 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#update(java.lang.String,
         * java.lang.Object)
         */
-       public synchronized void update(String resourcePath, Object 
resourceContent) throws IOException {
+       public synchronized void update(String resourcePath, Object 
resourceContent) throws IOException 
+       {
                this.create(resourcePath, resourceContent);
        }
 
@@ -262,18 +280,17 @@ public class FileResourceManager extends
         * @see
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#delete(java.lang.String)
         */
-       public synchronized boolean delete(String resourcePath) throws 
IOException {
+       public synchronized boolean delete(String resourcePath) throws 
IOException 
+       {
                boolean result = false;
                File file = new File(this.getResourceDir(), resourcePath);
 
                // if a resource was deleted we have to update our resource list
                // to avoid a stale entry
-
                if (file.delete()) {
                        this.createResourceFileNameList();
                        result = true;
                }
-
                return result;
        }
 
@@ -284,8 +301,9 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#exists(java.lang.String[],
         * java.lang.String)
         */
-       public synchronized boolean exists(String[] context, String 
resourceName) {
-               return (this.locate(context, resourceName) != null);
+       public synchronized boolean exists(String[] context, String 
resourceName) 
+       {
+               return this.locate(context, resourceName) != null;
        }
 
        /*
@@ -295,7 +313,8 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#read(java.lang.String[],
         * java.lang.String)
         */
-       public synchronized byte[] read(String[] context, String resourceName) 
throws IOException {
+       public synchronized byte[] read(String[] context, String resourceName) 
throws IOException 
+       {
                String resourceFileName = this.createResourceFileName(context, 
resourceName);
                return this.read(resourceFileName);
        }
@@ -307,20 +326,18 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#locate(java.lang.String[],
         * java.lang.String)
         */
-       public synchronized String locate(String[] context, String 
resourceName) {
+       public synchronized String locate(String[] context, String 
resourceName) 
+       {
                String result = null;
                String resourceDirName = 
this.getResourceDir().getAbsolutePath();
                String resourceFileName = this.createResourceFileName(context, 
resourceName);
                File resourceFile = this.findResourceFile(resourceFileName, 
this.resourceFileNameList);
-
-               if (resourceFile != null) {
+               if (resourceFile != null) 
+               {
                        String temp = resourceFile.getAbsolutePath();
-
                        result = temp.substring(resourceDirName.length() + 1, 
temp.length());
-
                        result = result.replace('\\', '/');
                }
-
                return result;
        }
 
@@ -331,17 +348,23 @@ public class FileResourceManager extends
         * 
org.apache.fulcrum.resourcemanager.ResourceManager#getResourceURL(java.lang.
         * String[], java.lang.String)
         */
-       public synchronized URL getResourceURL(String[] context, String 
resourceName) {
+       public synchronized URL getResourceURL(String[] context, String 
resourceName) 
+       {
                String resourceFileName = this.createResourceFileName(context, 
resourceName);
                File resourceFile = this.findResourceFile(resourceFileName, 
this.resourceFileNameList);
-
-               if (resourceFile != null) {
-                       try {
+               if (resourceFile != null) 
+               {
+                       try 
+                       {
                                return resourceFile.toURI().toURL();
-                       } catch (MalformedURLException e) {
+                       } 
+                       catch (MalformedURLException e) 
+                       {
                                throw new RuntimeException(e.getMessage());
                        }
-               } else {
+               } 
+               else 
+               {
                        return null;
                }
        }
@@ -356,11 +379,13 @@ public class FileResourceManager extends
         * @param directory the directory
         * @return true if the directory name is excluded
         */
-       private boolean isDirectoryExcluded(File directory) {
+       private boolean isDirectoryExcluded(File directory) 
+       {
                String directoryName = directory.getName();
-
-               for (int i = 0; i < this.defaultDirectoryExcludes.length; i++) {
-                       if 
(this.defaultDirectoryExcludes[i].equals(directoryName)) {
+               for (int i = 0; i < this.defaultDirectoryExcludes.length; i++) 
+               {
+                       if 
(this.defaultDirectoryExcludes[i].equals(directoryName)) 
+                       {
                                return true;
                        }
                }
@@ -399,16 +424,19 @@ public class FileResourceManager extends
         * @param resourceList the list of available resources
         * @return the resource file or <b>null</b> if it wasn't found
         */
-       private File findResourceFile(String resourceName, String[] 
resourceList) {
+       private File findResourceFile(String resourceName, String[] 
resourceList) 
+       {
                File result = null;
                String tempFileName;
                String resourceFileName = new File(this.getResourceDir(), 
resourceName).getAbsolutePath();
+               boolean wasFound = Arrays.binarySearch(resourceList, 
resourceFileName) >= 0;
 
-               boolean wasFound = (Arrays.binarySearch(resourceList, 
resourceFileName) >= 0);
-
-               if (wasFound) {
+               if (wasFound) 
+               {
                        result = new File(resourceFileName);
-               } else if (this.isUseLocator()) {
+               } 
+               else if (this.isUseLocator()) 
+               {
                        // create a String[] with the directories contained in 
the resourceName
                        // e.g. [0]=foor [1]=bar resourceName=empty.groovy
 
@@ -427,10 +455,14 @@ public class FileResourceManager extends
                        File[] fileList = new File[context.length + 1];
                        fileList[0] = new File(this.getResourceDir(), 
scriptBaseName);
 
-                       for (int i = 1; i < context.length + 1; i++) {
-                               if (i == 1) {
+                       for (int i = 1; i < context.length + 1; i++) 
+                       {
+                               if (i == 1) 
+                               {
                                        baseFileName = context[i - 1];
-                               } else {
+                               } 
+                               else 
+                               {
                                        baseFileName = baseFileName + 
File.separator + context[i - 1];
                                }
 
@@ -465,28 +497,36 @@ public class FileResourceManager extends
         * @param suffix   an optional suffix to filter the result
         * @param result   list of all matching resources
         */
-       private void findAllResources(File startDir, String suffix, 
ArrayList<String> result) {
-               if (startDir.isDirectory() && startDir.canRead()) {
-
+       private void findAllResources(File startDir, String suffix, 
ArrayList<String> result) 
+       {
+               if (startDir.isDirectory() && startDir.canRead()) 
+               {
                        // listFiles could return null
                        File[] list = startDir.listFiles();
-
                        if (list != null) {
 
-                               for (int i = 0; i < list.length; i++) {
-                                       // recursive search for all 
subdirectories
-
-                                       if (list[i].isDirectory()) {
-                                               // check that the subdirectory 
is not excluded from the seach
-                                               if 
(!this.isDirectoryExcluded(list[i])) {
+                               for (int i = 0; i < list.length; i++) 
+                               {
+                                       // recursive search for all 
sub-directories
+                                       if (list[i].isDirectory()) 
+                                       {
+                                               // check that the subd0irectory 
is not excluded from the search
+                                               if 
(!this.isDirectoryExcluded(list[i])) 
+                                               {
                                                        
this.findAllResources(list[i], suffix, result);
                                                }
-                                       } else {
-                                               if (!suffix.equals("*")) {
-                                                       if 
(list[i].getName().endsWith(suffix)) {
+                                       } 
+                                       else 
+                                       {
+                                               if (!suffix.equals("*")) 
+                                               {
+                                                       if 
(list[i].getName().endsWith(suffix)) 
+                                                       {
                                                                
result.add(list[i].getAbsolutePath());
                                                        }
-                                               } else {
+                                               } 
+                                               else 
+                                               {
                                                        
result.add(list[i].getAbsolutePath());
                                                }
                                        }
@@ -502,23 +542,27 @@ public class FileResourceManager extends
         * @param resourceName the name of the resource
         * @return a file name
         */
-       private String createResourceFileName(String[] context, String 
resourceName) {
+       private String createResourceFileName(String[] context, String 
resourceName) 
+       {
                StringBuilder result = new StringBuilder();
-
-               if ((context != null) && (context.length > 0)) {
-                       for (int i = 0; i < context.length; i++) {
-                               if (context[i] != null) {
+               if (context != null && context.length > 0) 
+               {
+                       for (int i = 0; i < context.length; i++) 
+                       {
+                               if (context[i] != null) 
+                               {
                                        result.append(context[i]);
                                        result.append(File.separator);
-                               } else {
-                                       String msg = "Don't know how to handle 
<null> in the context";
+                               } 
+                               else 
+                               {
+                                       String msg = "Turbine does not know how 
to handle <null> in the context";
                                        throw new IllegalArgumentException(msg);
                                }
                        }
                }
 
                result.append(resourceName);
-
                return result.toString();
        }
 }

Modified: turbine/fulcrum/trunk/resourcemanager/src/test/TestComponentConfig.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/test/TestComponentConfig.xml?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- turbine/fulcrum/trunk/resourcemanager/src/test/TestComponentConfig.xml 
(original)
+++ turbine/fulcrum/trunk/resourcemanager/src/test/TestComponentConfig.xml Wed 
Sep 18 03:16:01 2019
@@ -23,23 +23,23 @@
   <ResourceManagerService>
     <domain name="groovy">
       <suffix>groovy</suffix>
-      <location>./src/test/resources/scripts</location>
+      <location>src/test/resources/scripts</location>
       <useLocator>true</useLocator>
     </domain>
     <domain name="xslt">
       <suffix>xsl</suffix>
-      <location>./src/test/resources/xslt</location>
+      <location>src/test/resources/xslt</location>
       <useLocator>true</useLocator>
     </domain>
     <domain name="test">
       <suffix>txt</suffix>
-      <location>./src/test/resources/test</location>
+      <location>src/test/resources/test</location>
       <useLocator>false</useLocator>
       <useEncryption>true</useEncryption>
     </domain>
     <domain name="crypto">
       <suffix>txt</suffix>
-      <location>./src/test/resources/crypto</location>
+      <location>src/test/resources/crypto</location>
       <useLocator>false</useLocator>
       <useEncryption>auto</useEncryption>
     </domain>

Modified: turbine/fulcrum/trunk/resourcemanager/src/test/TestRoleConfig.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/test/TestRoleConfig.xml?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- turbine/fulcrum/trunk/resourcemanager/src/test/TestRoleConfig.xml (original)
+++ turbine/fulcrum/trunk/resourcemanager/src/test/TestRoleConfig.xml Wed Sep 
18 03:16:01 2019
@@ -20,19 +20,7 @@
 
 <role-list>
   <role
-    name="org.apache.fulcrum.pbe.PBEService"
-    shorthand="PBEService"
-    default-class="org.apache.fulcrum.pbe.PBEServiceImpl"
-    early-init="true"
-    component-type="merlin"
-    description="Provides Password Based Encyrption using JCA/JCE"
-  />
-  <role
     name="org.apache.fulcrum.resourcemanager.ResourceManagerService"
     
default-class="org.apache.fulcrum.resourcemanager.impl.ResourceManagerServiceImpl"
-    shorthand="ResourceManagerService"
-    early-init="true"
-    component-type="merlin"
-    description="Handles the management of resources"
-   />
+    shorthand="ResourceManagerService"/>
 </role-list>

Modified: 
turbine/fulcrum/trunk/resourcemanager/src/test/org/apache/fulcrum/resourcemanager/ResourceManagerServiceTest.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/resourcemanager/src/test/org/apache/fulcrum/resourcemanager/ResourceManagerServiceTest.java?rev=1867089&r1=1867088&r2=1867089&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/resourcemanager/src/test/org/apache/fulcrum/resourcemanager/ResourceManagerServiceTest.java
 (original)
+++ 
turbine/fulcrum/trunk/resourcemanager/src/test/org/apache/fulcrum/resourcemanager/ResourceManagerServiceTest.java
 Wed Sep 18 03:16:01 2019
@@ -19,49 +19,44 @@ package org.apache.fulcrum.resourcemanag
  * under the License.
  */
 
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.util.Date;
 import java.util.Properties;
 
-import org.apache.fulcrum.testcontainer.BaseUnitTest;
-
+import org.apache.fulcrum.testcontainer.BaseUnit5Test;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 /**
  * Testing script handling
  *
  * @author <a href="mailto:[email protected]";>Siegfried Goeschl</a>
  */
-public class ResourceManagerServiceTest extends BaseUnitTest
+public class ResourceManagerServiceTest extends BaseUnit5Test
 {
        private ResourceManagerService service;
 
-    /**
-     * Defines the testcase name for JUnit.
-     *
-     * @param name the testcase's name.
-     */
-    public ResourceManagerServiceTest(String name)
+    @BeforeEach
+    public void setUp() throws Exception
     {
-        super(name);
-    }
+       service = (ResourceManagerService) lookup(ResourceManagerService.ROLE);
+    }    
 
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-
-        this.service = (ResourceManagerService) this.lookup(
-            ResourceManagerService.class.getName()
-            );
-    }
 
     /**
      * Test basic CRUD for the domain "script"
      * @throws Exception generic exception
      */
+    @Test
     public void testResourceCRUD() throws Exception
     {
         String temp = null;
@@ -90,6 +85,7 @@ public class ResourceManagerServiceTest
     /**
      * Test getting a list of resources for the domain "xslt"
      */
+    @Test
     public void testListResources() throws Exception
     {
         String [] result = null;
@@ -111,6 +107,7 @@ public class ResourceManagerServiceTest
      * Test getting a list of domains
      * @throws Exception generic exception
      */
+    @Test
     public void testListDomains() throws Exception
     {
         // get a list of available domains
@@ -129,6 +126,7 @@ public class ResourceManagerServiceTest
      * Test the locator
      * @throws Exception generic exception
      */
+    @Test
     public void testLocator() throws Exception
     {
         String resourceDomain = "groovy";
@@ -207,10 +205,10 @@ public class ResourceManagerServiceTest
      * Try to access an unknown domain
      * @throws Exception generic exception
      */
+    @Test
     public void testUnknownDomain() throws Exception
     {
         String[] resourceContext = { "foo" };
-
         assertFalse( this.service.exists( "bogus" ) );
 
         try
@@ -227,6 +225,7 @@ public class ResourceManagerServiceTest
      * Create a resource file using the various input data types
      * @throws Exception generic exception
      */
+    @Test
     public void testCreateResources() throws Exception
     {
         String result = null;
@@ -284,6 +283,7 @@ public class ResourceManagerServiceTest
      * Get the URL of the underlying resource.
      * @throws Exception generic exception
      */
+    @Test
     public void testGetResourceURL() throws Exception
     {
         String resourceDomain = "groovy";
@@ -303,6 +303,7 @@ public class ResourceManagerServiceTest
      * Create a resource file using the various input data types
      * @throws Exception generic exception
      */
+    @Test
     public void testAutoDecrytpion() throws Exception
     {
         String result = null;
@@ -336,6 +337,7 @@ public class ResourceManagerServiceTest
      * to the caching of the JUNIT reports and output onstdout.
      * @throws Exception generic exception
      */
+    @Test
     public void _testLongRunningBehaviour() throws Exception
     {
         for( int i=0; i<10; i++ )


Reply via email to