I don't think this is supposed to happen, is it?

-Scott

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Monday, June 13, 2005 12:45 PM
> To: [EMAIL PROTECTED]
> Subject: failure notice
> 
> Hi. This is the qmail-send program at apache.org.
> I'm afraid I wasn't able to deliver your message to the following
> addresses.
> This is a permanent error; I've given up. Sorry it didn't work out.
> 
> <[email protected]>:
> Sorry, only subscribers may post. If you are a subscriber, please forward
> this message to [EMAIL PROTECTED] to get your new address
> included (#5.7.2)
> 
> --- Below this line is a copy of the message.
> 
> Return-Path: <[EMAIL PROTECTED]>
> Received: (qmail 73874 invoked by uid 99); 13 Jun 2005 16:45:10 -0000
> X-ASF-Spam-Status: No, hits=-9.8 required=10.0
>       tests=ALL_TRUSTED,NO_REAL_NAME
> X-Spam-Check-By: apache.org
> Received: from minotaur.apache.org (HELO minotaur.apache.org)
> (209.237.227.194)
>   by apache.org (qpsmtpd/0.28) with SMTP; Mon, 13 Jun 2005 09:45:06 -0700
> Received: (qmail 75636 invoked by uid 65534); 13 Jun 2005 16:44:48 -0000
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="utf-8"
> MIME-Version: 1.0
> Content-Transfer-Encoding: quoted-printable
> Subject: svn commit: r190422 - in
>  /portals/jetspeed-2/trunk/portal/src/java/org/apache/jetspeed/ajax: ./
>  AJAXFilter.java AJAXRequestImpl.java AJAXResponseImpl.java
>  AJAXServiceImpl.java AJAXValve.java
> Date: Mon, 13 Jun 2005 16:44:47 -0000
> To: [email protected], [email protected]
> From: [EMAIL PROTECTED]
> X-Mailer: svnmailer-1.0.0-dev
> X-Virus-Checked: Checked
> 
> Author: weaver
> Date: Mon Jun 13 09:44:46 2005
> New Revision: 190422
> 
> URL: http://svn.apache.org/viewcvs?rev=3D190422&view=3Drev
> Log:
> JS2-283:  These are the initial implementations of the Ajax service
> interfa=
> ces
> 
> Added:
>     portals/jetspeed-2/trunk/portal/src/java/org/apache/jetspeed/ajax/
>     portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXF=
> ilter.java
>     portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXR=
> equestImpl.java
>     portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXR=
> esponseImpl.java
>     portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXS=
> erviceImpl.java
>     portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXV=
> alve.java
> 
> Added: portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJ=
> AXFilter.java
> URL: http://svn.apache.org/viewcvs/portals/jetspeed-
> 2/trunk/portal/src/java=
> /org/apache/jetspeed/ajax/AJAXFilter.java?rev=3D190422&view=3Dauto
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D
> --- portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXF=
> ilter.java (added)
> +++ portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXF=
> ilter.java Mon Jun 13 09:44:46 2005
> @@ -0,0 +1,82 @@
> +/*
> + * Copyright 2000-2001,2004 The Apache Software Foundation.
> + *=20
> + * 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
> + *=20
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *=20
> + * 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.jetspeed.ajax;
> +
> +import java.io.IOException;
> +
> +import javax.servlet.Filter;
> +import javax.servlet.FilterChain;
> +import javax.servlet.FilterConfig;
> +import javax.servlet.ServletException;
> +import javax.servlet.ServletRequest;
> +import javax.servlet.ServletResponse;
> +import javax.servlet.http.HttpServletRequest;
> +import javax.servlet.http.HttpServletResponse;
> +
> +import org.springframework.context.ApplicationContext;
> +import org.springframework.web.context.WebApplicationContext;
> +
> +/**
> + * Simple ServletFilter for invoking AJAX services.
> + *=20
> + *=20
> + * @author <href a=3D"mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
> + *
> + */
> +public class AJAXFilter implements Filter
> +{
> +    private ApplicationContext ctx;
> +    private AJAXService ajaxService;
> +    private FilterConfig config;
> +   =20
> +    public void init(FilterConfig config) throws ServletException
> +    {
> +        this.config =3D config;
> +    }
> +
> +    public void doFilter(ServletRequest request, ServletResponse
> response,
> +            FilterChain arg2) throws IOException, ServletException
> +    {       =20
> +        try
> +        {
> +            response.setContentType("text/xml");
> +            if(ctx =3D=3D null)
> +            {
> +                ctx =3D
> (ApplicationContext)config.getServletContext().get=
> Attribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
> +                ajaxService =3D (AJAXService) ctx.getBean("AJAXService");
> +            }
> +           =20
> +            AJAXRequest ajaxRequest =3D new
> AJAXRequestImpl((HttpServletRe=
> quest) request, (HttpServletResponse) response,
> config.getServletContext())=
> ;
> +            AJAXResponse ajaxReponse =3D
> ajaxService.processRequest(ajaxRe=
> quest);
> +            ajaxReponse.complete();
> +        }
> +        catch (AJAXException e)
> +        {
> +           ((HttpServletResponse) response).sendError(500,
> e.getMessage())=
> ;
> +        }
> +        catch(Exception e)
> +        {
> +            throw new ServletException(e.getMessage(), e);
> +        }
> +    }
> +
> +    public void destroy()
> +    {
> +        // do nothing
> +
> +    }
> +
> +}
> 
> Added: portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJ=
> AXRequestImpl.java
> URL: http://svn.apache.org/viewcvs/portals/jetspeed-
> 2/trunk/portal/src/java=
> /org/apache/jetspeed/ajax/AJAXRequestImpl.java?rev=3D190422&view=3Dauto
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D
> --- portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXR=
> equestImpl.java (added)
> +++ portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXR=
> equestImpl.java Mon Jun 13 09:44:46 2005
> @@ -0,0 +1,180 @@
> +/*
> + * Copyright 2000-2001,2004 The Apache Software Foundation.
> + *=20
> + * 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
> + *=20
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *=20
> + * 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.jetspeed.ajax;
> +
> +import java.util.ArrayList;
> +import java.util.Iterator;
> +import java.util.List;
> +import java.util.Map;
> +
> +import javax.servlet.ServletContext;
> +import javax.servlet.http.HttpServletRequest;
> +import javax.servlet.http.HttpServletResponse;
> +
> +/**
> + * Request used for AJAX services.
> + *=20
> + * @author <href a=3D"mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
> + *
> + */
> +public class AJAXRequestImpl implements AJAXRequest
> +{
> +    public static final String AJAX_SERVICE =3D "ajax_service";
> +    public static final String AJAX_PARAM_PREFIX =3D "ajax_param_";
> +   =20
> +    private final HttpServletRequest request;
> +    private List ajaxParams;
> +    private final String serviceName;
> +    private final String methodName;
> +    private HttpServletResponse response;
> +    private ServletContext context;
> +
> +    public AJAXRequestImpl(HttpServletRequest request,
> HttpServletResponse=
>  response, ServletContext context) throws AJAXException
> +    {
> +        this.request =3D request;
> +        this.response =3D response;
> +        this.context =3D context;
> +        String serviceRequest =3D  request.getParameter(AJAX_SERVICE);
> +        if(serviceRequest =3D=3D null )
> +        {
> +            throw new AJAXException("No '"+AJAX_SERVICE+"' parameter
> could=
>  be found in the request or it was not in the
> '{service_name}.{method_name}=
> ' format.");
> +        }
> +        final String split =3D serviceRequest.split("\\.")[0];
> +        serviceName =3D split;
> +        methodName =3D serviceRequest.split("\\.")[1];
> +       =20
> +        parseRequestArguments();
> +       =20
> +    }
> +   =20
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXRequest#getParameters()
> +     */
> +    public List getParameters()
> +    {
> +        return ajaxParams;
> +    }
> +
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXRequest#getServiceName()
> +     */
> +    public String getServiceName()
> +    {
> +        return serviceName;
> +    }
> +
> +    protected List parseRequestArguments() throws AJAXException
> +    {
> +        try
> +        {
> +            ajaxParams =3D new ArrayList();
> +            Map rawParams =3D request.getParameterMap();
> +            Iterator entryItr =3D rawParams.entrySet().iterator();
> +            while(entryItr.hasNext())
> +            {
> +                Map.Entry entry =3D (Map.Entry) entryItr.next();
> +                String key =3D entry.getKey().toString();
> +               =20
> +                if(key.startsWith(AJAX_PARAM_PREFIX))
> +                {
> +                    String[] paramInfo =3D key.split("_");
> +                    int index =3D Integer.parseInt(paramInfo[2]);
> +                    String type =3D paramInfo[3];=20
> +                    AJAXParameter ajaxParam =3D new AJAXParameter(type,
> (S=
> tring[])entry.getValue());
> +                    ajaxParams.add(index, ajaxParam);
> +                }
> +            }
> +            return ajaxParams;
> +        }
> +        catch (Throwable e)
> +        {
> +            throw new AJAXException("Errors were encountered parsing
> reque=
> st parameters for the AJAX service "+serviceName+": "+e.getMessage(), e);
> +        }
> +    }
> +   =20
> +    public class AJAXParameter
> +    {
> +        private Object value;
> +            =20
> +        public AJAXParameter(String typeName, String[] paramValues)
> +        {
> +            if(typeName.equals("int"))
> +            {               =20
> +                if(paramValues.length > 1)
> +                {
> +                    int[] intValues =3D new int[paramValues.length];
> +                    for(int i=3D0; i<paramValues.length; i++)
> +                    {
> +                        intValues[i] =3D
> Integer.parseInt(paramValues[i]);
> +                    }
> +                }
> +                else
> +                {
> +                    value =3D new Integer(paramValues[0]);
> +                }
> +            }
> +            else if(typeName.equals("str"))
> +            {
> +              if(paramValues.length > 1)
> +              {   =20
> +                  value =3D paramValues;
> +              }
> +              else
> +              {
> +                  value =3D paramValues[0];
> +              }
> +            }
> +        }
> +       =20
> +        public Object getValue()
> +        {
> +            return value;
> +        }
> +    }
> +
> +
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXRequest#getMethodName()
> +     */
> +    public String getMethodName()
> +    {
> +        return methodName;
> +    }
> +
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXRequest#getContext()
> +     */
> +    public ServletContext getContext()
> +    {
> +        return context;
> +    }
> +
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXRequest#getServletRequest()
> +     */
> +    public HttpServletRequest getServletRequest()
> +    {
> +        return request;
> +    }
> +
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXRequest#getServletResponse()
> +     */
> +    public HttpServletResponse getServletResponse()
> +    {
> +        return response;
> +    }
> +}
> 
> Added: portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJ=
> AXResponseImpl.java
> URL: http://svn.apache.org/viewcvs/portals/jetspeed-
> 2/trunk/portal/src/java=
> /org/apache/jetspeed/ajax/AJAXResponseImpl.java?rev=3D190422&view=3Dauto
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D
> --- portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXR=
> esponseImpl.java (added)
> +++ portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXR=
> esponseImpl.java Mon Jun 13 09:44:46 2005
> @@ -0,0 +1,64 @@
> +/*
> + * Copyright 2000-2001,2004 The Apache Software Foundation.
> + *=20
> + * 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
> + *=20
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *=20
> + * 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.jetspeed.ajax;
> +
> +import java.io.Reader;
> +import java.io.Writer;
> +
> +import org.apache.velocity.app.VelocityEngine;
> +import org.apache.velocity.context.Context;
> +
> +/**
> + * Response object used for AJAX services.
> + *=20
> + * @author <href a=3D"mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
> + *
> + */
> +public class AJAXResponseImpl implements AJAXResponse
> +{  =20
> +
> +    private Context context;
> +    private VelocityEngine engine;
> +    private Reader template;
> +    private Writer output;
> +
> +    public AJAXResponseImpl(Context context, VelocityEngine engine,
> Reader=
>  template, Writer output)
> +    {
> +        this.context =3D context;
> +        this.engine =3D engine;
> +        this.template =3D template;
> +        this.output =3D output;
> +    }
> +
> +    /* (non-Javadoc)
> +     * @see org.apache.jetspeed.ajax.AJAXResponse#complete()
> +     */
> +    public void complete() throws AJAXException
> +    {
> +        try
> +        {
> +            engine.evaluate(context, output, "AJAX processor", template);
> +        }
> +        catch (Exception e)
> +        {
> +            throw new AJAXException("Failed to render velocity xml
> templat=
> e: "+e.getMessage(), e);
> +        }
> +    =20
> +    }
> +
> +   =20
> +
> +}
> 
> Added: portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJ=
> AXServiceImpl.java
> URL: http://svn.apache.org/viewcvs/portals/jetspeed-
> 2/trunk/portal/src/java=
> /org/apache/jetspeed/ajax/AJAXServiceImpl.java?rev=3D190422&view=3Dauto
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D
> --- portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXS=
> erviceImpl.java (added)
> +++ portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXS=
> erviceImpl.java Mon Jun 13 09:44:46 2005
> @@ -0,0 +1,148 @@
> +/*
> + * Copyright 2000-2001,2004 The Apache Software Foundation.
> + *=20
> + * 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
> + *=20
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *=20
> + * 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.jetspeed.ajax;
> +
> +import java.io.IOException;
> +import java.io.InputStream;
> +import java.io.InputStreamReader;
> +import java.io.Reader;
> +import java.lang.reflect.Method;
> +import java.util.Iterator;
> +import java.util.List;
> +import java.util.Map;
> +import java.util.Properties;
> +
> +import org.apache.velocity.VelocityContext;
> +import org.apache.velocity.app.VelocityEngine;
> +import org.apache.velocity.context.Context;
> +import org.springframework.beans.BeansException;
> +import org.springframework.beans.factory.BeanFactory;
> +import org.springframework.beans.factory.BeanFactoryAware;
> +
> +/**
> + * Performs invocation of the actual AJAX request and returns
> + * a result object to converted into XML.
> + *=20
> + * @author <href a=3D"mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
> + *
> + */
> +public class AJAXServiceImpl implements AJAXService, BeanFactoryAware
> +{
> +
> +    private Map serviceToBeans;
> +
> +    private BeanFactory beanFactory;
> +    private VelocityEngine engine;
> +
> +    public AJAXServiceImpl(Map serviceToBeans)
> +    {
> +        this.serviceToBeans =3D serviceToBeans;
> +       =20
> +    }
> +
> +    public AJAXResponse processRequest(AJAXRequest request)
> +            throws AJAXException
> +    {
> +        final String serviceName =3D request.getServiceName();
> +        final String methodName =3D request.getMethodName();
> +        final String templateName =3D
> request.getServletRequest().getServl=
> etPath();
> +
> +        final String mappedServiceName =3D
> (serviceName+"."+methodName).tr=
> im();
> +        try
> +        {
> +            if(engine =3D=3D null)
> +            {
> +                engine =3D new VelocityEngine();
> +                Properties props =3D new Properties();
> +
> props.load(request.getContext().getResourceAsStream("/WEB-=
> INF/velocity.properties"));
> +                engine.init();
> +            }
> +           =20
> +           =20
> +            if(!serviceToBeans.containsKey(mappedServiceName))
> +            {
> +                throw new AJAXException("There is no AJAX service named
> '"=
> +mappedServiceName+"' defined.  "+=20
> +                        "Please make sure that your ajax.xml is set up
> cor=
> rectly.");
> +            }
> +           =20
> +            String beanId =3D
> ((String)serviceToBeans.get(mappedServiceNam=
> e)).trim();
> +            Object targetService =3D beanFactory.getBean(beanId);
> +            final List parameters =3D request.getParameters();
> +            Method method =3D
> targetService.getClass().getMethod(methodNam=
> e, getTypes(parameters));
> +            Object result =3D method.invoke(targetService,
> getValues(param=
> eters));
> +            Context context =3D new VelocityContext();
> +            context.put("ajaxRequest", request);
> +            context.put("result", result);           =20
> +           =20
> +            final InputStream templateResource =3D
> request.getContext().ge=
> tResourceAsStream(templateName);
> +           =20
> +            if(templateResource =3D=3D null)
> +            {
> +                request.getServletResponse().sendError(404,
> templateName+"=
>  ajax template could not be found.");
> +                throw new IOException(templateName+" does not exist");
> +            }
> +            Reader template =3D new InputStreamReader(templateResource);
> +           =20
> +            return new AJAXResponseImpl(context, engine, template,
> request=
> .getServletResponse().getWriter());
> +        }
> +        catch(AJAXException ae)
> +        {
> +            throw ae;
> +        }
> +        catch (Exception e)
> +        {
> +            throw new AJAXException("Unable to process service" +
> mappedSe=
> rviceName + ": " + e.getMessage(), e);
> +        }
> +
> +    }
> +
> +    /*
> +     * (non-Javadoc)
> +     *=20
> +     * @see
> org.springframework.beans.factory.BeanFactoryAware#setBeanFact=
> ory(org.springframework.beans.factory.BeanFactory)
> +     */
> +    public void setBeanFactory(BeanFactory beanFactory) throws
> BeansExcept=
> ion
> +    {
> +        this.beanFactory =3D beanFactory;
> +    }
> +
> +    protected Class[] getTypes(List objects)
> +    {
> +        Class[] args =3D new Class[objects.size()];
> +        Iterator itr =3D objects.iterator();
> +        int i =3D 0;
> +        while (itr.hasNext())
> +        {
> +            args[i] =3D
> ((AJAXRequestImpl.AJAXParameter)itr.next()).getVal=
> ue().getClass();
> +            i++;
> +        }
> +        return args;
> +    }
> +   =20
> +    protected Object[] getValues(List objects)
> +    {
> +        Object[] args =3D new Object[objects.size()];
> +        Iterator itr =3D objects.iterator();
> +        int i =3D 0;
> +        while (itr.hasNext())
> +        {
> +            args[i] =3D
> ((AJAXRequestImpl.AJAXParameter)itr.next()).getVal=
> ue();
> +            i++;
> +        }
> +        return args;
> +    }
> +
> +}
> 
> Added: portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJ=
> AXValve.java
> URL: http://svn.apache.org/viewcvs/portals/jetspeed-
> 2/trunk/portal/src/java=
> /org/apache/jetspeed/ajax/AJAXValve.java?rev=3D190422&view=3Dauto
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3
> D=
> =3D=3D=3D
> --- portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXV=
> alve.java (added)
> +++ portals/jetspeed-
> 2/trunk/portal/src/java/org/apache/jetspeed/ajax/AJAXV=
> alve.java Mon Jun 13 09:44:46 2005
> @@ -0,0 +1,44 @@
> +/*
> + * Copyright 2000-2001,2004 The Apache Software Foundation.
> + *=20
> + * 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
> + *=20
> + *      http://www.apache.org/licenses/LICENSE-2.0
> + *=20
> + * 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.jetspeed.ajax;
> +
> +import org.apache.jetspeed.pipeline.PipelineException;
> +import org.apache.jetspeed.pipeline.valve.AbstractValve;
> +import org.apache.jetspeed.pipeline.valve.ValveContext;
> +import org.apache.jetspeed.request.RequestContext;
> +
> +/**
> + * This should eventually replace the AJAX ServletFilter.
> + *=20
> + * @author <href a=3D"mailto:[EMAIL PROTECTED]">Scott T. Weaver</a>
> + *
> + */
> +public class AJAXValve extends AbstractValve
> +{
> +    public AJAXValve()
> +    {
> +        super();
> +       =20
> +    }
> +
> +    public void invoke(RequestContext request, ValveContext context)
> +            throws PipelineException
> +    {
> +      =20
> +
> +    }
> +
> +}
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to