Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source
   * Copyright 2011, Red Hat, Inc. and individual contributors
   * by the @authors tag. See the copyright.txt in the distribution for a
   * full listing of individual contributors.
   *
   * This is free software; you can redistribute it and/or modify it
   * under the terms of the GNU Lesser General Public License as
   * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.richfaces.request;
 
 import java.util.Map;
 
 
 import  org.richfaces.exception.FileUploadException;
 import  org.richfaces.log.Logger;
 import  org.richfaces.log.RichfacesLogger;
 import  org.richfaces.model.UploadedFile;
 
 import  com.google.common.base.Function;
 import  com.google.common.collect.Iterables;
 import  com.google.common.collect.Iterators;
 import  com.google.common.collect.Maps;
 import  com.google.common.collect.Multimap;
 import  com.google.common.collect.Sets;
 
 public class MultipartRequest25 extends BaseMultipartRequest {
     private static final Logger LOGGER = RichfacesLogger.APPLICATION.getLogger();
     private static final Function<Collection<String>, ObjectMULTIMAP_VALUE_TRANSFORMER = new Function<Collection<String>, Object>() {
         public Object apply(Collection<Stringinput) {
             if (input.isEmpty()) {
                 return null;
             }
 
             if (input.size() == 1) {
                 return Iterables.get(input, 0);
             }
 
             return input.toArray(new String[input.size()]);
         }
     };
     private ResponseState responseState;
     private Iterable<UploadedFile> uploadedFiles;
     private Multimap<StringStringparams;
 
     public MultipartRequest25(HttpServletRequest requestString uploadIdProgressControl progressControl,
         MultipartRequestParser requestParser) {
 
         super(requestuploadIdprogressControl);
 
         this. = requestParser;
     }
 
     private void parseIfNecessary() {
         if ( != null) {
             return;
         }
 
         try {
             .parse();
 
              = .getUploadedFiles();
              = .getParameters();
              = .;
         } catch (FileUploadException e) {
             .error(e.getMessage(), e);
              = .;
         }
     }
 
     @SuppressWarnings({ "rawtypes""unchecked" })
     @Override
     public Enumeration getParameterNames() {
         Collection<Objectresult = Sets.newHashSet();
 
         Enumeration names = super.getParameterNames();
         while (names.hasMoreElements()) {
             String name = (Stringnames.nextElement();
 
             result.add(name);
         }
 
        parseIfNecessary();
        result.addAll(.keySet());
        return Iterators.asEnumeration(result.iterator());
    }
    @Override
    public String getParameter(String name) {
        String parameter = super.getParameter(name);
        if (parameter != null) {
            return parameter;
        }
        parseIfNecessary();
        Collection<Stringvalues = .get(name);
        if (values.isEmpty()) {
            return null;
        }
        return Iterables.get(values, 0);
    }
    @Override
    public String[] getParameterValues(String name) {
        String[] parameterValues = super.getParameterValues(name);
        if (parameterValues != null) {
            return parameterValues;
        }
        parseIfNecessary();
        Collection<Stringvalues = .get(name);
        if (values.isEmpty()) {
            return null;
        }
        return values.toArray(new String[values.size()]);
    }
    @SuppressWarnings({ "unchecked""rawtypes" })
    @Override
    public Map getParameterMap() {
        Map parameterMap = Maps.newHashMap(super.getParameterMap());
        parseIfNecessary();
        parameterMap.putAll(Maps.transformValues(.asMap(), ));
        return parameterMap;
    }
    public Iterable<UploadedFile> getUploadedFiles() {
        parseIfNecessary();
        return ;
    }
    public void release() {
        super.release();
        if ( != null) {
            for (UploadedFile uploadedFile : ) {
                try {
                    uploadedFile.delete();
                } catch (IOException e) {
                    .error(e.getMessage(), e);
                }
            }
        }
    }
    public ResponseState getResponseState() {
        parseIfNecessary();
        return ;
    }
New to GrepCode? Check out our FAQ X