- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 17 Sep 2009 15:39:12 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/input In directory hutz:/tmp/cvs-serv17097/src/org/w3c/unicorn/input Added Files: URIInputParameter.java DirectInputParameter.java InputParameter.java UploadInputParameter.java Log Message: new classes representing the input parameter object of a request (uri, input, upload). each class implements, among others, the methods check(), getMimeType() and getDocumentName() --- NEW FILE: UploadInputParameter.java --- package org.w3c.unicorn.input; import javax.activation.MimeType; import javax.activation.MimeTypeParseException; import org.apache.commons.fileupload.FileItem; import org.w3c.unicorn.contract.EnumInputMethod; import org.w3c.unicorn.exceptions.UnicornException; public class UploadInputParameter extends InputParameter { private FileItem file; public UploadInputParameter(FileItem file) { this.file = file; } @Override public void check() throws UnicornException { if (file.getName() == null || file.getName().equals("")) { //throw new NoDocumentException("No document provided"); throw new UnicornException(""); } if (file.getSize() == 0) { //throw new EmptyDocumentException("Empty document provided"); throw new UnicornException(""); } String sMimeType = file.getContentType(); if (null == sMimeType || "".equals(sMimeType)) { //throw new NoMimeTypeException("Mimetype not found"); throw new UnicornException(""); } try { mimeType = new MimeType(sMimeType); } catch (MimeTypeParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } inputModule = new FileItemInputModule(mimeType, file); } @Override public String getDocumentName() { return file.getName(); } @Override public EnumInputMethod getInputMethod() { return EnumInputMethod.UPLOAD; } } --- NEW FILE: DirectInputParameter.java --- package org.w3c.unicorn.input; import javax.activation.MimeType; import javax.activation.MimeTypeParseException; import org.w3c.unicorn.UnicornCall; import org.w3c.unicorn.contract.EnumInputMethod; import org.w3c.unicorn.exceptions.UnicornException; import org.w3c.unicorn.util.Property; public class DirectInputParameter extends InputParameter { private String document; private String sMimeType; public DirectInputParameter(String document, String sMimeType) { this.document = document; this.sMimeType = sMimeType; } @Override public void check() throws UnicornException { if (null == sMimeType || "".equals(sMimeType)) { //throw new NoMimeTypeException("Mimetype not found."); throw new UnicornException(""); } try { mimeType = new MimeType(sMimeType); } catch (MimeTypeParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } inputModule = new DirectInputModule(mimeType, document); } @Override public String getDocumentName() { //TODO return "Direct Input Document"; } @Override public EnumInputMethod getInputMethod() { return EnumInputMethod.DIRECT; } } --- NEW FILE: InputParameter.java --- package org.w3c.unicorn.input; import javax.activation.MimeType; import org.w3c.unicorn.contract.EnumInputMethod; import org.w3c.unicorn.exceptions.UnicornException; public abstract class InputParameter { protected EnumInputMethod inputMethod; protected InputModule inputModule; protected MimeType mimeType; protected String documentName; public abstract void check() throws UnicornException; public InputModule getInputModule() { return inputModule; } public void setInputModule(InputModule inputModule) { this.inputModule = inputModule; } public MimeType getMimeType() { return mimeType; } public void setMimeType(MimeType mimeType) { this.mimeType = mimeType; } public abstract String getDocumentName(); public void setDocumentName(String documentName) { this.documentName = documentName; } public abstract EnumInputMethod getInputMethod(); public void setInputMethod(EnumInputMethod inputMethod) { this.inputMethod = inputMethod; } } --- NEW FILE: URIInputParameter.java --- package org.w3c.unicorn.input; import java.io.FileNotFoundException; import java.io.IOException; import java.net.ConnectException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.SocketTimeoutException; import java.net.URL; import java.net.URLConnection; import java.net.UnknownHostException; import javax.activation.MimeType; import javax.activation.MimeTypeParseException; import javax.net.ssl.SSLException; import org.w3c.unicorn.contract.EnumInputMethod; import org.w3c.unicorn.exceptions.UnicornException; import org.w3c.unicorn.util.Property; public class URIInputParameter extends InputParameter { private String uri; private int connectTimeOut = Integer.parseInt(Property.get("DOCUMENT_CONNECT_TIMEOUT")); public URIInputParameter(String uri) { this.uri = uri; } @Override public void check() throws UnicornException { URL docUrl = null; try { docUrl = new URL(uri); URLConnection con = docUrl.openConnection(); con.setConnectTimeout(connectTimeOut); String sMimeType = con.getContentType(); sMimeType = sMimeType.split(";")[0]; mimeType = new MimeType(sMimeType); inputModule = new URIInputModule(mimeType, uri); } catch (MalformedURLException e) { e.printStackTrace(); } catch (MimeTypeParseException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (SSLException e) { e.printStackTrace(); } catch (ConnectException e) { e.printStackTrace(); } catch (SocketTimeoutException e) { e.printStackTrace(); if (e.getMessage().contains("Read timed out")) System.out.println("a"); if (e.getMessage().contains("connect timed out")) System.out.println("b"); } catch (IOException e) { try { int responseCode; if (docUrl != null) { responseCode = ((HttpURLConnection) docUrl.openConnection()).getResponseCode(); switch (responseCode) { case HttpURLConnection.HTTP_UNAUTHORIZED: System.out.println("HTTP_UNAUTHORIZED"); break; } } } catch (Exception e2) { System.out.println("e2"); e2.printStackTrace(); } e.printStackTrace(); } } @Override public String getDocumentName() { return uri; } @Override public EnumInputMethod getInputMethod() { return EnumInputMethod.URI; } }
Received on Thursday, 17 September 2009 15:39:21 UTC