- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 19 Oct 2009 10:09:06 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn In directory hutz:/tmp/cvs-serv29765/src/org/w3c/unicorn Modified Files: Framework.java UnicornCall.java Log Message: new response parsing process + implementations for the new observer schema Index: Framework.java =================================================================== RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/Framework.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- Framework.java 12 Oct 2009 15:27:33 -0000 1.22 +++ Framework.java 19 Oct 2009 10:09:04 -0000 1.23 @@ -10,6 +10,7 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; @@ -37,7 +38,6 @@ import org.w3c.unicorn.contract.WADLUnmarshallerXPath; import org.w3c.unicorn.exceptions.InitializationFailedException; import org.w3c.unicorn.exceptions.UnknownParserException; -import org.w3c.unicorn.response.parser.ResponseParser; import org.w3c.unicorn.tasklist.RDFUnmarshaller; import org.w3c.unicorn.tasklist.RDFUnmarshallerJena; import org.w3c.unicorn.tasklist.Task; @@ -48,6 +48,7 @@ import org.w3c.unicorn.util.ListFiles; import org.w3c.unicorn.util.Property; import org.w3c.unicorn.util.UCNProperties; +import org.w3c.unicorn.response.Response; import com.hp.hpl.jena.rdf.model.Model; @@ -71,7 +72,7 @@ /** * Data structure for the various response parser */ - public static Map<String, ResponseParser> mapOfReponseParser; + public static Map<String, Class<Response>> responseImpl; /** * Logger @@ -105,7 +106,7 @@ languageProperties = new Hashtable<String, Properties>(); languages = new TreeMap<String, String>(); mapOfObserver = new LinkedHashMap<String, Observer>(); - mapOfReponseParser = new LinkedHashMap<String, ResponseParser>(); + responseImpl = new LinkedHashMap<String, Class<Response>>(); LanguageAction.setLanguageProperties(new TreeMap<String, Properties>()); } @@ -257,31 +258,38 @@ namespace + "value")); logger.info("OK - RDFUnmarshallerJena successfully initialized."); } + + @SuppressWarnings("unchecked") public static void initResponseParsers() throws InitializationFailedException { // Load the map of ResponseParser logger.debug("-------------------------------------------------------"); - logger.debug("Loading available parsers form responseParsers.properties"); + logger.debug("Loading available response implementations form responseParsers.properties"); Properties aProperties = Property.getProps("responseParsers.properties"); for (Object key : aProperties.keySet()) { String className = aProperties.getProperty(key.toString()); try { - ResponseParser aResponseParser = (ResponseParser) Class - .forName(className).newInstance(); - mapOfReponseParser.put(key.toString(), aResponseParser); - logger.debug("> Parser loaded: " + mapOfReponseParser.get(key).getClass().toString()); + if (Response.class.isAssignableFrom(Class.forName(className))) { + Class.forName(className).getConstructor(InputStream.class, String.class); + responseImpl.put(key.toString(), (Class<Response>) Class.forName(className)); + logger.debug("> Parser loaded: " + responseImpl.get(key).getClass().toString()); + } else { + logger.error("> Class: " + className + " is not a Response implementation."); + } } catch (ClassNotFoundException e) { - logger.warn("Class not found: " + className + ". Check responseParsers.properties.", e); + logger.error("Class not found: " + className + ". Check responseParsers.properties."); + } catch (NoSuchMethodException e) { + logger.error("Response implementation: " + className + " does not have a constructor with signature (InputStream is, String charset). Implementation skipped."); } catch (Exception e) { - logger.warn("Error trying to instanciate: " + className, e); + logger.error("Error trying to instanciate: " + className, e); } } - if (mapOfReponseParser.size() == 0) { + if (responseImpl.size() == 0) { throw new InitializationFailedException("There is no parser loaded. Check responseParsers.properties."); } else { - logger.info("OK - " + mapOfReponseParser.size() + " parser(s) successfully loaded."); + logger.info("OK - " + responseImpl.size() + " implementation(s) successfully loaded."); } - } + public static void initObservers() throws InitializationFailedException { // Loading observers logger.debug("-------------------------------------------------------"); Index: UnicornCall.java =================================================================== RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/UnicornCall.java,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- UnicornCall.java 13 Oct 2009 15:23:55 -0000 1.36 +++ UnicornCall.java 19 Oct 2009 10:09:04 -0000 1.37 @@ -440,7 +440,7 @@ logger.warn("unknown observer id (" + observerId + ") in output group of task: " + this.getTask().getID() + ". It is possible that this observation failed, or that the tasklist is not valid."); continue; } - if (mapOfResponse.get(observerId).isPassed()) { + if (mapOfResponse.get(observerId).getStatus() == Response.PASSED) { passedId = observerId; break; } @@ -461,7 +461,7 @@ public boolean isPassed() { boolean passed = true; for (String key : getObservationList().keySet()) { - if (!observationMap.get(key).isPassed()) { + if (observationMap.get(key).getStatus() != Response.PASSED) { passed = false; } } @@ -565,7 +565,6 @@ case UPLOAD: logger.debug("Creating FakeUploadInputModule"); return new FakeUploadInputModule(inputModule); - //return new FileItemInputModule(inputModule); case URI: logger.debug("Creating URIInputModule"); return new URIInputModule(inputModule);
Received on Monday, 19 October 2009 10:09:09 UTC