incubator-sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cziege...@apache.org
Subject svn commit: r732280 [2/3] - in /incubator/sling/trunk: ./ api/ api/src/main/resources/META-INF/ commons/json/ commons/json/src/main/resources/META-INF/ commons/log/ commons/log/src/main/resources/META-INF/ commons/mime/ commons/mime/src/main/resources/...
Date Wed, 07 Jan 2009 09:07:06 GMT
Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,527 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.service.cm.ManagedService;
+import org.osgi.service.cm.ManagedServiceFactory;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.metatype.AttributeDefinition;
+import org.osgi.service.metatype.MetaTypeInformation;
+import org.osgi.service.metatype.MetaTypeService;
+import org.osgi.service.metatype.ObjectClassDefinition;
+
+/**
+ * The <code>ConfigResourceProvider</code> is a resource provider which maps
+ * configuration into the virtual resource tree.
+ * <p>
+ * The provider instance is configured with one properties: The location in the
+ * resource tree where resources are provided ({@link ResourceProvider#ROOTS})
+ *
+ * @scr.component
+ * @scr.service
+ * @scr.property name="service.description" value="Sling ConfigAdmin Resource
+ *               Provider"
+ * @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property nameRef="ResourceProvider.ROOTS" valueRef="DEFAULT_ROOT"
+ */
+public class ConfigResourceProvider implements ResourceProvider {
+
+    public static final String DEFAULT_ROOT = "/test/configs";
+
+    // The location in the resource tree where the resources are mapped
+    private String providerRoot;
+
+    // providerRoot + "/" to be used for prefix matching of paths
+    private String providerRootPrefix;
+
+    /** @scr.reference */
+    private ConfigurationAdmin configAdmin;
+
+    /** @scr.reference cardinality="0..1 */
+    private MetaTypeService metatypeService;
+
+    /** The component context. */
+    private ComponentContext componentContext;
+
+    /**
+     * Same as {@link #getResource(ResourceResolver, String)}, i.e. the
+     * <code>request</code> parameter is ignored.
+     *
+     * @see #getResource(ResourceResolver, String)
+     */
+    public Resource getResource(ResourceResolver   resourceResolver,
+                                HttpServletRequest request,
+                                String             path) {
+        return getResource(resourceResolver, path);
+    }
+
+    /**
+     * Returns a resource wrapping a filesystem file or folder for the given
+     * path. If the <code>path</code> is equal to the configured resource tree
+     * location of this provider, the configured file system file or folder is
+     * used for the resource. Otherwise the configured resource tree location
+     * prefix is removed from the path and the remaining relative path is used
+     * to access the file or folder. If no such file or folder exists, this
+     * method returns <code>null</code>.
+     */
+    public Resource getResource(ResourceResolver resourceResolver, String path) {
+        // check root
+        if ( path.equals(this.providerRoot) ) {
+            return new RootResource(path, resourceResolver);
+        }
+        if ( !path.startsWith(this.providerRootPrefix) ) {
+            return null;
+        }
+        // check container
+        if ( path.equals(this.providerRootPrefix + "configurations") ) {
+            return new ConfigurationContainerResource(path, resourceResolver);
+        }
+        if ( path.equals(this.providerRootPrefix + "factories") ) {
+            return new FactoryContainerResource(path, resourceResolver);
+        }
+        if ( path.startsWith(this.providerRootPrefix + "configurations/") ) {
+            final String pid = path.substring((this.providerRootPrefix + "configurations/").length());
+            if ( pid.length() == 0 ) {
+                return null;
+            }
+            try {
+                final Configuration c = this.configAdmin.getConfiguration(pid);
+                if ( c.getProperties() == null ) {
+                    return null;
+                }
+                return new ConfigurationResource(path, resourceResolver, c);
+            } catch (IOException e) {
+                return null;
+            }
+        }
+        // TODO factories
+        if ( path.startsWith(this.providerRootPrefix + "factories/") ) {
+            final String pid = path.substring((this.providerRootPrefix + "factories/").length());
+            if ( pid.length() == 0 ) {
+                return null;
+            }
+            try {
+                final Configuration c = this.configAdmin.getConfiguration(pid);
+                if ( c.getProperties() == null ) {
+                    return null;
+                }
+                return new FactoryResource(path, resourceResolver, c);
+            } catch (IOException e) {
+                return null;
+            }
+        }
+
+        // not applicable or not existing
+        return null;
+    }
+
+    /**
+     * Returns an iterator of resources.
+     */
+    public Iterator<Resource> listChildren(final Resource parent) {
+        if ( parent instanceof RootResource ) {
+            final List<Resource> children = new ArrayList<Resource>();
+            children.add(new ConfigurationContainerResource(parent.getPath() + "/configurations", parent.getResourceResolver()));
+            children.add(new FactoryContainerResource(parent.getPath() + "/factories", parent.getResourceResolver()));
+            return children.iterator();
+        }
+        if ( parent instanceof FactoryContainerResource ) {
+            // TODO
+            return null;
+        }
+        if ( parent instanceof ConfigurationContainerResource ) {
+            try {
+                final Map<String, String> optionsPlain = this.listConfigurations();
+                final List<Configuration> configList = new ArrayList<Configuration>();
+                if ( optionsPlain != null ) {
+                    for(String key : optionsPlain.keySet()) {
+                        final Configuration c = this.configAdmin.getConfiguration(key);
+                        if ( c != null && c.getProperties() != null ) {
+                            configList.add(c);
+                        } else {
+                            final ObjectClassDefinition ocd = this.getObjectClassDefinition( key );
+                            if ( ocd != null ) {
+                                configList.add(getConfiguration(key, ocd));
+                            }
+                        }
+                    }
+                }
+                final Configuration[] configs = configList.toArray(new Configuration[configList.size()]);
+                return new Iterator<Resource>() {
+
+                    int index = 0;
+
+                    /**
+                     * @see java.util.Iterator#hasNext()
+                     */
+                    public boolean hasNext() {
+                        return index < configs.length;
+                    }
+
+                    /**
+                     * @see java.util.Iterator#next()
+                     */
+                    public Resource next() {
+                        if ( index >= configs.length ) {
+                            throw new NoSuchElementException();
+                        }
+                        final Configuration c = configs[index];
+                        index++;
+                        return new ConfigurationResource(providerRootPrefix + "configurations/" + c.getPid(),
+                                parent.getResourceResolver(), c);
+                    }
+
+                    /**
+                     * @see java.util.Iterator#remove()
+                     */
+                    public void remove() {
+                        if ( index <= configs.length && configs.length > 0 ) {
+                            try {
+                                configs[index-1].delete();
+                            } catch (IOException e) {
+                                throw new UnsupportedOperationException("Unable to remove element.");
+                            }
+                        }
+                        throw new IllegalStateException("Unable to remove element.");
+                    }
+
+                };
+            } catch (IOException e) {
+                return null;
+            }
+        }
+        // no children
+        return null;
+    }
+
+    private Configuration getConfiguration( String pid, ObjectClassDefinition ocd ) {
+        final Dictionary props = new Hashtable();
+        props.put("title", ocd.getName());
+
+        if ( ocd.getDescription() != null ) {
+            props.put("description", ocd.getDescription());
+        }
+
+        final AttributeDefinition[] ad = ocd.getAttributeDefinitions( ObjectClassDefinition.ALL );
+        if ( ad != null ) {
+
+            for ( int i = 0; i < ad.length; i++ ) {
+                final String key = ad[i].getID();
+                props.put(key, ad[i].getDefaultValue());
+            }
+        }
+        return new PlaceholderConfiguration(pid, null, props);
+    }
+
+    private static class PlaceholderConfiguration implements Configuration {
+
+        private final String pid;
+        private final String factoryPid;
+        private final Dictionary props;
+
+        private String bundleLocation;
+
+        PlaceholderConfiguration( String pid, String factoryPid, Dictionary properties ) {
+            this.pid = pid;
+            this.factoryPid = factoryPid;
+            this.props = properties;
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#getPid()
+         */
+        public String getPid() {
+            return this.pid;
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#getFactoryPid()
+         */
+        public String getFactoryPid() {
+            return factoryPid;
+        }
+
+
+        /**
+         * @see org.osgi.service.cm.Configuration#setBundleLocation(java.lang.String)
+         */
+        public void setBundleLocation( String bundleLocation ) {
+            this.bundleLocation = bundleLocation;
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#getBundleLocation()
+         */
+        public String getBundleLocation() {
+            return bundleLocation;
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#getProperties()
+         */
+        public Dictionary getProperties() {
+            return this.props;
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#update()
+         */
+        public void update() {
+            // dummy configuration cannot be updated
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#update(java.util.Dictionary)
+         */
+        public void update( Dictionary properties ) {
+            // dummy configuration cannot be updated
+        }
+
+        /**
+         * @see org.osgi.service.cm.Configuration#delete()
+         */
+        public void delete() {
+            // dummy configuration cannot be deleted
+        }
+    }
+
+    /**
+     * Activate this component.
+     * @param context The component context.
+     */
+    protected void activate(ComponentContext context) {
+        this.componentContext = context;
+        Dictionary<?, ?> props = context.getProperties();
+
+        String providerRoot = (String) props.get(ROOTS);
+        if (providerRoot == null || providerRoot.length() == 0) {
+            throw new IllegalArgumentException(ROOTS + " property must be set");
+        }
+
+        this.providerRoot = providerRoot;
+        this.providerRootPrefix = providerRoot.concat("/");
+    }
+
+    /**
+     * Deactivate this component.
+     * @param context The component context.
+     */
+    protected void deactivate(ComponentContext context) {
+        this.providerRoot = null;
+        this.providerRootPrefix = null;
+        this.componentContext = null;
+    }
+
+    private Map<String, String> listConfigurations() {
+        try {
+            // start with ManagedService instances
+            SortedMap<String, String> optionsPlain = getServices( ManagedService.class.getName() );
+
+            // add in existing configuration (not duplicating ManagedServices)
+            Configuration[] cfgs = this.configAdmin.listConfigurations( null );
+            for ( int i = 0; cfgs != null && i < cfgs.length; i++ ) {
+
+                // ignore configuration object if an entry already exists in the
+                // map
+                String pid = cfgs[i].getPid();
+                if ( optionsPlain.containsKey( pid ) ) {
+                    continue;
+                }
+
+                // insert and entry for the pid
+                ObjectClassDefinition ocd = this.getObjectClassDefinition( cfgs[i] );
+                String name;
+                if ( ocd != null ) {
+                    name = ocd.getName() + " (";
+                    name += pid + ")";
+                } else {
+                    name = pid;
+                }
+
+                optionsPlain.put( pid, name );
+            }
+            return optionsPlain;
+        } catch ( Exception e ) {
+            // write a message or ignore
+        }
+        return null;
+    }
+
+
+    private void listFactoryConfigurations( ) {
+        try
+        {
+            SortedMap<String, String> optionsFactory = getServices( ManagedServiceFactory.class.getName());
+        }  catch ( Exception e ) {
+            // write a message or ignore
+        }
+    }
+
+
+    private SortedMap<String, String> getServices( String serviceClass )
+    throws InvalidSyntaxException {
+        // sorted map of options
+        final SortedMap<String, String> optionsFactory = new TreeMap<String, String>( String.CASE_INSENSITIVE_ORDER );
+
+        final ServiceReference[] refs = this.getBundleContext().getServiceReferences( serviceClass, null );
+        for ( int i = 0; refs != null && i < refs.length; i++ ) {
+            Object pidObject = refs[i].getProperty( Constants.SERVICE_PID );
+            if ( pidObject instanceof String ) {
+                String pid = ( String ) pidObject;
+                String name;
+                ObjectClassDefinition ocd = this.getObjectClassDefinition( refs[i].getBundle(), pid );
+                if ( ocd != null ) {
+                    name = ocd.getName() + " (";
+                    name += pid + ")";
+                } else {
+                    name = pid;
+                }
+
+                optionsFactory.put( pid, name );
+            }
+        }
+
+        return optionsFactory;
+    }
+
+
+
+    private ObjectClassDefinition getObjectClassDefinition( Bundle bundle, String pid )
+    {
+        if ( bundle != null )
+        {
+            MetaTypeService mts = this.metatypeService;
+            if ( mts != null )
+            {
+                MetaTypeInformation mti = mts.getMetaTypeInformation( bundle );
+                if ( mti != null )
+                {
+                    return mti.getObjectClassDefinition( pid, null );
+                }
+            }
+        }
+
+        // fallback to nothing found
+        return null;
+    }
+
+    private ObjectClassDefinition getObjectClassDefinition( Configuration config ) {
+
+        // if the configuration is not bound, search in the bundles
+        if ( config.getBundleLocation() == null ) {
+            // if the configuration is a factory one, use the factory PID
+            if ( config.getFactoryPid() != null ) {
+                return this.getObjectClassDefinition( config.getFactoryPid() );
+            }
+
+            // otherwise use the configuration PID
+            return this.getObjectClassDefinition( config.getPid() );
+        }
+
+        MetaTypeService mts = this.getMetaTypeService();
+        if ( mts != null ) {
+            Bundle bundle = this.getBundle( config.getBundleLocation() );
+            if ( bundle != null )
+            {
+                MetaTypeInformation mti = mts.getMetaTypeInformation( bundle );
+                if ( mti != null )
+                {
+                    // check by factory PID
+                    if ( config.getFactoryPid() != null )
+                    {
+                        return mti.getObjectClassDefinition( config.getFactoryPid(), null );
+                    }
+
+                    // otherwise check by configuration PID
+                    return mti.getObjectClassDefinition( config.getPid(), null );
+                }
+            }
+        }
+
+        // fallback to nothing found
+        return null;
+    }
+
+    private MetaTypeService getMetaTypeService() {
+        return this.metatypeService;
+    }
+
+    private Bundle getBundle( String bundleLocation ) {
+        if ( bundleLocation == null ) {
+            return null;
+        }
+
+        Bundle[] bundles = this.getBundleContext().getBundles();
+        for ( int i = 0; i < bundles.length; i++ ) {
+            if ( bundleLocation.equals( bundles[i].getLocation() ) ) {
+                return bundles[i];
+            }
+        }
+
+        return null;
+    }
+
+    private BundleContext getBundleContext() {
+        return this.componentContext.getBundleContext();
+    }
+
+    private ObjectClassDefinition getObjectClassDefinition( String pid )
+    {
+        Bundle[] bundles = this.componentContext.getBundleContext().getBundles();
+        for ( int i = 0; i < bundles.length; i++ )
+        {
+            try
+            {
+                ObjectClassDefinition ocd = this.getObjectClassDefinition( bundles[i], pid);
+                if ( ocd != null )
+                {
+                    return ocd;
+                }
+            }
+            catch ( IllegalArgumentException iae )
+            {
+                // don't care
+            }
+        }
+        return null;
+    }
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigResourceProvider.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import org.apache.sling.api.resource.ResourceResolver;
+
+public class ConfigurationContainerResource extends ConfigResource {
+
+    public ConfigurationContainerResource(String path,
+                                          ResourceResolver resolver) {
+        super(path, resolver);
+    }
+
+    @Override
+    public String getResourceType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_CONFIGURATION_ROOT;
+    }
+
+    @Override
+    public String getResourceSuperType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_ROOT;
+    }
+
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationContainerResource.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,216 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.sling.api.resource.PersistableValueMap;
+import org.apache.sling.api.resource.PersistenceException;
+import org.osgi.service.cm.Configuration;
+
+public class ConfigurationMap implements PersistableValueMap {
+
+    private final Configuration configuration;
+
+    private Map<String, Object> properties;
+
+    private boolean hasChanges = false;
+
+    public ConfigurationMap(Configuration config) {
+        this.configuration = config;
+    }
+
+    private void createMap() {
+        this.properties = new HashMap<String, Object>();
+        final Dictionary<?, ?> dict = this.configuration.getProperties();
+        final Enumeration<?> e = dict.keys();
+        while ( e.hasMoreElements() ) {
+            final String key = e.nextElement().toString();
+            this.properties.put(key, dict.get(key));
+        }
+        this.hasChanges = false;
+    }
+
+    /**
+     * @see org.apache.sling.api.resource.PersistableValueMap#reset()
+     */
+    public void reset() {
+        // just recreate the map
+        this.createMap();
+    }
+
+    /**
+     * @see org.apache.sling.api.resource.PersistableValueMap#save()
+     */
+    public void save() throws PersistenceException {
+        if ( this.hasChanges ) {
+            @SuppressWarnings("unchecked")
+            final Dictionary dict = new Hashtable();
+            final Iterator<Map.Entry<String, Object>> i = this.properties.entrySet().iterator();
+            while ( i.hasNext() ) {
+                final Map.Entry<String, Object> current = i.next();
+                dict.put(current.getKey(), current.getValue());
+            }
+            try {
+                this.configuration.update(dict);
+            } catch (IOException e) {
+                throw new PersistenceException("Unable to persist configuration.", e);
+            }
+
+            this.hasChanges = false;
+        }
+    }
+
+    /**
+     * @see org.apache.sling.api.resource.ValueMap#get(java.lang.String, java.lang.Class)
+     */
+    @SuppressWarnings("unchecked")
+    public <T> T get(String name, Class<T> type) {
+        final Object value = this.get(name);
+        if (type == null) {
+            return (T) value;
+        }
+        if ( value != null ) {
+            if ( type.isAssignableFrom(value.getClass()) ) {
+                return (T)value;
+            }
+            if ( type == String.class ) {
+                return (T)value.toString();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * @see org.apache.sling.api.resource.ValueMap#get(java.lang.String, java.lang.Object)
+     */
+    @SuppressWarnings("unchecked")
+    public <T> T get(String name, T defaultValue) {
+        if ( defaultValue == null ) {
+            return (T)this.get(name);
+        }
+        final Class<T> type = (Class<T>) defaultValue.getClass();
+
+        T value = this.get(name, type);
+        if ( value == null ) {
+            value = defaultValue;
+        }
+        return value;
+    }
+
+    /**
+     * @see java.util.Map#clear()
+     */
+    public void clear() {
+        this.hasChanges = true;
+    }
+
+    /**
+     * @see java.util.Map#containsKey(java.lang.Object)
+     */
+    public boolean containsKey(Object key) {
+        return this.properties.containsKey(key);
+    }
+
+    /**
+     * @see java.util.Map#containsValue(java.lang.Object)
+     */
+    public boolean containsValue(Object value) {
+        return this.properties.containsValue(value);
+    }
+
+    /**
+     * @see java.util.Map#entrySet()
+     */
+    public Set<java.util.Map.Entry<String, Object>> entrySet() {
+        return this.properties.entrySet();
+    }
+
+    /**
+     * @see java.util.Map#get(java.lang.Object)
+     */
+    public Object get(Object key) {
+        return this.properties.get(key);
+    }
+
+    /**
+     * @see java.util.Map#isEmpty()
+     */
+    public boolean isEmpty() {
+        return this.properties.isEmpty();
+    }
+
+    /**
+     * @see java.util.Map#keySet()
+     */
+    public Set<String> keySet() {
+        return this.properties.keySet();
+    }
+
+    /**
+     * @see java.util.Map#put(java.lang.Object, java.lang.Object)
+     */
+    public Object put(String key, Object value) {
+        final Object oldObject = this.properties.get(key);
+        this.properties.put(key, value);
+        this.hasChanges = true;
+        return oldObject;
+    }
+
+    /**
+     * @see java.util.Map#putAll(java.util.Map)
+     */
+    public void putAll(Map<? extends String, ? extends Object> t) {
+        this.properties.putAll(t);
+        this.hasChanges = true;
+    }
+
+    /**
+     * @see java.util.Map#remove(java.lang.Object)
+     */
+    public Object remove(Object key) {
+        final Object oldObject = this.properties.remove(key);
+        if ( oldObject != null ) {
+            this.hasChanges = true;
+        }
+        return oldObject;
+    }
+
+    /**
+     * @see java.util.Map#size()
+     */
+    public int size() {
+        return this.properties.size();
+    }
+
+    /**
+     * @see java.util.Map#values()
+     */
+    public Collection<Object> values() {
+        return this.properties.values();
+    }
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationMap.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import java.util.Map;
+
+import org.apache.sling.api.resource.PersistableValueMap;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ValueMap;
+import org.osgi.service.cm.Configuration;
+
+public class ConfigurationResource extends ConfigResource {
+
+    private final Configuration configuration;
+
+    public ConfigurationResource(String path, ResourceResolver resolver,
+            Configuration config) {
+        super(path, resolver);
+        this.configuration = config;
+    }
+
+    protected Configuration getConfiguration() {
+        return this.configuration;
+    }
+
+    @Override
+    public String getResourceType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_CONFIGURATION + "/" + this.configuration.getPid();
+    }
+
+    @Override
+    public String getResourceSuperType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_CONFIGURATION;
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) {
+        if ( type == Map.class || type == ValueMap.class || type == PersistableValueMap.class) {
+            return (AdapterType) new ConfigurationMap(this.configuration);
+        }
+        return super.adaptTo(type);
+    }
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/ConfigurationResource.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import org.apache.sling.api.resource.ResourceResolver;
+
+public class FactoryContainerResource extends ConfigResource {
+
+    public FactoryContainerResource(String path, ResourceResolver resolver) {
+        super(path, resolver);
+    }
+
+    @Override
+    public String getResourceSuperType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_ROOT;
+    }
+
+    @Override
+    public String getResourceType() {
+        // TODO Auto-generated method stub
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_FACTORIES_ROOT;
+    }
+
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryContainerResource.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import org.apache.sling.api.resource.ResourceResolver;
+import org.osgi.service.cm.Configuration;
+
+public class FactoryResource extends ConfigurationResource {
+
+    public FactoryResource(String path, ResourceResolver resolver, Configuration config) {
+        super(path, resolver, config);
+    }
+
+    @Override
+    public String getResourceType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_FACTORY + "/" + this.getConfiguration().getPid();
+    }
+
+    @Override
+    public String getResourceSuperType() {
+        return ConfigAdminProviderConstants.RESOURCE_TYPE_FACTORY;
+    }
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/FactoryResource.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,120 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Date;
+import java.util.Iterator;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceUtil;
+import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
+
+/**
+ * The <code>HtmlServlet</code> lists the files and folders of a folder
+ * mapped into the Sling resource tree. The listing produced is similar to the
+ * default index listing produced by Apache httpd.
+ *
+ * @scr.component metatype="no"
+ * @scr.service interface="javax.servlet.Servlet"
+ * @scr.property name="service.description" value="ConfigAdmin Folder Servlet"
+ * @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property name="sling.servlet.methods" value="GET"
+ * @scr.property name="sling.servlet.resourceTypes"
+ *               refValues.1="ConfigAdminProviderConstants.RESOURCE_TYPE_ROOT"
+ *               refValues.2="ConfigAdminProviderConstants.RESOURCE_TYPE_CONFIGURATION_ROOT"
+ *               refValues.3="ConfigAdminProviderConstants.RESOURCE_TYPE_FACTORIES_ROOT"
+ *               refValues.4="ConfigAdminProviderConstants.RESOURCE_TYPE_CONFIGURATION"
+ *               refValues.5="ConfigAdminProviderConstants.RESOURCE_TYPE_FACTORY"
+ */
+public class HtmlServlet extends SlingSafeMethodsServlet {
+
+    // a number of blanks used to format the listing of folder entries
+    private static final String NAME_BLANKS = "                                  ";
+
+    @Override
+    protected void doGet(SlingHttpServletRequest request,
+            SlingHttpServletResponse response) throws IOException {
+
+        final Resource res = request.getResource();
+
+        response.setContentType("text/html");
+        response.setCharacterEncoding("UTF-8");
+        PrintWriter pw = response.getWriter();
+
+        pw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\"> <html>");
+
+        pw.printf("<head><title>Index of %s</title></head><body>%n",
+            res.getPath());
+        pw.printf("<h1>Index of %s</h1>%n", res.getPath());
+
+        pw.println("<pre>");
+        pw.println("Name                               Last modified                   Size  Description");
+        pw.println("<hr>");
+
+        // only draw parent link if the parent is also a fs resource
+        Resource parent = ResourceUtil.getParent(res);
+        if (parent != null && parent.adaptTo(File.class) != null) {
+            pw.println("<a href='..'>Parent Directory</a>");
+        }
+
+        // render the children
+        renderChildren(pw, res);
+
+        pw.println("</pre>");
+        pw.println("</body></html>");
+    }
+
+    // ---------- internal
+
+    /**
+     * Renders the children of the <code>parent</code> folder to the output.
+     */
+    private void renderChildren(PrintWriter pw, Resource parent) {
+        final Iterator<Resource> children = ResourceUtil.listChildren(parent);
+        while ( children.hasNext() ) {
+            final Resource current = children.next();
+
+            String name = ResourceUtil.getName(current);
+
+            String displayName = name;
+            if (displayName.length() >= 32) {
+                displayName = displayName.substring(0, 29).concat("...");
+                pw.printf("<a href='%s/%s'>%s</a>", ResourceUtil.getName(parent), name, displayName);
+            } else {
+                String blanks = NAME_BLANKS.substring(0,
+                    32 - displayName.length());
+                pw.printf("<a href='%s/%s'>%s</a>%s", ResourceUtil.getName(parent), name, displayName,
+                    blanks);
+            }
+
+            pw.print("   " + new Date());
+            //pw.print("   " + new Date(child.lastModified()));
+
+            pw.print("   ");
+            pw.print("-");
+
+            pw.println();
+        }
+    }
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/HtmlServlet.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java (added)
+++ incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java Wed Jan  7 01:07:02 2009
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ */
+package org.apache.sling.configresource.impl;
+
+import org.apache.sling.api.resource.ResourceResolver;
+
+public class RootResource extends ConfigResource  {
+
+    public RootResource(String path, ResourceResolver resolver) {
+        super(path, resolver);
+    }
+}

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java
------------------------------------------------------------------------------
    svn:keywords = author date id revision rev url

Propchange: incubator/sling/trunk/samples/configresource/src/main/java/org/apache/sling/configresource/impl/RootResource.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/target/classes/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/META-INF/MANIFEST.MF?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/target/classes/META-INF/MANIFEST.MF (added)
+++ incubator/sling/trunk/samples/configresource/target/classes/META-INF/MANIFEST.MF Wed Jan  7 01:07:02 2009
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Service-Component: OSGI-INF/serviceComponents.xml
+Built-By: cziegeler
+Created-By: Apache Maven Bundle Plugin
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
+Import-Package: javax.servlet.http,org.apache.sling.adapter;version="2
+ .0.2.incubator",org.apache.sling.api;version="2.0.3.incubator-SNAPSHO
+ T",org.apache.sling.api.resource;version="2.0.3.incubator-SNAPSHOT",o
+ rg.apache.sling.api.servlets;version="2.0.3.incubator-SNAPSHOT",org.o
+ sgi.framework,org.osgi.service.cm,org.osgi.service.component,org.osgi
+ .service.metatype
+Bnd-LastModified: 1219088993017
+Bundle-Version: 0.9.0.incubator-SNAPSHOT
+Bundle-Name: Sling - ConfigAdmin Resource Provider
+Bundle-Description: Provides a ResourceProvider implementation support
+ ing configuration admin        based resources.
+Build-Jdk: 1.5.0_13
+Private-Package: org.apache.sling.configresource.impl
+Bundle-DocURL: http://incubator.apache.org/sling
+Bundle-Vendor: The Apache Software Foundation
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.apache.sling.configresource
+Tool: Bnd-0.0.255
+Bundle-Category: sling
+

Propchange: incubator/sling/trunk/samples/configresource/target/classes/META-INF/MANIFEST.MF
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/target/classes/META-INF/MANIFEST.MF
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigAdminProviderConstants.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigAdminProviderConstants.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigAdminProviderConstants.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResource.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResource.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResource.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResourceProvider$1.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResourceProvider%241.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResourceProvider$1.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResourceProvider.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResourceProvider.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigResourceProvider.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationContainerResource.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationContainerResource.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationContainerResource.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationMap.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationMap.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationMap.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationResource.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationResource.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/ConfigurationResource.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/FactoryContainerResource.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/FactoryContainerResource.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/FactoryContainerResource.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/FactoryResource.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/FactoryResource.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/FactoryResource.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/HtmlServlet$FileNameComparator.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/HtmlServlet%24FileNameComparator.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/HtmlServlet$FileNameComparator.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/HtmlServlet.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/HtmlServlet.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/HtmlServlet.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/RootResource.class
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/RootResource.class?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/classes/org/apache/sling/configresource/impl/RootResource.class
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/org.apache.sling.configresource-0.9.0-incubator-SNAPSHOT-sources.jar
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/org.apache.sling.configresource-0.9.0-incubator-SNAPSHOT-sources.jar?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/org.apache.sling.configresource-0.9.0-incubator-SNAPSHOT-sources.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/org.apache.sling.configresource-0.9.0-incubator-SNAPSHOT.jar
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/org.apache.sling.configresource-0.9.0-incubator-SNAPSHOT.jar?rev=732280&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/sling/trunk/samples/configresource/target/org.apache.sling.configresource-0.9.0-incubator-SNAPSHOT.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml (added)
+++ incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml Wed Jan  7 01:07:02 2009
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0" localization="OSGI-INF/metatype/metatype">
+    <metatype:OCD id="org.apache.sling.configresource.impl.ConfigResourceProvider" name="%org.apache.sling.configresource.impl.ConfigResourceProvider.name" description="%org.apache.sling.configresource.impl.ConfigResourceProvider.description">
+        <metatype:AD id="provider.roots" type="String" default="/test/configs" name="%provider.roots.name" description="%provider.roots.description"/>
+    </metatype:OCD>
+    <metatype:Designate pid="org.apache.sling.configresource.impl.ConfigResourceProvider">
+        <metatype:Object ocdref="org.apache.sling.configresource.impl.ConfigResourceProvider"/>
+    </metatype:Designate>
+</metatype:MetaData>

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/metatype/metatype.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml (added)
+++ incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml Wed Jan  7 01:07:02 2009
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+    <scr:component enabled="true" name="org.apache.sling.configresource.impl.ConfigResourceProvider">
+        <scr:implementation class="org.apache.sling.configresource.impl.ConfigResourceProvider"/>
+        <scr:service servicefactory="false">
+            <scr:provide interface="org.apache.sling.api.resource.ResourceProvider"/>
+        </scr:service>
+        <scr:property name="service.vendor" value="The Apache Software Foundation" private="false"/>
+        <scr:property name="provider.roots" type="String" value="/test/configs" private="false"/>
+        <scr:property name="service.description" value="Sling ConfigAdmin Resource" private="false"/>
+        <scr:property name="service.pid" value="org.apache.sling.configresource.impl.ConfigResourceProvider" private="false"/>
+        <scr:reference name="metatypeService" interface="org.osgi.service.metatype.MetaTypeService" cardinality="0..1" policy="static" bind="bindMetatypeService" unbind="unbindMetatypeService"/>
+        <scr:reference name="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin" cardinality="1..1" policy="static" bind="bindConfigAdmin" unbind="unbindConfigAdmin"/>
+    </scr:component>
+    <scr:component enabled="true" name="org.apache.sling.configresource.impl.HtmlServlet">
+        <scr:implementation class="org.apache.sling.configresource.impl.HtmlServlet"/>
+        <scr:service servicefactory="false">
+            <scr:provide interface="javax.servlet.Servlet"/>
+        </scr:service>
+        <scr:property name="sling.servlet.methods" value="GET" private="false"/>
+        <scr:property name="service.vendor" value="The Apache Software Foundation" private="false"/>
+        <scr:property name="sling.servlet.resourceTypes" type="String" private="false">
+            sling/configadmin/resource
+            sling/configadmin/configurations
+            sling/configadmin/factories
+            sling/configadmin/configuration
+            sling/configadmin/factory
+        </scr:property>
+        <scr:property name="service.description" value="ConfigAdmin Folder Servlet" private="false"/>
+        <scr:property name="service.pid" value="org.apache.sling.configresource.impl.HtmlServlet" private="false"/>
+    </scr:component>
+</components>

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/scr-plugin/scrinfo.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml?rev=732280&view=auto
==============================================================================
--- incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml (added)
+++ incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml Wed Jan  7 01:07:02 2009
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns:scr="http://www.osgi.org/xmlns/scr/v1.0.0">
+    <scr:component enabled="true" name="org.apache.sling.configresource.impl.ConfigResourceProvider">
+        <scr:implementation class="org.apache.sling.configresource.impl.ConfigResourceProvider"/>
+        <scr:service servicefactory="false">
+            <scr:provide interface="org.apache.sling.api.resource.ResourceProvider"/>
+        </scr:service>
+        <scr:property name="service.vendor" value="The Apache Software Foundation"/>
+        <scr:property name="provider.roots" type="String" value="/test/configs"/>
+        <scr:property name="service.description" value="Sling ConfigAdmin Resource"/>
+        <scr:property name="service.pid" value="org.apache.sling.configresource.impl.ConfigResourceProvider"/>
+        <scr:reference name="metatypeService" interface="org.osgi.service.metatype.MetaTypeService" cardinality="0..1" policy="static" bind="bindMetatypeService" unbind="unbindMetatypeService"/>
+        <scr:reference name="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin" cardinality="1..1" policy="static" bind="bindConfigAdmin" unbind="unbindConfigAdmin"/>
+    </scr:component>
+    <scr:component enabled="true" name="org.apache.sling.configresource.impl.HtmlServlet">
+        <scr:implementation class="org.apache.sling.configresource.impl.HtmlServlet"/>
+        <scr:service servicefactory="false">
+            <scr:provide interface="javax.servlet.Servlet"/>
+        </scr:service>
+        <scr:property name="sling.servlet.methods" value="GET"/>
+        <scr:property name="service.vendor" value="The Apache Software Foundation"/>
+        <scr:property name="sling.servlet.resourceTypes" type="String">
+            sling/configadmin/resource
+            sling/configadmin/configurations
+            sling/configadmin/factories
+            sling/configadmin/configuration
+            sling/configadmin/factory
+        </scr:property>
+        <scr:property name="service.description" value="ConfigAdmin Folder Servlet"/>
+        <scr:property name="service.pid" value="org.apache.sling.configresource.impl.HtmlServlet"/>
+    </scr:component>
+</components>

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: incubator/sling/trunk/samples/configresource/target/scr-plugin-generated/OSGI-INF/serviceComponents.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/sling/trunk/samples/path-based-rtp/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/path-based-rtp/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/path-based-rtp/NOTICE (original)
+++ incubator/sling/trunk/samples/path-based-rtp/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Samples Path Based RTP
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/path-based-rtp/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/path-based-rtp/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/path-based-rtp/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/samples/path-based-rtp/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Samples Path Based RTP
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/simple-demo/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/simple-demo/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/simple-demo/NOTICE (original)
+++ incubator/sling/trunk/samples/simple-demo/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Sample
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/simple-demo/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/simple-demo/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/simple-demo/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/samples/simple-demo/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Sample
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/webloader/service/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/webloader/service/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/webloader/service/NOTICE (original)
+++ incubator/sling/trunk/samples/webloader/service/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Webloader Sample Service
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/webloader/service/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/webloader/service/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/webloader/service/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/samples/webloader/service/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Webloader Sample Service
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/webloader/ui/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/webloader/ui/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/webloader/ui/NOTICE (original)
+++ incubator/sling/trunk/samples/webloader/ui/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Webloader Sample Service UI
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/samples/webloader/ui/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/samples/webloader/ui/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/samples/webloader/ui/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/samples/webloader/ui/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Webloader Sample Service UI
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/api/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/api/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/api/NOTICE (original)
+++ incubator/sling/trunk/scripting/api/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Scripting API
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/api/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/api/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/api/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/api/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Scripting API
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/core/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/core/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/core/NOTICE (original)
+++ incubator/sling/trunk/scripting/core/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Script Resolver
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/core/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/core/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/core/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/core/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Script Resolver
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/freemarker/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/freemarker/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/freemarker/NOTICE (original)
+++ incubator/sling/trunk/scripting/freemarker/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling FreeMarker Scripting Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/freemarker/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/freemarker/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/freemarker/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/freemarker/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling FreeMarker Scripting Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/java/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/java/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/java/NOTICE (original)
+++ incubator/sling/trunk/scripting/java/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Java Scripting Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/java/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/java/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/java/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/java/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling Java Scripting Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/javascript/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/javascript/NOTICE (original)
+++ incubator/sling/trunk/scripting/javascript/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JavaScript (Rhino) Scripting Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/javascript/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/javascript/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/javascript/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/javascript/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JavaScript (Rhino) Scripting Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/jsp-taglib/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp-taglib/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/jsp-taglib/NOTICE (original)
+++ incubator/sling/trunk/scripting/jsp-taglib/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JSP Taglib
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/jsp-taglib/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JSP Taglib
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/jsp/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/jsp/NOTICE (original)
+++ incubator/sling/trunk/scripting/jsp/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JSP Scripting
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/jsp/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jsp/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/jsp/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/jsp/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JSP Scripting
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/jst/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jst/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/jst/NOTICE (original)
+++ incubator/sling/trunk/scripting/jst/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JST Scripting
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/jst/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/jst/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/jst/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/jst/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling JST Scripting
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/python/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/python/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/python/NOTICE (original)
+++ incubator/sling/trunk/scripting/python/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling - Scripting - Python Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/python/src/main/resources/META-INF/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/python/src/main/resources/META-INF/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/python/src/main/resources/META-INF/NOTICE (original)
+++ incubator/sling/trunk/scripting/python/src/main/resources/META-INF/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling - Scripting - Python Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).

Modified: incubator/sling/trunk/scripting/ruby/NOTICE
URL: http://svn.apache.org/viewvc/incubator/sling/trunk/scripting/ruby/NOTICE?rev=732280&r1=732279&r2=732280&view=diff
==============================================================================
--- incubator/sling/trunk/scripting/ruby/NOTICE (original)
+++ incubator/sling/trunk/scripting/ruby/NOTICE Wed Jan  7 01:07:02 2009
@@ -1,5 +1,5 @@
 Apache Sling - Scripting - Ruby Support
-Copyright 2008 The Apache Software Foundation
+Copyright 2008-2009 The Apache Software Foundation
 
 Apache Sling is based on source code originally developed 
 by Day Software (http://www.day.com/).



Mime
View raw message