You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by df...@apache.org on 2004/08/04 17:22:52 UTC
cvs commit: jakarta-slide/projector/src/java/org/apache/slide/projector/processor/table TablePager.java
dflorey 2004/08/04 08:22:51
Modified: projector/src/java/org/apache/slide/projector/descriptor
StringValueFactory.java ArrayValueFactory.java
MessageValueFactory.java ArrayValueDescriptor.java
XMLValueFactory.java MapValueFactory.java
ValueFactory.java URIValueFactory.java
NumberValueFactory.java DateValueFactory.java
LocaleValueFactory.java BooleanValueFactory.java
AnyValueFactory.java
projector/src/java/org/apache/slide/projector/processor/core
CachedContent.java Thread.java MapEntry.java
projector/src/java/org/apache/slide/projector/value
DateValue.java NumberValue.java ObjectValue.java
URIValue.java StringValue.java LocaleValue.java
Value.java ArrayValue.java AnyValue.java
BooleanValue.java MessageValue.java MapValue.java
projector/src/java/org/apache/slide/projector/engine
Job.java
projector/src/java/org/apache/slide/projector/processor/process
ParameterConfiguration.java Process.java
projector/src/java/org/apache/slide/projector/application
ApplicationManager.java
projector/src/java/org/apache/slide/projector/store
RepositoryStore.java
projector/src/java/org/apache/slide/projector/processor/table
TablePager.java
Added: projector/src/java/org/apache/slide/projector/descriptor
ValueFactoryManager.java
Removed: projector/src/java/org/apache/slide/projector/descriptor
ValueDescriptorManager.java
Log:
Moved value persistence to ValueFactory classes
Revision Changes Path
1.2 +13 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/StringValueFactory.java
Index: StringValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/StringValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StringValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ StringValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -7,18 +7,29 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLEncode;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
import de.zeigermann.xml.simpleImporter.ConversionHelpers;
public class StringValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return StringValue.class;
+ }
+
public String getElementName() {
return "string";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
return new StringValue(element.getText());
}
- public ValueDescriptor loadValueDescriptor(Element element) {
+ public void save(Value value, XMLStringWriter writer) {
+ writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(value.toString()), XMLWriter.createEndTag(getElementName()));
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
StringValueDescriptor valueDescriptor = new StringValueDescriptor();
String mininum = element.getAttributeValue("minimum-length");
String maximum = element.getAttributeValue("maximum-length");
1.2 +21 -5 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ArrayValueFactory.java
Index: ArrayValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ArrayValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ArrayValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ ArrayValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -8,23 +8,39 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class ArrayValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return ArrayValue.class;
+ }
+
public String getElementName() {
return "array";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
List children = new ArrayList();
for ( Iterator i = element.getChildren().iterator(); i.hasNext(); ) {
Element childElement = (Element)i.next();
- children.add(ValueDescriptorManager.getInstance().loadValue(childElement));
+ children.add(ValueFactoryManager.getInstance().loadValue(childElement));
}
return new ArrayValue((Value [])children.toArray(new Value[children.size()]));
}
-
- public ValueDescriptor loadValueDescriptor(Element element) {
+
+ public void save(Value value, XMLStringWriter writer) {
+ Value[] array = ((ArrayValue)value).getArray();
+ writer.writeStartTag(XMLWriter.createStartTag(getElementName()));
+ for ( int i = 0; i < array.length; i++ ) {
+ ValueFactoryManager.getInstance().saveValue(array[i], writer);
+ }
+ writer.writeEndTag(XMLWriter.createEndTag(getElementName()));
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
Element allowedArrayValueElement = (Element)element.getChildren().iterator().next();
- ValueDescriptor allowedArrayValue = ValueDescriptorManager.getInstance().loadValueDescriptor(allowedArrayValueElement);
+ ValueDescriptor allowedArrayValue = ValueFactoryManager.getInstance().loadValueDescriptor(allowedArrayValueElement);
return new ArrayValueDescriptor(allowedArrayValue);
}
}
1.2 +23 -6 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/MessageValueFactory.java
Index: MessageValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/MessageValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MessageValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ MessageValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -8,25 +8,42 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class MessageValueFactory implements ValueFactory {
public final static String ID = "id";
public final static String ARGUMENTS = "arguments";
+
+ public Class getValueClass() {
+ return MessageValue.class;
+ }
public String getElementName() {
return "message";
}
- public Value loadValue(Element element) {
- String messageId = element.getAttributeValue("id");
+ public Value load(Element element) {
+ String messageId = element.getAttributeValue(ID);
List children = new ArrayList();
for ( Iterator i = element.getChildren().iterator(); i.hasNext(); ) {
Element childElement = (Element)i.next();
- children.add(ValueDescriptorManager.getInstance().loadValue(childElement));
+ children.add(ValueFactoryManager.getInstance().loadValue(childElement));
}
- return new MessageValue(messageId, children.toArray());
+ return new MessageValue(messageId, (Value[])children.toArray(new Value[children.size()]));
}
-
- public ValueDescriptor loadValueDescriptor(Element element) {
+
+ public void save(Value value, XMLStringWriter writer) {
+ MessageValue messageValue = (MessageValue)value;
+ writer.writeStartTag(XMLWriter.createStartTag(getElementName(), ID, messageValue.getId()));
+ Value []arguments = messageValue.getArguments();
+ for ( int i = 0; i < arguments.length; i++ ) {
+ ValueFactoryManager.getInstance().saveValue(arguments[i], writer);
+ }
+ writer.writeEndTag(XMLWriter.createEndTag(getElementName()));
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
return new MessageValueDescriptor();
}
}
1.5 +0 -1 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ArrayValueDescriptor.java
Index: ArrayValueDescriptor.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ArrayValueDescriptor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ArrayValueDescriptor.java 4 Aug 2004 11:35:34 -0000 1.4
+++ ArrayValueDescriptor.java 4 Aug 2004 15:22:48 -0000 1.5
@@ -1,6 +1,5 @@
package org.apache.slide.projector.descriptor;
-import java.io.IOException;
import java.util.Iterator;
import java.util.List;
1.2 +27 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/XMLValueFactory.java
Index: XMLValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/XMLValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XMLValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ XMLValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -1,18 +1,33 @@
package org.apache.slide.projector.descriptor;
+import java.io.IOException;
import java.util.Iterator;
import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.apache.slide.projector.value.ElementValue;
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import org.jdom.output.Format;
+import org.jdom.output.XMLOutputter;
+
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
public class XMLValueFactory implements ValueFactory {
+ private final static XMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());
+ private final static Logger logger = Logger.getLogger(XMLValueFactory.class.getName());
+
+ public Class getValueClass() {
+ return ElementValue.class;
+ }
+
public String getElementName() {
return "xml";
}
- public ValueDescriptor loadValueDescriptor(Element element) {
+ public ValueDescriptor loadDescriptor(Element element) {
AnyValueDescriptor valueDescriptor = new AnyValueDescriptor();
List allowedValueElements = element.getChildren("allowed-content-type");
for ( Iterator i = allowedValueElements.iterator(); i.hasNext(); ) {
@@ -23,11 +38,21 @@
return valueDescriptor;
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
Iterator iterator = element.getChildren().iterator();
if ( iterator.hasNext() ) {
return new ElementValue((Element)iterator.next());
}
return new ElementValue(element);
}
+
+ public void save(Value value, XMLStringWriter writer) {
+ ElementValue elementValue = (ElementValue)value;
+ try {
+ xmlOutputter.output(elementValue.getRootElement(), writer);
+ } catch (IOException e) {
+ logger.log(Level.SEVERE, "Could not persist ElementValue", e);
+ }
+ writer.writeEndTag(XMLWriter.createEndTag(getElementName()));
+ }
}
1.2 +26 -5 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/MapValueFactory.java
Index: MapValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/MapValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MapValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ MapValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -9,30 +9,51 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class MapValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return MapValue.class;
+ }
+
public String getElementName() {
return "map";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
Map map = new HashMap();
for ( Iterator i = element.getChildren().iterator(); i.hasNext(); ) {
Element childElement = (Element)i.next();
String key = childElement.getAttributeValue("key");
Element entryElement = (Element)childElement.getChildren().iterator().next();
- map.put(key, ValueDescriptorManager.getInstance().loadValue(entryElement));
+ map.put(key, ValueFactoryManager.getInstance().loadValue(entryElement));
}
return new MapValue(map);
}
-
- public ValueDescriptor loadValueDescriptor(Element element) {
+
+ public void save(Value value, XMLStringWriter writer) {
+ Map map = ((MapValue)value).getMap();
+ writer.writeStartTag(XMLWriter.createStartTag(getElementName()));
+ for ( Iterator i = map.entrySet().iterator(); i.hasNext(); ) {
+ Map.Entry entry = (Map.Entry)i.next();
+ if ( entry.getValue() instanceof Value ) {
+ writer.writeStartTag(XMLWriter.createStartTag("entry", "key", (String)entry.getKey()));
+ ValueFactoryManager.getInstance().saveValue((Value)entry.getValue(), writer);
+ writer.writeEndTag(XMLWriter.createEndTag("entry"));
+ }
+ }
+ writer.writeEndTag(XMLWriter.createEndTag(getElementName()));
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
MapValueDescriptor valueDescriptor = new MapValueDescriptor();
for ( Iterator i = element.getChildren().iterator(); i.hasNext(); ) {
Element entry = (Element)i.next();
String key = entry.getAttributeValue("key");
String description = entry.getAttributeValue("description");
Element allowedEntryValueElement = (Element)element.getChildren().iterator().next();
- ValueDescriptor allowedEntryValue = ValueDescriptorManager.getInstance().loadValueDescriptor(allowedEntryValueElement);
+ ValueDescriptor allowedEntryValue = ValueFactoryManager.getInstance().loadValueDescriptor(allowedEntryValueElement);
valueDescriptor.addEntryDescriptor(new ParameterDescriptor(key, new ParameterMessage(description), allowedEntryValue));
}
return valueDescriptor;
1.2 +9 -3 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ValueFactory.java
Index: ValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ ValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -3,10 +3,16 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLStringWriter;
+
public interface ValueFactory {
public String getElementName();
- public Value loadValue(Element element);
+ public Class getValueClass();
+
+ public Value load(Element element);
+
+ public void save(Value value, XMLStringWriter writer);
- public ValueDescriptor loadValueDescriptor(Element element);
-}
+ public ValueDescriptor loadDescriptor(Element element);
+}
\ No newline at end of file
1.2 +14 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/URIValueFactory.java
Index: URIValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/URIValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- URIValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ URIValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -4,16 +4,28 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLEncode;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class URIValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return URIValue.class;
+ }
+
public String getElementName() {
return "uri";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
return new URIValue(element.getText());
}
+
+ public void save(Value value, XMLStringWriter writer) {
+ writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(((URIValue)value).toString()), XMLWriter.createEndTag(getElementName()));
+ }
- public ValueDescriptor loadValueDescriptor(Element element) {
+ public ValueDescriptor loadDescriptor(Element element) {
return new URIValueDescriptor();
}
}
1.2 +13 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/NumberValueFactory.java
Index: NumberValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/NumberValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- NumberValueFactory.java 3 Aug 2004 14:27:19 -0000 1.1
+++ NumberValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -8,18 +8,29 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLEncode;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
import de.zeigermann.xml.simpleImporter.ConversionHelpers;
public class NumberValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return NumberValue.class;
+ }
+
public String getElementName() {
return "number";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
return new NumberValue(new BigDecimal(element.getText()));
}
+
+ public void save(Value value, XMLStringWriter writer) {
+ writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(String.valueOf(((NumberValue)value).getNumber())), XMLWriter.createEndTag(getElementName()));
+ }
- public ValueDescriptor loadValueDescriptor(Element element) {
+ public ValueDescriptor loadDescriptor(Element element) {
NumberValueDescriptor valueDescriptor = new NumberValueDescriptor();
String mininum = element.getAttributeValue("minimum");
String maximum = element.getAttributeValue("maximum");
1.2 +16 -3 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/DateValueFactory.java
Index: DateValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/DateValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DateValueFactory.java 3 Aug 2004 14:27:18 -0000 1.1
+++ DateValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -6,16 +6,29 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLEncode;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class DateValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return DateValue.class;
+ }
+
public String getElementName() {
return "date";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
return new DateValue(new Date(Long.valueOf(element.getText()).longValue()));
}
-
- public ValueDescriptor loadValueDescriptor(Element element) {
+
+ public void save(Value value, XMLStringWriter writer) {
+ DateValue dateValue = (DateValue)value;
+ writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(dateValue.toString()), XMLWriter.createEndTag(getElementName()));
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
DateValueDescriptor valueDescriptor = new DateValueDescriptor();
String earliest = element.getAttributeValue("earliest");
String latest = element.getAttributeValue("latest");
1.2 +14 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/LocaleValueFactory.java
Index: LocaleValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/LocaleValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- LocaleValueFactory.java 3 Aug 2004 14:27:19 -0000 1.1
+++ LocaleValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -6,16 +6,28 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLEncode;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class LocaleValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return LocaleValue.class;
+ }
+
public String getElementName() {
return "locale";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
return new LocaleValue(new Locale(element.getText()));
}
- public ValueDescriptor loadValueDescriptor(Element element) {
+ public void save(Value value, XMLStringWriter writer) {
+ writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(((LocaleValue)value).getLocale().toString()), XMLWriter.createEndTag(getElementName()));
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
return new LocaleValueDescriptor();
}
}
1.2 +14 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/BooleanValueFactory.java
Index: BooleanValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/BooleanValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- BooleanValueFactory.java 3 Aug 2004 14:27:19 -0000 1.1
+++ BooleanValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -4,16 +4,28 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLEncode;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class BooleanValueFactory implements ValueFactory {
+ public Class getValueClass() {
+ return BooleanValue.class;
+ }
+
public String getElementName() {
return "boolean";
}
- public Value loadValue(Element element) {
+ public Value load(Element element) {
return new BooleanValue(Boolean.valueOf(element.getText()).booleanValue());
}
+
+ public void save(Value value, XMLStringWriter writer) {
+ writer.writeElementWithPCData(XMLWriter.createStartTag(getElementName()), XMLEncode.xmlEncodeText(String.valueOf(((BooleanValue)value).booleanValue())), XMLWriter.createEndTag(getElementName()));
+ }
- public ValueDescriptor loadValueDescriptor(Element element) {
+ public ValueDescriptor loadDescriptor(Element element) {
return new BooleanValueDescriptor();
}
}
1.2 +34 -5 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/AnyValueFactory.java
Index: AnyValueFactory.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/AnyValueFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AnyValueFactory.java 3 Aug 2004 14:27:19 -0000 1.1
+++ AnyValueFactory.java 4 Aug 2004 15:22:48 -0000 1.2
@@ -3,6 +3,7 @@
import java.util.Iterator;
import java.util.List;
+import org.apache.slide.projector.Store;
import org.apache.slide.projector.URI;
import org.apache.slide.projector.util.StoreHelper;
import org.apache.slide.projector.value.AnyValue;
@@ -10,12 +11,25 @@
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
+import de.zeigermann.xml.XMLStringWriter;
+import de.zeigermann.xml.XMLWriter;
+
public class AnyValueFactory implements ValueFactory {
+ private final static String PROCESSOR = "processor";
+ private final static String RESULT = "result";
+ private final static String STORE = "store";
+ private final static String KEY = "key";
+ private final static String DOMAIN = "domain";
+
+ public Class getValueClass() {
+ return AnyValue.class;
+ }
+
public String getElementName() {
return "value";
}
-
- public Value loadValue(Element element) {
+
+ public Value load(Element element) {
String processor = element.getAttributeValue("processor");
String result = element.getAttributeValue("result");
String store = element.getAttributeValue("store");
@@ -27,12 +41,27 @@
Value input = null;
if ( children.hasNext() ) {
Element childElement = (Element)children.next();
- input = ValueDescriptorManager.getInstance().loadValue(childElement);
+ input = ValueFactoryManager.getInstance().loadValue(childElement);
}
return new AnyValue(processor, input, result, storeId, key, domain);
}
-
- public ValueDescriptor loadValueDescriptor(Element element) {
+
+ public void save(Value value, XMLStringWriter writer) {
+ AnyValue anyValue = (AnyValue)value;
+ if ( anyValue.getProcessorUri() == null ) {
+ writer.writeEmptyElement(XMLWriter.createEmptyTag(getElementName(), new String[] { STORE, KEY, DOMAIN }, new String[] { Store.stores[anyValue.getStoreId()], anyValue.getKey(), anyValue.getDomain() }));
+ } else {
+ if ( anyValue.getInput() == null ) {
+ writer.writeStartTag(XMLWriter.createStartTag(getElementName(), new String[] { PROCESSOR, RESULT, STORE, KEY, DOMAIN }, new String[] { anyValue.getProcessorUri().toString(), anyValue.getResult(), Store.stores[anyValue.getStoreId()], anyValue.getKey(), anyValue.getDomain() }));
+ } else {
+ writer.writeStartTag(XMLWriter.createStartTag(getElementName(), new String[] { PROCESSOR, RESULT }, new String[] { anyValue.getProcessorUri().toString(), anyValue.getResult() }));
+ ValueFactoryManager.getInstance().saveValue(anyValue.getInput(), writer);
+ writer.writeEndTag(XMLWriter.createEndTag(getElementName()));
+ }
+ }
+ }
+
+ public ValueDescriptor loadDescriptor(Element element) {
AnyValueDescriptor valueDescriptor = new AnyValueDescriptor();
List allowedValueElements = element.getChildren("allowed-content-type");
for ( Iterator i = allowedValueElements.iterator(); i.hasNext(); ) {
1.1 jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ValueFactoryManager.java
Index: ValueFactoryManager.java
===================================================================
/*
* $Header: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/descriptor/ValueFactoryManager.java,v 1.1 2004/08/04 15:22:48 dflorey Exp $
* $Revision: 1.1 $
* $Date: 2004/08/04 15:22:48 $
*
* ====================================================================
*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.slide.projector.descriptor;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
import de.zeigermann.xml.XMLStringWriter;
/**
* The AdapterManager
*
*/
public class ValueFactoryManager {
private final static ValueFactoryManager valueDescriptorManager = new ValueFactoryManager();
private List registeredDescriptorFactories = new ArrayList();
public static ValueFactoryManager getInstance() {
return valueDescriptorManager;
}
public void registerDescriptorFactory(ValueFactory factory) {
registeredDescriptorFactories.add(factory);
}
public ValueDescriptor loadValueDescriptor(Element element) {
for ( Iterator i = registeredDescriptorFactories.iterator(); i.hasNext(); ) {
ValueFactory adapter = (ValueFactory)i.next();
if ( element.getName().equals(adapter.getElementName()) ) {
return adapter.loadDescriptor(element);
}
}
return null;
}
public Value loadValue(Element element) {
for ( Iterator i = registeredDescriptorFactories.iterator(); i.hasNext(); ) {
ValueFactory adapter = (ValueFactory)i.next();
if ( element.getName().equals(adapter.getElementName()) ) {
return adapter.load(element);
}
}
return null;
}
public void saveValue(Value value, XMLStringWriter xmlStringWriter) {
for ( Iterator i = registeredDescriptorFactories.iterator(); i.hasNext(); ) {
ValueFactory adapter = (ValueFactory)i.next();
if ( value.getClass().equals(adapter.getValueClass()) ) {
adapter.save(value, xmlStringWriter);
}
}
}
}
1.4 +3 -3 jakarta-slide/projector/src/java/org/apache/slide/projector/processor/core/CachedContent.java
Index: CachedContent.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/processor/core/CachedContent.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CachedContent.java 28 Jul 2004 09:48:15 -0000 1.3
+++ CachedContent.java 4 Aug 2004 15:22:49 -0000 1.4
@@ -57,8 +57,8 @@
context.getStore(Store.CACHE).put(uri.toString(), output);
// ...and add dispose condition
Map jobParameter = new HashMap();
- jobParameter.put(Dispose.STORE, Store.stores[Store.CACHE]);
- jobParameter.put(Dispose.KEY, uri.toString());
+ jobParameter.put(Dispose.STORE, new StringValue(Store.stores[Store.CACHE]));
+ jobParameter.put(Dispose.KEY, new StringValue(uri.toString()));
EventExpression expression = new EventExpression("Update");
expression.addProperty(EventExpression.DEPTH, "0");
expression.addProperty(EventExpression.URI, uri.toString());
1.4 +0 -1 jakarta-slide/projector/src/java/org/apache/slide/projector/processor/core/Thread.java
Index: Thread.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/processor/core/Thread.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Thread.java 3 Aug 2004 14:29:55 -0000 1.3
+++ Thread.java 4 Aug 2004 15:22:49 -0000 1.4
@@ -25,7 +25,6 @@
import org.apache.slide.projector.Processor;
import org.apache.slide.projector.Result;
import org.apache.slide.projector.URI;
-import org.apache.slide.projector.descriptor.AnyValueDescriptor;
import org.apache.slide.projector.descriptor.BooleanValueDescriptor;
import org.apache.slide.projector.descriptor.MapValueDescriptor;
import org.apache.slide.projector.descriptor.ParameterDescriptor;
1.5 +3 -4 jakarta-slide/projector/src/java/org/apache/slide/projector/processor/core/MapEntry.java
Index: MapEntry.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/processor/core/MapEntry.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MapEntry.java 3 Aug 2004 14:29:55 -0000 1.4
+++ MapEntry.java 4 Aug 2004 15:22:49 -0000 1.5
@@ -29,7 +29,6 @@
import org.apache.slide.projector.Context;
import org.apache.slide.projector.Processor;
import org.apache.slide.projector.Result;
-import org.apache.slide.projector.descriptor.AnyValueDescriptor;
import org.apache.slide.projector.descriptor.MapValueDescriptor;
import org.apache.slide.projector.descriptor.ParameterDescriptor;
import org.apache.slide.projector.descriptor.ResultDescriptor;
1.3 +0 -8 jakarta-slide/projector/src/java/org/apache/slide/projector/value/DateValue.java
Index: DateValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/DateValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DateValue.java 22 Jul 2004 12:09:26 -0000 1.2
+++ DateValue.java 4 Aug 2004 15:22:49 -0000 1.3
@@ -5,10 +5,6 @@
import java.io.InputStream;
import java.util.Date;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
-
public class DateValue extends ObjectValue {
public final static String CONTENT_TYPE = "application/projector-date";
@@ -30,9 +26,5 @@
public String getContentType() {
return CONTENT_TYPE;
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(toString()), XMLWriter.createEndTag("value"));
}
}
1.3 +0 -7 jakarta-slide/projector/src/java/org/apache/slide/projector/value/NumberValue.java
Index: NumberValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/NumberValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- NumberValue.java 3 Aug 2004 14:29:56 -0000 1.2
+++ NumberValue.java 4 Aug 2004 15:22:49 -0000 1.3
@@ -1,8 +1,5 @@
package org.apache.slide.projector.value;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
public class NumberValue implements PrintableValue {
private Number number;
@@ -19,10 +16,6 @@
public String getContentType() {
return CONTENT_TYPE;
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(String.valueOf(number)), XMLWriter.createEndTag("value"));
}
public StringBuffer print(StringBuffer buffer) {
1.3 +3 -24 jakarta-slide/projector/src/java/org/apache/slide/projector/value/ObjectValue.java
Index: ObjectValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/ObjectValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ObjectValue.java 22 Jul 2004 12:09:26 -0000 1.2
+++ ObjectValue.java 4 Aug 2004 15:22:49 -0000 1.3
@@ -1,13 +1,5 @@
package org.apache.slide.projector.value;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
public class ObjectValue implements Comparable, Value {
private Object object;
@@ -24,23 +16,10 @@
return object.getClass().getName();
}
- public void save(XMLStringWriter writer) {
- if ( object instanceof Value ) {
- ((Value)object).save(writer);
- } else if ( object instanceof Serializable ) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try {
- ObjectOutputStream outputStream = new ObjectOutputStream(out);
- outputStream.writeObject(object);
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(out.toString("UTF-8")), XMLWriter.createEndTag("value"));
- } catch ( IOException exception ) {
- writer.writeEmptyElement(XMLWriter.createEmptyTag("value"));
- }
- } else {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(object.toString()), XMLWriter.createEndTag("value"));
- }
+ public String toString() {
+ return object.toString();
}
-
+
public int compareTo(Object o) {
Object comparableObject = null;
if ( o instanceof ObjectValue ) {
1.3 +0 -8 jakarta-slide/projector/src/java/org/apache/slide/projector/value/URIValue.java
Index: URIValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/URIValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- URIValue.java 22 Jul 2004 12:09:26 -0000 1.2
+++ URIValue.java 4 Aug 2004 15:22:50 -0000 1.3
@@ -2,10 +2,6 @@
import org.apache.slide.projector.URI;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
-
public class URIValue extends StringValue implements URI {
public final static String CONTENT_TYPE = "uri";
@@ -32,9 +28,5 @@
public String getContentType() {
return CONTENT_TYPE;
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(toString()), XMLWriter.createEndTag("value"));
}
}
1.4 +0 -8 jakarta-slide/projector/src/java/org/apache/slide/projector/value/StringValue.java
Index: StringValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/StringValue.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StringValue.java 3 Aug 2004 14:29:57 -0000 1.3
+++ StringValue.java 4 Aug 2004 15:22:50 -0000 1.4
@@ -6,10 +6,6 @@
import org.apache.slide.projector.ContentType;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
-
public class StringValue extends ObjectValue implements StreamableValue, PrintableValue {
public static final StringValue EMPTY = new StringValue("");
@@ -59,9 +55,5 @@
public StringBuffer print(StringBuffer buffer) {
return buffer.append(getObject());
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(toString()), XMLWriter.createEndTag("value"));
}
}
1.3 +0 -8 jakarta-slide/projector/src/java/org/apache/slide/projector/value/LocaleValue.java
Index: LocaleValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/LocaleValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- LocaleValue.java 22 Jul 2004 12:09:26 -0000 1.2
+++ LocaleValue.java 4 Aug 2004 15:22:50 -0000 1.3
@@ -2,10 +2,6 @@
import java.util.Locale;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
-
public class LocaleValue implements Value {
private Locale locale;
@@ -21,9 +17,5 @@
public String getContentType() {
return CONTENT_TYPE;
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(locale.toString()), XMLWriter.createEndTag("value"));
}
}
1.3 +0 -4 jakarta-slide/projector/src/java/org/apache/slide/projector/value/Value.java
Index: Value.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/Value.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Value.java 3 Aug 2004 14:29:57 -0000 1.2
+++ Value.java 4 Aug 2004 15:22:50 -0000 1.3
@@ -1,9 +1,5 @@
package org.apache.slide.projector.value;
-import de.zeigermann.xml.XMLStringWriter;
-
public interface Value {
public String getContentType();
-
- public void save(XMLStringWriter writer);
}
1.2 +0 -10 jakarta-slide/projector/src/java/org/apache/slide/projector/value/ArrayValue.java
Index: ArrayValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/ArrayValue.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ArrayValue.java 19 Jul 2004 12:09:24 -0000 1.1
+++ ArrayValue.java 4 Aug 2004 15:22:50 -0000 1.2
@@ -1,7 +1,5 @@
package org.apache.slide.projector.value;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
public class ArrayValue implements Value {
private Value []array;
@@ -18,13 +16,5 @@
public String getContentType() {
return CONTENT_TYPE;
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeStartTag(XMLWriter.createStartTag("array"));
- for ( int i = 0; i < array.length; i++ ) {
- array[i].save(writer);
- }
- writer.writeEndTag(XMLWriter.createEndTag("array"));
}
}
1.2 +24 -4 jakarta-slide/projector/src/java/org/apache/slide/projector/value/AnyValue.java
Index: AnyValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/AnyValue.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AnyValue.java 3 Aug 2004 14:29:57 -0000 1.1
+++ AnyValue.java 4 Aug 2004 15:22:50 -0000 1.2
@@ -6,8 +6,6 @@
import org.apache.slide.projector.engine.ProcessorManager;
import org.apache.slide.projector.processor.process.Process;
-import de.zeigermann.xml.XMLStringWriter;
-
public class AnyValue implements Value {
public String CONTENT_TYPE = "projector/stored-value";
@@ -36,6 +34,30 @@
this.domain = domain;
}
+ public String getDomain() {
+ return domain;
+ }
+
+ public Value getInput() {
+ return input;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public URI getProcessorUri() {
+ return processorUri;
+ }
+
+ public String getResult() {
+ return result;
+ }
+
+ public int getStoreId() {
+ return storeId;
+ }
+
public Object load(Context context) throws Exception {
Object value = null;
if ( key != null ) {
@@ -68,6 +90,4 @@
return CONTENT_TYPE;
}
- public void save(XMLStringWriter writer) {
- }
}
1.3 +0 -7 jakarta-slide/projector/src/java/org/apache/slide/projector/value/BooleanValue.java
Index: BooleanValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/BooleanValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BooleanValue.java 3 Aug 2004 14:29:57 -0000 1.2
+++ BooleanValue.java 4 Aug 2004 15:22:50 -0000 1.3
@@ -1,8 +1,5 @@
package org.apache.slide.projector.value;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
public class BooleanValue implements PrintableValue {
public final static BooleanValue TRUE = new BooleanValue(true);
@@ -26,10 +23,6 @@
public String toString() {
return String.valueOf(booleanValue);
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(String.valueOf(booleanValue)), XMLWriter.createEndTag("value"));
}
public StringBuffer print(StringBuffer buffer) {
1.3 +10 -24 jakarta-slide/projector/src/java/org/apache/slide/projector/value/MessageValue.java
Index: MessageValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/MessageValue.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MessageValue.java 22 Jul 2004 12:09:26 -0000 1.2
+++ MessageValue.java 4 Aug 2004 15:22:50 -0000 1.3
@@ -5,32 +5,35 @@
import org.apache.slide.projector.i18n.MessageManager;
import org.apache.slide.projector.i18n.MessageNotFoundException;
-import de.zeigermann.xml.XMLEncode;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
-
public class MessageValue implements Value {
public final static String CONTENT_TYPE = "application/slide-message";
public final static String ID = "id";
public final static String ARGUMENTS = "arguments";
protected String id;
- protected Object[] arguments;
+ protected Value[] arguments;
public MessageValue(String messageId) {
this.id = messageId;
- this.arguments = new Object[0];
+ this.arguments = new Value[0];
}
public MessageValue(String messageId, Object[] arguments) {
this.id = messageId;
- this.arguments = arguments;
+ this.arguments = new Value[arguments.length];
+ for ( int i = 0; i < arguments.length; i++ ) {
+ this.arguments[i] = new ObjectValue(arguments[i]);
+ }
}
public String getId() {
return id;
}
+ public Value[] getArguments() {
+ return arguments;
+ }
+
public String getText(String key, Locale locale) throws MessageNotFoundException {
return MessageManager.getText(id, key, arguments, locale);
}
@@ -41,22 +44,5 @@
public String getContentType() {
return CONTENT_TYPE;
- }
-
- public void save(XMLStringWriter writer) {
- writer.writeStartTag(XMLWriter.createStartTag("map"));
- writer.writeStartTag(XMLWriter.createStartTag("entry", "key", ID));
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(id), XMLWriter.createEndTag("value"));
- writer.writeEndTag(XMLWriter.createEndTag("entry"));
- if ( arguments.length > 0 ) {
- writer.writeStartTag(XMLWriter.createStartTag("entry", "key", ARGUMENTS));
- writer.writeStartTag(XMLWriter.createStartTag("array"));
- for ( int i = 0; i < arguments.length; i++ ) {
- writer.writeElementWithPCData(XMLWriter.createStartTag("value"), XMLEncode.xmlEncodeText(arguments[i].toString()), XMLWriter.createEndTag("value"));
- }
- writer.writeEndTag(XMLWriter.createEndTag("array"));
- writer.writeEndTag(XMLWriter.createEndTag("entry"));
- }
- writer.writeEndTag(XMLWriter.createEndTag("map"));
}
}
1.4 +0 -17 jakarta-slide/projector/src/java/org/apache/slide/projector/value/MapValue.java
Index: MapValue.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/value/MapValue.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- MapValue.java 3 Aug 2004 14:29:57 -0000 1.3
+++ MapValue.java 4 Aug 2004 15:22:50 -0000 1.4
@@ -1,12 +1,8 @@
package org.apache.slide.projector.value;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.Map;
-import de.zeigermann.xml.XMLStringWriter;
-import de.zeigermann.xml.XMLWriter;
-
public class MapValue implements Value {
private Map map;
@@ -37,17 +33,4 @@
return CONTENT_TYPE;
}
-
- public void save(XMLStringWriter writer) {
- writer.writeStartTag(XMLWriter.createStartTag("map"));
- for ( Iterator i = map.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry entry = (Map.Entry)i.next();
- if ( entry.getValue() instanceof Value ) {
- writer.writeStartTag(XMLWriter.createStartTag("entry", "key", (String)entry.getKey()));
- ((Value)entry.getValue()).save(writer);
- writer.writeEndTag(XMLWriter.createEndTag("entry"));
- }
- }
- writer.writeEndTag(XMLWriter.createEndTag("map"));
- }
}
1.2 +13 -32 jakarta-slide/projector/src/java/org/apache/slide/projector/engine/Job.java
Index: Job.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/engine/Job.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Job.java 19 Jul 2004 12:09:23 -0000 1.1
+++ Job.java 4 Aug 2004 15:22:51 -0000 1.2
@@ -19,17 +19,17 @@
*/
package org.apache.slide.projector.engine;
-import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.slide.projector.Context;
-import org.apache.slide.projector.Processor;
import org.apache.slide.projector.SystemContext;
import org.apache.slide.projector.URI;
+import org.apache.slide.projector.descriptor.ValueFactoryManager;
import org.apache.slide.projector.expression.Expression;
+import org.apache.slide.projector.value.BooleanValue;
import org.apache.slide.projector.value.Value;
import de.zeigermann.xml.XMLStringWriter;
@@ -56,11 +56,10 @@
public void run() {
try {
- Processor processor = ProcessorManager.getInstance().getProcessor(getProcessorUri());
logger.log(Level.INFO, "Launching scheduled process '"+getProcessorUri()+"'");
Context context = new SystemContext();
Scheduler.setContext(context);
- processor.process(getParameters(), context);
+ ProcessorManager.getInstance().process(getProcessorUri(), getParameters(), context);
} catch ( Exception e ) {
logger.log(Level.SEVERE, "Scheduled process '"+getProcessorUri()+"' failed", e);
}
@@ -106,47 +105,29 @@
Map.Entry entry = (Map.Entry)i.next();
String key = (String)entry.getKey();
writer.writeStartTag(XMLWriter.createStartTag("entry", new String[][] { {"key", key } }));
- ((Value)entry.getValue()).save(writer);
+ ValueFactoryManager.getInstance().saveValue((Value)entry.getValue(), writer);
writer.writeEndTag(XMLWriter.createEndTag("entry"));
}
writer.writeEndTag(XMLWriter.createEndTag("map"));
writer.writeEndTag(XMLWriter.createEndTag("load"));
writer.writeStartTag(XMLWriter.createStartTag("load", "parameter", "condition"));
- writer.writeStartTag(XMLWriter.createStartTag("value"));
- try {
- writer.write("<![CDATA[");
- getInitialCondition().save(writer);
- writer.write("]]>");
- } catch ( IOException exception ) {
- // ignore
- }
- writer.writeEndTag(XMLWriter.createEndTag("value"));
+ writer.writeStartTag(XMLWriter.createStartTag("xml"));
+ getInitialCondition().save(writer);
+ writer.writeEndTag(XMLWriter.createEndTag("xml"));
writer.writeEndTag(XMLWriter.createEndTag("load"));
writer.writeStartTag(XMLWriter.createStartTag("load", "parameter", "remainingCondition"));
- writer.writeStartTag(XMLWriter.createStartTag("value"));
- try {
- writer.write("<![CDATA[");
- getRemainingCondition().save(writer);
- writer.write("]]>");
- } catch ( IOException exception ) {
- // ignore
- }
- writer.writeEndTag(XMLWriter.createEndTag("value"));
+ writer.writeStartTag(XMLWriter.createStartTag("xml"));
+ getRemainingCondition().save(writer);
+ writer.writeEndTag(XMLWriter.createEndTag("xml"));
writer.writeEndTag(XMLWriter.createEndTag("load"));
writer.writeStartTag(XMLWriter.createStartTag("load", "parameter", "repeat"));
- writer.writeStartTag(XMLWriter.createStartTag("value"));
- writer.writeCData(String.valueOf(repeat));
- writer.writeEndTag(XMLWriter.createEndTag("value"));
+ ValueFactoryManager.getInstance().saveValue(new BooleanValue(repeat), writer);
writer.writeEndTag(XMLWriter.createEndTag("load"));
writer.writeStartTag(XMLWriter.createStartTag("load", "parameter", "persistent"));
- writer.writeStartTag(XMLWriter.createStartTag("value"));
- writer.writeCData(String.valueOf(persistent));
- writer.writeEndTag(XMLWriter.createEndTag("value"));
+ ValueFactoryManager.getInstance().saveValue(new BooleanValue(persistent), writer);
writer.writeEndTag(XMLWriter.createEndTag("load"));
writer.writeStartTag(XMLWriter.createStartTag("load", "parameter", "processor"));
- writer.writeStartTag(XMLWriter.createStartTag("value"));
- writer.writeCData(getProcessorUri().toString());
- writer.writeEndTag(XMLWriter.createEndTag("value"));
+ ValueFactoryManager.getInstance().saveValue(getProcessorUri(), writer);
writer.writeEndTag(XMLWriter.createEndTag("load"));
writer.writeEndTag(XMLWriter.createEndTag("job"));
}
1.4 +2 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/processor/process/ParameterConfiguration.java
Index: ParameterConfiguration.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/processor/process/ParameterConfiguration.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ParameterConfiguration.java 3 Aug 2004 14:29:59 -0000 1.3
+++ ParameterConfiguration.java 4 Aug 2004 15:22:51 -0000 1.4
@@ -2,7 +2,7 @@
import java.util.logging.Logger;
-import org.apache.slide.projector.descriptor.ValueDescriptorManager;
+import org.apache.slide.projector.descriptor.ValueFactoryManager;
import org.apache.slide.projector.value.Value;
import org.jdom.Element;
@@ -21,7 +21,7 @@
}
public void configure(Element element) {
- this.value = ValueDescriptorManager.getInstance().loadValue(element);
+ this.value = ValueFactoryManager.getInstance().loadValue(element);
}
public Value getValue() {
1.4 +3 -3 jakarta-slide/projector/src/java/org/apache/slide/projector/processor/process/Process.java
Index: Process.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/processor/process/Process.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Process.java 3 Aug 2004 14:29:59 -0000 1.3
+++ Process.java 4 Aug 2004 15:22:51 -0000 1.4
@@ -29,7 +29,7 @@
import org.apache.slide.projector.descriptor.StringValueDescriptor;
import org.apache.slide.projector.descriptor.ValidationException;
import org.apache.slide.projector.descriptor.ValueDescriptor;
-import org.apache.slide.projector.descriptor.ValueDescriptorManager;
+import org.apache.slide.projector.descriptor.ValueFactoryManager;
import org.apache.slide.projector.engine.ProcessorManager;
import org.apache.slide.projector.i18n.DefaultMessage;
import org.apache.slide.projector.i18n.ErrorMessage;
@@ -82,7 +82,7 @@
}
parameterDescriptors.add(parameterDescriptor);
Element valueDescriptorElement = (Element)inputParameter.getChildren().iterator().next();
- ValueDescriptor valueDescriptor = ValueDescriptorManager.getInstance().loadValueDescriptor(valueDescriptorElement);
+ ValueDescriptor valueDescriptor = ValueFactoryManager.getInstance().loadValueDescriptor(valueDescriptorElement);
parameterDescriptor.setValueDescriptor(valueDescriptor);
}
this.parameterDescriptors = (ParameterDescriptor [])parameterDescriptors.toArray(new ParameterDescriptor[parameterDescriptors.size()]);
@@ -135,7 +135,7 @@
}
requiredEnvironment.add(environmentDescriptor);
Element valueDescriptorElement = (Element)requiredEnvironmentElement.getChildren().iterator().next();
- ValueDescriptor valueDescriptor = ValueDescriptorManager.getInstance().loadValueDescriptor(valueDescriptorElement);
+ ValueDescriptor valueDescriptor = ValueFactoryManager.getInstance().loadValueDescriptor(valueDescriptorElement);
environmentDescriptor.setValueDescriptor(valueDescriptor);
}
requiredEnvironmentDescriptors = (RequiredEnvironmentDescriptor [])requiredEnvironment.toArray(new RequiredEnvironmentDescriptor[requiredEnvironment.size()]);
1.5 +2 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/application/ApplicationManager.java
Index: ApplicationManager.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/application/ApplicationManager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ApplicationManager.java 3 Aug 2004 14:30:02 -0000 1.4
+++ ApplicationManager.java 4 Aug 2004 15:22:51 -0000 1.5
@@ -17,8 +17,8 @@
import org.apache.slide.projector.Projector;
import org.apache.slide.projector.SystemContext;
import org.apache.slide.projector.URI;
-import org.apache.slide.projector.descriptor.ValueDescriptorManager;
import org.apache.slide.projector.descriptor.ValueFactory;
+import org.apache.slide.projector.descriptor.ValueFactoryManager;
import org.apache.slide.projector.engine.ProcessorManager;
import org.apache.slide.projector.engine.ProjectorClassLoader;
import org.apache.slide.projector.engine.Scheduler;
@@ -311,7 +311,7 @@
String clazz = attributes.getValue("class");
try {
ValueFactory descriptorFactory = (ValueFactory)factoryClassLoader.loadClass(clazz).getConstructor(new Class[0]).newInstance(new Object[0]);
- ValueDescriptorManager.getInstance().registerDescriptorFactory(descriptorFactory);
+ ValueFactoryManager.getInstance().registerDescriptorFactory(descriptorFactory);
logger.log(Level.INFO, "Successfully registered descriptor factory " + clazz);
} catch (Exception e) {
logger.log(Level.SEVERE, "Descriptor factory " + clazz + " could not loaded!", e);
1.4 +2 -1 jakarta-slide/projector/src/java/org/apache/slide/projector/store/RepositoryStore.java
Index: RepositoryStore.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/store/RepositoryStore.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- RepositoryStore.java 3 Aug 2004 14:29:58 -0000 1.3
+++ RepositoryStore.java 4 Aug 2004 15:22:51 -0000 1.4
@@ -23,6 +23,7 @@
import org.apache.slide.projector.Context;
import org.apache.slide.projector.Projector;
+import org.apache.slide.projector.descriptor.ValueFactoryManager;
import org.apache.slide.projector.value.StreamableValue;
import org.apache.slide.projector.value.StringValue;
import org.apache.slide.projector.value.URIValue;
@@ -43,7 +44,7 @@
} else if ( value instanceof Value ) {
XMLStringWriter writer = XMLStringWriter.create();
writer.writeXMLDeclaration();
- ((Value)value).save(writer);
+ ValueFactoryManager.getInstance().saveValue((Value)value, writer);
Projector.getRepository().setResource(new URIValue(key), new StringValue(writer.toString()), context.getCredentials());
} else {
throw new IOException("Could not write value to repository! Given value is '"+value+"'");
1.5 +1 -2 jakarta-slide/projector/src/java/org/apache/slide/projector/processor/table/TablePager.java
Index: TablePager.java
===================================================================
RCS file: /home/cvs/jakarta-slide/projector/src/java/org/apache/slide/projector/processor/table/TablePager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TablePager.java 3 Aug 2004 14:29:59 -0000 1.4
+++ TablePager.java 4 Aug 2004 15:22:51 -0000 1.5
@@ -11,7 +11,6 @@
import org.apache.slide.projector.Context;
import org.apache.slide.projector.Result;
import org.apache.slide.projector.Store;
-import org.apache.slide.projector.descriptor.AnyValueDescriptor;
import org.apache.slide.projector.descriptor.BooleanValueDescriptor;
import org.apache.slide.projector.descriptor.MapValueDescriptor;
import org.apache.slide.projector.descriptor.NumberValueDescriptor;
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org