Made first crude writing impl for x4o.

This commit is contained in:
Willem Cazander 2013-04-08 08:34:51 +02:00
parent b4225f6b0c
commit 179c0f3bfe
63 changed files with 2096 additions and 1695 deletions

View file

@ -54,8 +54,8 @@ public class ELIDAttributeHandler extends AbstractElementAttributeHandler {
return;
}
if(element.getElementObject()==null) { throw new NullPointerException("Can't bind null object to el context"); }
ValueExpression ee = element.getElementLanguage().getExpressionLanguageFactory().createValueExpression(element.getElementLanguage().getExpressionLanguageContext(),"${"+attributeValue+"}", element.getElementObject().getClass());
ValueExpression ee = element.getLanguageContext().getExpressionLanguageFactory().createValueExpression(element.getLanguageContext().getExpressionLanguageContext(),"${"+attributeValue+"}", element.getElementObject().getClass());
Logger.getLogger(ELIDAttributeHandler.class.getName()).finer("Set Variable in ELContext: "+"${"+attributeValue+"}"+" object SET: "+element.getElementObject());
ee.setValue(element.getElementLanguage().getExpressionLanguageContext(), element.getElementObject());
ee.setValue(element.getLanguageContext().getExpressionLanguageContext(), element.getElementObject());
}
}

View file

@ -44,8 +44,8 @@ public class ELReferenceElement extends AbstractElement {
public void doElementRun() throws ElementException {
String attributeValue = getAttributes().get("el.ref");
if("".equals(attributeValue) | attributeValue==null) { throw new ElementException("Set the el.ref attribute"); }
ValueExpression ee = getElementLanguage().getExpressionLanguageFactory().createValueExpression(getElementLanguage().getExpressionLanguageContext(),"${"+attributeValue+"}",Object.class);
ValueExpression ee = getLanguageContext().getExpressionLanguageFactory().createValueExpression(getLanguageContext().getExpressionLanguageContext(),"${"+attributeValue+"}",Object.class);
Logger.getLogger(ELReferenceElement.class.getName()).finer("Get Variable in ELContext: ${"+attributeValue+"}");
setElementObject(ee.getValue(getElementLanguage().getExpressionLanguageContext()));
setElementObject(ee.getValue(getLanguageContext().getExpressionLanguageContext()));
}
}

View file

@ -65,7 +65,7 @@ public class PropertyElement extends AbstractElement {
// convert value object
try {
value = getElementLanguage().getElementAttributeValueParser().getParameterValue(name,valueString,this);
value = getLanguageContext().getElementAttributeValueParser().getParameterValue(name,valueString,this);
} catch (ObjectConverterException ece) {
throw new ElementException(ece);
}
@ -102,7 +102,7 @@ public class PropertyElement extends AbstractElement {
// try to set as property on bean.
try {
getElementLanguage().getElementObjectPropertyValue().setProperty(getParent().getElementObject(), name, value);
getLanguageContext().getElementObjectPropertyValue().setProperty(getParent().getElementObject(), name, value);
return;
} catch (Exception e) {
throw new ElementException("Could not set property on parent element object: "+name,e);

View file

@ -27,10 +27,6 @@ import org.x4o.xml.X4ODriver;
import org.x4o.xml.X4ODriverManager;
import org.x4o.xml.io.X4OReaderContext;
import org.x4o.xml.io.X4OWriterContext;
import org.x4o.xml.lang.DefaultX4OLanguage;
import org.x4o.xml.lang.DefaultX4OLanguageConfiguration;
import org.x4o.xml.lang.X4OLanguage;
import org.x4o.xml.lang.phase.X4OPhaseManagerFactory;
public class MTestDriver extends X4ODriver {
@ -47,11 +43,6 @@ public class MTestDriver extends X4ODriver {
return LANGUAGE_VERSIONS;
}
@Override
public X4OLanguage buildLanguage(String version) {
return new DefaultX4OLanguage(new DefaultX4OLanguageConfiguration(),X4OPhaseManagerFactory.createDefaultX4OPhaseManager(),getLanguageName(),getLanguageVersionDefault());
}
static public MTestDriver getInstance() {
return (MTestDriver)X4ODriverManager.getX4ODriver(LANGUAGE_NAME);
}