dims 2002/06/23 10:39:19 Modified: java/src/org/apache/axis/attachments AttachmentPart.java Log: Fleshing AttachmentPart for SAAJ compliance. Revision Changes Path 1.9 +16 -52 xml-axis/java/src/org/apache/axis/attachments/AttachmentPart.java Index: AttachmentPart.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/attachments/AttachmentPart.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- AttachmentPart.java 29 May 2002 13:05:54 -0000 1.8 +++ AttachmentPart.java 23 Jun 2002 17:39:19 -0000 1.9 @@ -73,7 +73,8 @@ javax.activation.DataHandler datahandler= null; - private Hashtable headers = new Hashtable(); + //private Hashtable headers = new Hashtable(); + private javax.xml.soap.MimeHeaders mimeHeaders = new javax.xml.soap.MimeHeaders(); private String contentId; private String contentLocation; @@ -96,26 +97,12 @@ /** * TODO: everything! - public int getContentLength() { - return 0; - } - */ - - /** - * TODO: everything! */ public String getContentType() { return getFirstMimeHeader(HTTPConstants.HEADER_CONTENT_TYPE); } /** - * TODO: everything! - public int getSize() { - return 0; - } - */ - - /** * Add the specified MIME header, as per JAXM. */ public void addMimeHeader (String header, String value) { @@ -135,14 +122,17 @@ throw new IllegalArgumentException( JavaUtils.getMessage("headerValueNotNull")); } - headers.put(header.toLowerCase(), value); + mimeHeaders.setHeader(header.toLowerCase(), value); } /** * Get the specified MIME header. */ public String getFirstMimeHeader (String header) { - return (String) headers.get(header.toLowerCase()); + String[] values = mimeHeaders.getHeader(header.toLowerCase()); + if(values != null && values.length > 0) + return values[0]; + return null; } /** @@ -200,35 +190,14 @@ * Get all headers that match */ public java.util.Iterator getMatchingMimeHeaders( final String[] match){ - java.util.LinkedList retList= new java.util.LinkedList(); - if(null != match && 0 != match.length ){ - for(int i= match.length-1 ; i > -1 ; --i){ - if(match[i] != null){ - String key= match[i].toLowerCase(); - if(headers.containsKey(key)) - retList.add(match[i]); - } - } - } - return retList.iterator(); + return mimeHeaders.getMatchingHeaders(match); } /** * Get all headers that do not match */ public java.util.Iterator getNonMatchingMimeHeaders( final String[] match){ - java.util.LinkedList retList= new java.util.LinkedList(headers.keySet()); - if(null != match && 0 != match.length && !headers.isEmpty()){ - for(int i= match.length-1 ; i > -1 ; --i){ - if(match[i] != null){ - String remItem= match[i].toLowerCase(); - if(headers.containsKey(remItem)){ - retList.remove(remItem); - } - } - } - } - return retList.iterator(); + return mimeHeaders.getNonMatchingHeaders(match); } /** @@ -239,8 +208,7 @@ * headers for this <CODE>AttachmentPart</CODE> object */ public Iterator getAllMimeHeaders() { - //TODO: Implement this. - return null; + return mimeHeaders.getAllHeaders(); } /** @@ -261,12 +229,12 @@ * or value */ public void setMimeHeader(String name, String value){ - //TODO: Implement this. + mimeHeaders.setHeader(name,value); } /** Removes all the MIME header entries. */ public void removeAllMimeHeaders() { - //TODO: Implement this. + mimeHeaders.removeAllHeaders(); } /** @@ -275,7 +243,7 @@ * header/s to be removed */ public void removeMimeHeader(String header) { - //TODO: Implement this. + mimeHeaders.removeHeader(header); } /** @@ -287,8 +255,7 @@ * no data in this <CODE>AttachmentPart</CODE> object */ public DataHandler getDataHandler() throws SOAPException { - //TODO: Implement this. - return null; + return datahandler; } /** @@ -306,7 +273,7 @@ * DataHandler</CODE> object */ public void setDataHandler(DataHandler datahandler) { - //TODO: Implement this. + this.datahandler = datahandler; } /** @@ -402,10 +369,7 @@ * @see #setMimeHeader(java.lang.String, java.lang.String) setMimeHeader(java.lang.String, java.lang.String) */ public String[] getMimeHeader(String name) { - //TODO: Flesh this out. - String[] strings = new String[1]; - strings[0] = getFirstMimeHeader(name); - return strings; + return mimeHeaders.getHeader(name); } }