- From: Jean-Guilhem Rouel via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 12 Sep 2008 18:01:53 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/org/w3c/unicorn/tasklist In directory hutz:/tmp/cvs-serv11277/org/w3c/unicorn/tasklist Modified Files: TaskListUnmarshallerBeans.java Log Message: first version that works with Jigsaw + fixed a bug in cond handling + removed parse(InputStream) Index: TaskListUnmarshallerBeans.java =================================================================== RCS file: /sources/public/2006/unicorn/org/w3c/unicorn/tasklist/TaskListUnmarshallerBeans.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- TaskListUnmarshallerBeans.java 8 Sep 2008 15:06:12 -0000 1.11 +++ TaskListUnmarshallerBeans.java 12 Sep 2008 18:01:51 -0000 1.12 @@ -43,97 +43,97 @@ /** * Unmarshals the tasklist thanks to the XMLBeans tools. - * + * * @author Florent Batard, Jonathan Barouh - * + * */ public class TaskListUnmarshallerBeans implements TasksListUnmarshaller { - private TasklistDocument aTaskList; - + private TasklistDocument aTaskList; + private static final Log logger = LogFactory.getLog("org.w3c.unicorn.tasklist"); - + private int NodeID=0; - + /** * The tasklist corresponding to the xml file */ private Map<String,Task> mapOfTask; - + /** * The observers' list used to check some constraints on the tasks */ private Map<String, Observer> mapOfObserver; - - + + public TaskListUnmarshallerBeans(){} - + public TaskListUnmarshallerBeans(final Map<String, Observer> mapOfObserver) { - TaskListUnmarshallerBeans.logger.trace("Constructor"); + TaskListUnmarshallerBeans.logger.trace("Constructor"); this.mapOfTask = new LinkedHashMap<String, org.w3c.unicorn.tasklist.Task>(); this.mapOfObserver = mapOfObserver; } - - + + private void addTask(final TaskType aTask) throws ParameterException { TaskListUnmarshallerBeans.logger.trace("addTask"); - + if (aTask == null) { TaskListUnmarshallerBeans.logger.warn("Task : null"); return; } - + if (TaskListUnmarshallerBeans.logger.isDebugEnabled()) { TaskListUnmarshallerBeans.logger.trace("Add task : " + aTask.getId()); } - + final Task aTaskCurrent = new Task(); // Create the execution level tree aTaskCurrent.setID(aTask.getId()); aTaskCurrent.setTree(this.ExpandTree(aTask)); - + // parameters final ParametersType aParameters = aTask.getParameters(); if (aParameters != null) { final ParameterType[] listOfParameter; - listOfParameter = aParameters.getParameterArray(); - + listOfParameter = aParameters.getParameterArray(); + for (final ParameterType aParameterBeans : listOfParameter) { - + final TUi.Enum aTUi = aParameterBeans.getUi(); final String sObserver = aParameterBeans.getObserver(); final String sName = aParameterBeans.getName(); - + // default values as string final String sDefaultValues = aParameterBeans.getDefault(); - - final TParamType.Enum aParamType = aParameterBeans.getType(); - - Parameter aParameter = null; - + + final TParamType.Enum aParamType = aParameterBeans.getType(); + + Parameter aParameter = null; + if (sObserver != null && !"".equals(sObserver)) { aParameter = getParameterFromObserver( sName, sObserver, aTUi, sDefaultValues, - aParamType); - } + aParamType); + } else { - + // Values final Map<String, Value> mapOfValue = new LinkedHashMap<String, Value>(); - for (final ValueType aValue : + for (final ValueType aValue : aParameterBeans.getValueArray()) { - + // name of the value String sValueName = aValue.getName(); if (sValueName == null) { sValueName = ""; } - + // Mappings of the value final Map<String, List<Mapping>> mapOfMapping = new LinkedHashMap<String, List<Mapping>>(); for (final MappedType aMappedBeans : aValue.getMappedArray()) { @@ -154,16 +154,16 @@ mapOfMapping, sValueName)); } - + aParameter = this.createParameter( aParamType, sName, aTUi, - sDefaultValues, + sDefaultValues, mapOfValue); } - - if (aParameter != null) { + + if (aParameter != null) { aTaskCurrent.addParameter(aParameter); } } @@ -172,8 +172,8 @@ this.mapOfTask.put(aTaskCurrent.getID(),aTaskCurrent); } - - + + /** * Creates a usable mapping from a JAXB-generated one. * @param aMappedJAXB the JAXB-generated mapping @@ -194,20 +194,20 @@ } // the mapped parameter - final String sMappingParam = aMapped.getParam(); + final String sMappingParam = aMapped.getParam(); // the value mapped String sMappingValue = aMapped.getValue(); if (sMappingValue == null) { sMappingValue = ""; } - + // TODO check if is useful to add input method in mapping final List<EnumInputMethod> listOfEnumInputMethod = new ArrayList<EnumInputMethod>(); - + // The list of mapped input methods - - final List<TInputMethod.Enum> listOfTInputMethodBeans = - new ArrayList<TInputMethod.Enum>(); + + final List<TInputMethod.Enum> listOfTInputMethodBeans = + new ArrayList<TInputMethod.Enum>(); for (Object methodString : aMapped.getInputmethod()) { listOfTInputMethodBeans.add( TInputMethod.Enum.forString(methodString.toString())); @@ -218,13 +218,13 @@ listOfTInputMethodBeans.add(TInputMethod.FILE); listOfTInputMethodBeans.add(TInputMethod.URI); } - + /* * For each input method, we check that the mapped observer: * - can handle this input method - * - has a parameter with the corresponding name for this input + * - has a parameter with the corresponding name for this input * method - * - can handle this value for this parameter + * - can handle this value for this parameter */ for (final TInputMethod.Enum aTInputMethod : listOfTInputMethodBeans) { @@ -233,12 +233,12 @@ // the observer can handle this input method if (aObserverMapped.getInputMethod(aEnumInputMethod) == null) { TaskListUnmarshallerBeans.logger.warn( - sMappingObserver + " does not support " + + sMappingObserver + " does not support " + aEnumInputMethod.value() + " input method."); continue; } final CallParameter aCallParameterMapped; - aCallParameterMapped = aObserverMapped.getInputMethod(aEnumInputMethod).getCallParameterByName(sMappingParam); + aCallParameterMapped = aObserverMapped.getInputMethod(aEnumInputMethod).getCallParameterByName(sMappingParam); // the parameter exists if (aCallParameterMapped == null) { TaskListUnmarshallerBeans.logger.error( @@ -249,26 +249,26 @@ // the value exists if (!aCallParameterMapped.contains(sMappingValue)) { TaskListUnmarshallerBeans.logger.error( - "Parameter " + sMappingParam + + "Parameter " + sMappingParam + " does not accept " + sMappingValue + " as a value."); continue; } listOfEnumInputMethod.add(aEnumInputMethod); } - + if (listOfEnumInputMethod.size() == 0) { return null; } - + return new Mapping( aObserverMapped, sMappingParam, - sMappingValue/*, + sMappingValue/*, listOfEnumInputMethod*/); } - - + + private Parameter getParameterFromObserver ( final String sParamName, final String sObserverName, @@ -283,9 +283,9 @@ TaskListUnmarshallerBeans.logger.debug("Default values : "+sDefaultValues+"."); TaskListUnmarshallerBeans.logger.debug("TParamType : "+aTParamType+"."); } - + final Observer aObserver = this.mapOfObserver.get(sObserverName); - + // does the requested observer exist? if (aObserver == null) { TaskListUnmarshallerBeans.logger.warn( @@ -293,38 +293,38 @@ "non-existing observer: " + sObserverName + "."); return null; } - + // the name of the parameter // TODO Change when the RDF is done final LocalizedString aLocalizedString = new LocalizedString(); - aLocalizedString.addLocalization("en", sParamName); - + aLocalizedString.addLocalization("en", sParamName); + final Map<String, Value> mapOfValue = new LinkedHashMap<String, Value>(); - + // iterate over the observer's methods final Map<EnumInputMethod, InputMethod> mapOfInputMethod = aObserver.getMapOfInputMethod(); for (final EnumInputMethod aEnumInputMethod : mapOfInputMethod.keySet()) { - final InputMethod aInputMethod = mapOfInputMethod.get(aEnumInputMethod); - + final InputMethod aInputMethod = mapOfInputMethod.get(aEnumInputMethod); + if (aInputMethod.getCallParameter().getName().equals(sParamName)) { - // the referenced parameter is an input one for the current + // the referenced parameter is an input one for the current // method, so it must be ignored TaskListUnmarshallerBeans.logger.info( "The referenced parameter is an input one for the current method, so it must be ignored."); continue; - } - + } + final CallMethod aCallMethod = aInputMethod.getCallMethod(); - final CallParameter aCallParameter = aCallMethod.getCallParameterByName(sParamName); - // A parameter with this name exists for this method + final CallParameter aCallParameter = aCallMethod.getCallParameterByName(sParamName); + // A parameter with this name exists for this method if (aCallParameter != null) { for (final String sValue : aCallParameter.getListOfPossibleValue()) { final Value aValueCurrent = mapOfValue.get(sValue); if (aValueCurrent != null) { // the newly created parameter already contains a // similar value - - // we know that the created parameter contains exactly + + // we know that the created parameter contains exactly // ONE mapping for this value //aValueCurrent.getMappings().get(sObserverName).get(0).addInputMethod(aEnumInputMethod); } @@ -335,12 +335,12 @@ aInternationalizedMessageValueName = new LocalizedString(); // TODO Add localized names in RDF contract aInternationalizedMessageValueName.addLocalization("en", sValue); - + final List<EnumInputMethod> mapOfNewInputMethod = new ArrayList<EnumInputMethod>(); mapOfNewInputMethod.add(aEnumInputMethod); final Mapping aMapping = new Mapping( aObserver, - sParamName, + sParamName, sValue); final List<Mapping> listOfMapping = new ArrayList<Mapping>(); @@ -356,21 +356,21 @@ sValue); mapOfValue.put(sValue, aValueToAdd); } - } + } } } return this.createParameter( aTParamType, sParamName, aTUi, - sDefaultValues, - mapOfValue); + sDefaultValues, + mapOfValue); } - - + + /** * Create the tree from a TaskType element - * + * * @param myTask * the task to transform into a tree */ @@ -392,7 +392,7 @@ /** * Recursion over the Then tag to fill the tree - * + * * @param myThen * the ThenType node for the recursion * @return the node created @@ -414,7 +414,7 @@ /** * Created the Ifnode in the tree - * + * * @param ifs * the IfType node template to create the Ifnode * @return the node created @@ -460,10 +460,10 @@ } return ifnode; } - - - - + + + + private org.w3c.unicorn.tasklist.parameters.Parameter createParameter ( final TParamType.Enum aTParamType, final String sName, @@ -489,8 +489,8 @@ aParameter.setDefaultValues(sDefaultValues); return aParameter; } - - + + /** * Wraps a TInputMethod instance on an EnumInputMethod * @param aTInputMethod @@ -506,11 +506,11 @@ return EnumInputMethod.URI; default: return EnumInputMethod.URI; - } + } } - - - + + + public Map<String, org.w3c.unicorn.tasklist.Task> getMapOfTask() { TaskListUnmarshallerBeans.logger.trace("getMapOfTask"); return this.mapOfTask; @@ -523,14 +523,15 @@ } try { - this.aTaskList = TasklistDocument.Factory.parse(aURL.openStream()); + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + this.aTaskList = TasklistDocument.Factory.parse(aURL.openStream()); } catch (XmlException e) { TaskListUnmarshallerBeans.logger.error("Parsing error in TasklistUnmarshaller",e); e.printStackTrace(); - } + } } - - + + public void unmarshal() throws Exception { TaskListUnmarshallerBeans.logger.trace("unmarshal tasklist"); @@ -542,7 +543,7 @@ this.addTask(aTask); } } - + // computes and replaces references by their corresponding observations // and parameters for (final org.w3c.unicorn.tasklist.Task aTask : this.mapOfTask.values()) {
Received on Friday, 12 September 2008 18:02:28 UTC