public String getFileName()

in src/java/org/apache/fulcrum/parser/DefaultParameterParser.java [387:418]


    public String getFileName(Part part)
    {
        final String partHeader = part.getHeader("content-disposition");
        
        // rfc2183, rfc5987 quoted string, but attachments may have not?
        Pattern regex = Pattern.compile("filename\\*?=\"?(.[^\"]+)\"?");
        
        for (String content : partHeader.split(";")) 
        {
        	// could also filename*=<encoding>''<value>
            if (content.trim().contains( "filename" )) 
            { 
                String fnTmp = "";
                String srcStr = content.trim();
                Matcher regexMatcher = regex.matcher(srcStr);
                if (regexMatcher.find()) 
                {
                    fnTmp = regexMatcher.group(1);
                    if (getLogger().isDebugEnabled()) 
                    {
                        getLogger().debug( "matched fileName:" + fnTmp );
                    }
                } else { 
                	// last resort
                    fnTmp  = srcStr.substring(srcStr.indexOf('=')+1).replace( "\"", "" );
                    getLogger().debug( "second fileName match:" + fnTmp );
                }
                return fnTmp.trim();
            }
        }
        return null;
    }