2006/unicorn/src/org/w3c/unicorn/input URIInputParameter.java,NONE,1.1 DirectInputParameter.java,NONE,1.1 InputParameter.java,NONE,1.1 UploadInputParameter.java,NONE,1.1

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