cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dani...@apache.org
Subject svn commit: r158239 - in cocoon/blocks/unsupported/template/trunk: java/org/apache/cocoon/components/accessor/ test/org/apache/cocoon/components/accessor/
Date Sat, 19 Mar 2005 14:00:46 GMT
Author: danielf
Date: Sat Mar 19 06:00:44 2005
New Revision: 158239

URL: http://svn.apache.org/viewcvs?view=rev&rev=158239
Log:
Initial code for accessors

Added:
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/Accessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContextAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContinuationAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/FlowAttributeAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/MapAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ObjectModelAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/RequestAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/SessionAccessor.java
    cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/accessor.roles
    cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/
    cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.java
    cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.xtest

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/Accessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/Accessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/Accessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/Accessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,22 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+public interface Accessor {
+    public String ROLE = Accessor.class.getName();
+
+    public Object getObject();
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContextAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContextAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContextAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContextAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,25 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import org.apache.cocoon.environment.ObjectModelHelper;
+
+public class ContextAccessor extends ObjectModelAccessor {
+
+    public Object getObject() {
+        return ObjectModelHelper.getContext(getObjectModel());
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContinuationAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContinuationAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContinuationAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ContinuationAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,25 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import org.apache.cocoon.components.flow.FlowHelper;
+
+public class ContinuationAccessor extends ObjectModelAccessor {
+
+    public Object getObject() {
+	return FlowHelper.getWebContinuation(getObjectModel());
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/FlowAttributeAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/FlowAttributeAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/FlowAttributeAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/FlowAttributeAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,38 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.cocoon.components.flow.FlowHelper;
+import org.apache.cocoon.environment.TemplateObjectModelHelper;
+
+public class FlowAttributeAccessor extends ObjectModelAccessor {
+
+    public Object getObject() {
+        Map map = new HashMap();
+	Object contextObject = FlowHelper.getContextObject(getObjectModel());
+
+        if (contextObject instanceof Map) {
+            map.putAll((Map)contextObject);
+        } else if (contextObject != null) {
+            TemplateObjectModelHelper.fillContext(contextObject, map);
+        }
+        
+        return map;
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/MapAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/MapAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/MapAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/MapAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,130 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.configuration.Configurable;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.activity.Disposable;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.avalon.framework.thread.ThreadSafe;
+
+/**
+ * An accessor that handles a <code>Map</code> of accessors.
+ */
+public class MapAccessor implements Accessor, Configurable, Serviceable, ThreadSafe  {
+
+    /** Reference to the accessors */
+    private Map accessors = null;
+
+    /** The service manager instance */
+    private ServiceManager manager;
+
+    /**
+     * The accessors that should be part of the map are configured
+     * through <code>&lt;element name="the key that will be used in
+     * the map" accessor="the name of the accessor"/&gt;</code>.
+     */
+    public void configure(Configuration config) throws ConfigurationException {
+        HashMap accessors = new HashMap();
+        Configuration[] children = config.getChildren("element");
+        for (int i = 0; i < children.length; i++) {
+            String accessor = children[i].getAttribute("accessor");
+            // use the accessor name as name if nothing else is given
+            String name = children[i].getAttribute("name", accessor);
+            accessors.put(name, accessor);
+        }
+        this.accessors = new AccessorMap(accessors, this.manager);
+    }
+
+    /**
+     * Set the current <code>ServiceManager</code> instance used by this
+     * <code>Serviceable</code>.
+     */
+    public void service(ServiceManager manager) throws ServiceException {
+        this.manager = manager;
+    }
+
+    /**
+     * Release all resources.
+     */
+    public void dispose() {
+        this.manager = null;
+    }
+
+    /**
+     * Get the map of accessors
+     */
+    public Object getObject() {
+        return this.accessors;
+    }
+
+    /**
+     * Map that finds the accessor at access time.
+     */
+    public class AccessorMap extends HashMap {
+
+        private ServiceManager manager;
+
+        public AccessorMap(Map map, ServiceManager manager) {
+            super(map);
+            this.manager = manager;
+        }
+
+        public Object get(Object key) {
+            String accessorName = (String)super.get(key);
+            if (accessorName == null)
+                return null;
+            ServiceSelector accessorSelector = null;
+            Accessor accessor = null;
+            try {
+                // Thread safe accessors could be looked up once and be cached
+                accessorSelector =
+                    (ServiceSelector)this.manager.lookup(Accessor.ROLE + "Selector");
+                accessor = (Accessor)accessorSelector.select(accessorName);
+                return accessor.getObject();
+            } catch (ServiceException e) {
+                // FIXME: Don't know if this is the appropriate action
+                throw new RuntimeException("Trying to access non existing acessor: " +
+                                           accessorName, e);
+            } finally {
+                accessorSelector.release(accessor);
+                this.manager.release(accessorSelector);
+            }
+        }
+
+        // The MapAccessor is thread safe so the map should be read only
+        public void clear() {
+            throw new UnsupportedOperationException("AccessorMap is read only");
+        }
+        public Object put(Object key, Object value) {
+            throw new UnsupportedOperationException("AccessorMap is read only");
+        }
+        public void putAll(Map m) {
+            throw new UnsupportedOperationException("AccessorMap is read only");
+        }
+        public Object remove(Object key) {
+            throw new UnsupportedOperationException("AccessorMap is read only");
+        }
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ObjectModelAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ObjectModelAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ObjectModelAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/ObjectModelAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,41 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import java.util.Map;
+
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.cocoon.components.ContextHelper;
+
+public class ObjectModelAccessor implements Accessor, Contextualizable {
+
+    private Context context;
+
+    public void contextualize(Context context)
+    throws ContextException{
+        this.context = context;
+    }
+
+    protected Map getObjectModel() {
+        return ContextHelper.getObjectModel(this.context);
+    }
+ 
+    public Object getObject() {
+        return getObjectModel();
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/RequestAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/RequestAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/RequestAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/RequestAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,25 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import org.apache.cocoon.environment.ObjectModelHelper;
+
+public class RequestAccessor extends ObjectModelAccessor {
+
+    public Object getObject() {
+        return ObjectModelHelper.getRequest(getObjectModel());
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/SessionAccessor.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/SessionAccessor.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/SessionAccessor.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/SessionAccessor.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,29 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import org.apache.cocoon.environment.ObjectModelHelper;
+import org.apache.cocoon.environment.Request;
+import org.apache.cocoon.environment.Session;
+
+public class SessionAccessor extends ObjectModelAccessor {
+
+    public Object getObject() {
+        Request request = ObjectModelHelper.getRequest(getObjectModel());
+        Session session = request.getSession(false);
+        return session;
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/accessor.roles
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/accessor.roles?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/accessor.roles
(added)
+++ cocoon/blocks/unsupported/template/trunk/java/org/apache/cocoon/components/accessor/accessor.roles
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!-- $Id$ -->
+<role-list>
+  <role name="org.apache.cocoon.components.accessor.AccessorSelector"
+        shorthand="accessors"
+        default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
+</role-list>
\ No newline at end of file

Added: cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.java?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.java
(added)
+++ cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.java
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,84 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.components.accessor;
+
+import java.util.Map;
+
+import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.avalon.framework.logger.Logger;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.cocoon.SitemapComponentTestCase;
+import org.apache.cocoon.components.accessor.Accessor;
+import org.apache.cocoon.environment.Context;
+import org.apache.cocoon.environment.Request;
+import org.apache.cocoon.environment.Session;
+
+public class AccessorTestCase extends SitemapComponentTestCase {
+    private Logger logger = new ConsoleLogger(ConsoleLogger.LEVEL_WARN);
+
+    protected Logger getLogger() {
+        return this.logger;
+    }
+
+    public void testRequestAccessor() throws ServiceException {
+        ServiceSelector accessorSelector =
+            (ServiceSelector)this.lookup(Accessor.ROLE + "Selector");
+        Accessor accessor = (Accessor)accessorSelector.select("request");
+        Request request = (Request)accessor.getObject();
+        assertEquals("HTTP/1.1", request.getProtocol());
+        accessorSelector.release(accessor);
+        this.release(accessorSelector);
+    }
+
+    public void testSessionAccessor() throws ServiceException {
+        // Create a session
+        getRequest().getSession();
+        ServiceSelector accessorSelector =
+            (ServiceSelector)this.lookup(Accessor.ROLE + "Selector");
+        Accessor accessor = (Accessor)accessorSelector.select("session");
+        Session session = (Session)accessor.getObject();
+        assertEquals("MockSession", session.getId());
+        accessorSelector.release(accessor);
+        this.release(accessorSelector);
+    }
+
+    public void testContextAccessor() throws ServiceException {
+        getContext().setAttribute("foo", "bar");
+        ServiceSelector accessorSelector =
+            (ServiceSelector)this.lookup(Accessor.ROLE + "Selector");
+        Accessor accessor = (Accessor)accessorSelector.select("context");
+        Context context = (Context)accessor.getObject();
+        assertEquals("bar", context.getAttribute("foo"));
+        accessorSelector.release(accessor);
+        this.release(accessorSelector);
+    }
+
+    public void testMapAccessor() throws ServiceException {
+        // Create a session
+        getRequest().getSession();
+        getContext().setAttribute("foo", "bar");
+        ServiceSelector accessorSelector =
+            (ServiceSelector)this.lookup(Accessor.ROLE + "Selector");
+        Accessor accessor = (Accessor)accessorSelector.select("cocoon");
+        Map map = (Map)accessor.getObject();
+        assertEquals("HTTP/1.1", ((Request)map.get("request")).getProtocol());
+        assertEquals("MockSession", ((Session)map.get("session")).getId());
+        assertEquals("bar", ((Context)map.get("context")).getAttribute("foo"));
+        accessorSelector.release(accessor);
+        this.release(accessorSelector);
+    }
+}

Added: cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.xtest
URL: http://svn.apache.org/viewcvs/cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.xtest?view=auto&rev=158239
==============================================================================
--- cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.xtest
(added)
+++ cocoon/blocks/unsupported/template/trunk/test/org/apache/cocoon/components/accessor/AccessorTestCase.xtest
Sat Mar 19 06:00:44 2005
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 1999-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<testcase>
+  <roles>
+    <role name="org.apache.cocoon.components.accessor.AccessorSelector"
+          shorthand="accessors"
+          default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
+  </roles>
+ 
+  <components>
+    <accessors>
+      <component-instance class="org.apache.cocoon.components.accessor.RequestAccessor"
name="request"/>
+      <component-instance class="org.apache.cocoon.components.accessor.SessionAccessor"
name="session"/>
+      <component-instance class="org.apache.cocoon.components.accessor.ContextAccessor"
name="context"/>
+      <component-instance class="org.apache.cocoon.components.accessor.ContinuationAccessor"
name="continuation"/>
+      <component-instance class="org.apache.cocoon.components.accessor.FlowAttributeAccessor"
name="flow-attribute"/>
+      <component-instance class="org.apache.cocoon.components.accessor.MapAccessor" name="cocoon">
+        <element accessor="request"/>
+        <element accessor="session"/>
+        <element accessor="context"/>
+        <element accessor="continuation"/>
+        <element name="flowcontext" accessor="flow-attribute"/>
+      </component-instance>
+    </accessors>
+  </components>
+ 
+</testcase>



Mime
View raw message