blob: aa00d09ddd201652e41f4b61aa4588fea5294144 [file] [log] [blame]
/*******************************************************************************
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.ofbiz.widget.model;
import org.apache.ofbiz.widget.model.AbstractModelAction.EntityAnd;
import org.apache.ofbiz.widget.model.AbstractModelAction.EntityCondition;
import org.apache.ofbiz.widget.model.AbstractModelAction.EntityOne;
import org.apache.ofbiz.widget.model.AbstractModelAction.GetRelated;
import org.apache.ofbiz.widget.model.AbstractModelAction.GetRelatedOne;
import org.apache.ofbiz.widget.model.AbstractModelAction.PropertyMap;
import org.apache.ofbiz.widget.model.AbstractModelAction.PropertyToField;
import org.apache.ofbiz.widget.model.AbstractModelAction.Script;
import org.apache.ofbiz.widget.model.AbstractModelAction.Service;
import org.apache.ofbiz.widget.model.AbstractModelAction.SetField;
import org.apache.ofbiz.widget.model.ModelFormAction.CallParentActions;
/**
* An object that generates XML from widget models.
* The generated XML is unformatted - if you want to
* "pretty print" the XML, then use a transformer.
*
*/
public class XmlWidgetActionVisitor extends XmlAbstractWidgetVisitor implements ModelActionVisitor {
public static final String module = XmlWidgetActionVisitor.class.getName();
public XmlWidgetActionVisitor(Appendable writer) {
super(writer);
}
@Override
public void visit(CallParentActions callParentActions) throws Exception {
writer.append("<call-parent-actions/>");
}
@Override
public void visit(EntityAnd entityAnd) throws Exception {
writer.append("<entity-and/>");
// TODO: Create ByAndFinder visitor
}
@Override
public void visit(org.apache.ofbiz.widget.model.ModelTreeAction.EntityAnd entityAnd) throws Exception {
writer.append("<entity-and/>");
// TODO: Create ByAndFinder visitor
}
@Override
public void visit(EntityCondition entityCondition) throws Exception {
writer.append("<entity-condition/>");
// TODO: Create ByConditionFinder visitor
}
@Override
public void visit(org.apache.ofbiz.widget.model.ModelTreeAction.EntityCondition entityCondition) throws Exception {
writer.append("<entity-condition/>");
// TODO: Create ByConditionFinder visitor
}
@Override
public void visit(EntityOne entityOne) throws Exception {
writer.append("<entity-one/>");
// TODO: Create PrimaryKeyFinder visitor
}
@Override
public void visit(GetRelated getRelated) throws Exception {
writer.append("<get-related");
visitAttribute("value-field", getRelated.getValueNameAcsr());
visitAttribute("list", getRelated.getListNameAcsr());
visitAttribute("relation-name", getRelated.getRelationName());
visitAttribute("map", getRelated.getMapAcsr());
visitAttribute("order-by-list", getRelated.getOrderByListAcsr());
visitAttribute("use-cache", getRelated.getUseCache());
writer.append("/>");
}
@Override
public void visit(GetRelatedOne getRelatedOne) throws Exception {
writer.append("<get-related-one");
visitAttribute("value-field", getRelatedOne.getValueNameAcsr());
visitAttribute("to-value-field", getRelatedOne.getToValueNameAcsr());
visitAttribute("relation-name", getRelatedOne.getRelationName());
visitAttribute("use-cache", getRelatedOne.getUseCache());
writer.append("/>");
}
@Override
public void visit(PropertyMap propertyMap) throws Exception {
writer.append("<property-map");
visitAttribute("resource", propertyMap.getResourceExdr());
visitAttribute("map-name", propertyMap.getMapNameAcsr());
visitAttribute("global", propertyMap.getGlobalExdr());
writer.append("/>");
}
@Override
public void visit(PropertyToField propertyToField) throws Exception {
writer.append("<property-map");
visitAttribute("resource", propertyToField.getResourceExdr());
visitAttribute("property", propertyToField.getPropertyExdr());
visitAttribute("field", propertyToField.getFieldAcsr());
visitAttribute("default", propertyToField.getDefaultExdr());
visitAttribute("no-locale", propertyToField.getNoLocale());
visitAttribute("arg-list-name", propertyToField.getArgListAcsr());
visitAttribute("global", propertyToField.getGlobalExdr());
writer.append("/>");
}
@Override
public void visit(Script script) throws Exception {
writer.append("<script");
visitAttribute("location", script.getLocation());
visitAttribute("method", script.getMethod());
writer.append("/>");
}
@Override
public void visit(org.apache.ofbiz.widget.model.ModelTreeAction.Script script) throws Exception {
writer.append("<script");
visitAttribute("location", script.getLocation());
visitAttribute("method", script.getMethod());
writer.append("/>");
}
@Override
public void visit(Service service) throws Exception {
writer.append("<service");
visitAttribute("service-name", service.getServiceNameExdr());
visitAttribute("result-map", service.getResultMapNameAcsr());
visitAttribute("auto-field-map", service.getAutoFieldMapExdr());
writer.append(">");
// TODO: Create Field Map visitor
writer.append("<field-map/>");
writer.append("</service>");
}
@Override
public void visit(org.apache.ofbiz.widget.model.ModelFormAction.Service service) throws Exception {
writer.append("<service");
visitAttribute("service-name", service.getServiceNameExdr());
visitAttribute("result-map", service.getResultMapNameAcsr());
visitAttribute("auto-field-map", service.getAutoFieldMapExdr());
visitAttribute("result-map-list", service.getResultMapListNameExdr());
visitAttribute("ignore-error", service.getIgnoreError());
writer.append(">");
// TODO: Create Field Map visitor
writer.append("<field-map/>");
writer.append("</service>");
}
@Override
public void visit(org.apache.ofbiz.widget.model.ModelTreeAction.Service service) throws Exception {
writer.append("<service");
visitAttribute("service-name", service.getServiceNameExdr());
visitAttribute("result-map", service.getResultMapNameAcsr());
visitAttribute("auto-field-map", service.getAutoFieldMapExdr());
visitAttribute("result-map-list", service.getResultMapListNameExdr());
visitAttribute("result-map-value", service.getResultMapValueNameExdr());
visitAttribute("value", service.getValueNameExdr());
writer.append(">");
// TODO: Create Field Map visitor
writer.append("<field-map/>");
writer.append("</service>");
}
@Override
public void visit(SetField setField) throws Exception {
writer.append("<set");
visitAttribute("field", setField.getField());
visitAttribute("from-field", setField.getFromField());
visitAttribute("value", setField.getValueExdr());
visitAttribute("default-value", setField.getDefaultExdr());
visitAttribute("global", setField.getGlobalExdr());
visitAttribute("type", setField.getType());
visitAttribute("to-scope", setField.getToScope());
visitAttribute("from-scope", setField.getFromScope());
writer.append("/>");
}
@Override
public void visit(org.apache.ofbiz.widget.model.ModelMenuAction.SetField setField) throws Exception {
writer.append("<set");
visitAttribute("field", setField.getField());
visitAttribute("from-field", setField.getFromField());
visitAttribute("value", setField.getValueExdr());
visitAttribute("default-value", setField.getDefaultExdr());
visitAttribute("global", setField.getGlobalExdr());
visitAttribute("type", setField.getType());
visitAttribute("to-scope", setField.getToScope());
visitAttribute("from-scope", setField.getFromScope());
writer.append("/>");
}
}