Author: DartPeng
Date: 2009-01-07 02:38:16 -0500 (Wed, 07 Jan 2009)
New Revision: 12914
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/Customer.java
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/DVDStoreTestCase.java
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderHeader.java
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderItem.java
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/SampleOrder.xml
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks.graph
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/One2ManyClassicTestCase.java
Removed:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-arrays.smooks.graph
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-sax.smooks.graph
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-update.smooks.graph
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks.graph
Modified:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/AbstractXML2JavaTestCase.java
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/ClassicX2JTestCase.java
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks
Log:
JBIDE-3479
add new x2j test cases and some x2j examples
Modified:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/AbstractXML2JavaTestCase.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/AbstractXML2JavaTestCase.java 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/AbstractXML2JavaTestCase.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -6,10 +6,16 @@
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import junit.framework.Assert;
+
import org.jboss.tools.smooks.analyzer.IMappingAnalyzer;
import org.jboss.tools.smooks.analyzer.ISourceModelAnalyzer;
import org.jboss.tools.smooks.analyzer.ITargetModelAnalyzer;
+import org.jboss.tools.smooks.analyzer.MappingModel;
import org.jboss.tools.smooks.analyzer.MappingResourceConfigList;
import org.jboss.tools.smooks.graphical.GraphInformations;
import org.jboss.tools.smooks.javabean.analyzer.JavaBeanAnalyzer;
@@ -17,6 +23,10 @@
import org.jboss.tools.smooks.model.SmooksResourceListType;
import org.jboss.tools.smooks.test.AbstractModelTestCase;
import org.jboss.tools.smooks.test.java2java.NormalJ2JConfigFileAnalyzerTester;
+import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
+import org.jboss.tools.smooks.xml.model.TagList;
+import org.jboss.tools.smooks.xml.model.TagObject;
+import org.jboss.tools.smooks.xml.model.TagPropertyObject;
import org.jboss.tools.smooks.xml2java.analyzer.XML2JavaAnalyzer;
import org.jboss.tools.smooks.xml2java.analyzer.XMLSourceModelAnalyzer;
@@ -163,5 +173,69 @@
protected ITargetModelAnalyzer newTargetModelAnalyzer() {
return new JavaBeanAnalyzer();
}
+
+ protected void checkTargetConnectionCount(
+ List<MappingModel> mappingModelList) throws Exception {
+ HashMap map = new HashMap();
+ for (Iterator iterator = mappingModelList.iterator(); iterator
+ .hasNext();) {
+ MappingModel mappingModel = (MappingModel) iterator.next();
+ String exsit = (String) map.get(mappingModel.getTarget());
+ if (exsit != null)
+ throw new Exception(
+ "Don't allow multiple connection have same target object");
+ map.put(mappingModel.getTarget(), "Exist");
+ }
+ }
+
+ public void checkXMLNodeModelValue(AbstractXMLObject tag) {
+ Assert.assertNotNull(tag.getName());
+ if (!(tag instanceof TagList))
+ Assert.assertNotNull(tag.getParent());
+ else
+ Assert.assertNull(tag.getParent());
+ if (tag instanceof TagObject) {
+ List<AbstractXMLObject> children = ((TagObject) tag).getChildren();
+ for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+ AbstractXMLObject abstractXMLObject = (AbstractXMLObject) iterator
+ .next();
+ checkXMLNodeModelValue(abstractXMLObject);
+ }
+ List<TagPropertyObject> properties = ((TagObject) tag)
+ .getProperties();
+ for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
+ TagPropertyObject tagPropertyObject = (TagPropertyObject) iterator
+ .next();
+ checkXMLNodeModelValue(tagPropertyObject);
+ }
+ }
+
+ if (tag instanceof TagList) {
+ List<TagObject> list = ((TagList) tag).getRootTagList();
+ for (Iterator iterator = list.iterator(); iterator.hasNext();) {
+ TagObject tagObject = (TagObject) iterator.next();
+ checkXMLNodeModelValue(tagObject);
+ }
+ }
+
+ }
+
+ protected TagObject findTag(TagObject tag, String name) {
+ if (name.equalsIgnoreCase(tag.getName())) {
+ return tag;
+ }
+ List list = tag.getChildren();
+ for (Iterator iterator = list.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof TagObject) {
+ TagObject child = findTag((TagObject) object, name);
+ if (child != null)
+ return child;
+ }
+ }
+ return null;
+ }
+
+
}
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/Customer.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/Customer.java
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/Customer.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.tools.smooks.test.xml2java.dvdstore;
+
+import java.io.Serializable;
+
+/**
+ * @author <a
href="mailto:tom.fennelly@jboss.com">tom.fennelly@jboss.com</a>
+ */
+public class Customer implements Serializable {
+
+ // <Customer userName="user1" firstName="Harry"
lastName="Potter" state="SD"/>
+ private String userName;
+ private String firstName;
+ private String lastName;
+ private String state;
+
+ /**
+ * @return Returns the firstName.
+ */
+ public String getFirstName() {
+ return firstName;
+ }
+ /**
+ * @param firstName The firstName to set.
+ */
+ public void setFirstName(String firstName) {
+ //System.out.println("**** firstName: " + firstName);
+ this.firstName = firstName;
+ }
+ /**
+ * @return Returns the lastName.
+ */
+ public String getLastName() {
+ return lastName;
+ }
+ /**
+ * @param lastName The lastName to set.
+ */
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+ /**
+ * @return Returns the state.
+ */
+ public String getState() {
+ return state;
+ }
+ /**
+ * @param state The state to set.
+ */
+ public void setState(String state) {
+ this.state = state;
+ }
+ /**
+ * @return Returns the userName.
+ */
+ public String getUserName() {
+ return userName;
+ }
+ /**
+ * @param userName The userName to set.
+ */
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return userName + "," + firstName + "," + lastName + ","
+ state;
+ }
+
+
+}
Property changes on:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/Customer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/DVDStoreTestCase.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/DVDStoreTestCase.java
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/DVDStoreTestCase.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,53 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.test.xml2java.dvdstore;
+
+import java.util.List;
+
+import junit.framework.Assert;
+
+import org.jboss.tools.smooks.analyzer.MappingModel;
+import org.jboss.tools.smooks.analyzer.MappingResourceConfigList;
+import org.jboss.tools.smooks.test.xml2java.AbstractXML2JavaTestCase;
+import org.jboss.tools.smooks.xml.model.TagList;
+
+/**
+ * @author Dart
+ *
+ */
+public class DVDStoreTestCase extends AbstractXML2JavaTestCase{
+
+ @Override
+ protected String getSmooksConfigFilePath() {
+ return "org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks";
+ }
+
+ @Override
+ protected String getSmooksConfigGraphFilePath() {
+ return
"org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks.graph";
+ }
+
+ public void testGraph() throws Exception{
+ MappingResourceConfigList mappingResourceConfigList = getMappingResourceConfigList();
+ List<MappingModel> mappingModelList =
mappingResourceConfigList.getMappingModelList();
+ checkTargetConnectionCount(mappingModelList);
+
+ // there are 18 connections :
+ Assert.assertEquals(18, mappingModelList.size());
+ }
+
+ public void testTransformModel(){
+ TagList source = (TagList)getSource();
+ List targetList = (List)getTarget();
+ // there is only one model
+ Assert.assertEquals(1, source.getRootTagList().size());
+
+ // check xml model value
+ checkXMLNodeModelValue(source);
+
+ // there are 3 target models:
+ Assert.assertEquals(3, targetList.size());
+ }
+
+}
Property changes on:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/DVDStoreTestCase.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderHeader.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderHeader.java
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderHeader.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,123 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.tools.smooks.test.xml2java.dvdstore;
+
+import java.util.Calendar;
+import java.text.SimpleDateFormat;
+import java.io.Serializable;
+
+/**
+ * @author <a
href="mailto:tom.fennelly@jboss.com">tom.fennelly@jboss.com</a>
+ */
+public class OrderHeader implements Serializable {
+
+ // <Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006"
statusCode="0" netAmount="59.97" totalAmount="64.92"
tax="4.95">
+ private String orderId;
+ private Calendar orderDate;
+ private int statusCode;
+ private double netAmount;
+ private double totalAmount;
+ private double tax;
+
+ /**
+ * @return Returns the netAmount.
+ */
+ public double getNetAmount() {
+ return netAmount;
+ }
+ /**
+ * @param netAmount The netAmount to set.
+ */
+ public void setNetAmount(double netAmount) {
+ this.netAmount = netAmount;
+ }
+ /**
+ * @return Returns the orderDate.
+ */
+ public Calendar getOrderDate() {
+ return orderDate;
+ }
+ /**
+ * @param orderDate The orderDate to set.
+ */
+ public void setOrderDate(Calendar orderDate) {
+ this.orderDate = orderDate;
+ }
+ /**
+ * @return Returns the orderId.
+ */
+ public String getOrderId() {
+ return orderId;
+ }
+ /**
+ * @param orderId The orderId to set.
+ */
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+ /**
+ * @return Returns the statusCode.
+ */
+ public int getStatusCode() {
+ return statusCode;
+ }
+ /**
+ * @param statusCode The statusCode to set.
+ */
+ public void setStatusCode(int statusCode) {
+ this.statusCode = statusCode;
+ }
+ /**
+ * @return Returns the tax.
+ */
+ public double getTax() {
+ return tax;
+ }
+ /**
+ * @param tax The tax to set.
+ */
+ public void setTax(double tax) {
+ this.tax = tax;
+ }
+ /**
+ * @return Returns the totalAmount.
+ */
+ public double getTotalAmount() {
+ return totalAmount;
+ }
+ /**
+ * @param totalAmount The totalAmount to set.
+ */
+ public void setTotalAmount(double totalAmount) {
+ this.totalAmount = totalAmount;
+ }
+
+ private SimpleDateFormat dateFormat = new SimpleDateFormat("d-MMM-yyyy");
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return orderId + ", " + (orderDate ==
null?null:dateFormat.format(orderDate.getTime())) + ", " + statusCode + ",
" + netAmount + ", " + totalAmount + ", " + tax + ",
";
+ }
+}
Property changes on:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderHeader.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderItem.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderItem.java
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderItem.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author JBoss Inc.
+ */
+
+package org.jboss.tools.smooks.test.xml2java.dvdstore;
+import java.io.Serializable;
+
+/**
+ * @author <a
href="mailto:tom.fennelly@jboss.com">tom.fennelly@jboss.com</a>
+ */
+public class OrderItem implements Serializable {
+
+ // <OrderLine position="1" quantity="1">
+ // <Product productId="364" title="The 40-Year-Old Virgin "
price="29.98"/>
+ // </OrderLine>
+ private int position;
+ private int quantity;
+ private String productId;
+ private String title;
+ private double price;
+
+ /**
+ * @return Returns the position.
+ */
+ public int getPosition() {
+ return position;
+ }
+ /**
+ * @param position The position to set.
+ */
+ public void setPosition(int position) {
+ //System.out.println("**** position: " + position);
+ this.position = position;
+ }
+ /**
+ * @return Returns the price.
+ */
+ public double getPrice() {
+ return price;
+ }
+ /**
+ * @param price The price to set.
+ */
+ public void setPrice(double price) {
+ //System.out.println("**** price: " + price);
+ this.price = price;
+ }
+ /**
+ * @return Returns the productId.
+ */
+ public String getProductId() {
+ return productId;
+ }
+ /**
+ * @param productId The productId to set.
+ */
+ public void setProductId(String productId) {
+ this.productId = productId;
+ }
+ /**
+ * @return Returns the quantity.
+ */
+ public int getQuantity() {
+ return quantity;
+ }
+ /**
+ * @param quantity The quantity to set.
+ */
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
+ }
+ /**
+ * @return Returns the title.
+ */
+ public String getTitle() {
+ return title;
+ }
+ /**
+ * @param title The title to set.
+ */
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return position + "," + quantity + "," + productId + ","
+ title + "," + price;
+
+ }
+}
Property changes on:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/OrderItem.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/SampleOrder.xml
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/SampleOrder.xml
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/SampleOrder.xml 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,11 @@
+<Order orderId="1" orderDate="Wed Nov 15 13:45:28 EST 2006"
statusCode="0" netAmount="59.97" totalAmount="64.92"
tax="4.95">
+ <Customer userName="user1" firstName="Harry"
lastName="Fletcher" state="SD"/>
+ <OrderLines>
+ <OrderLine position="1" quantity="1">
+ <Product productId="364" title="The 40-Year-Old Virgin "
price="29.98"/>
+ </OrderLine>
+ <OrderLine position="2" quantity="1">
+ <Product productId="299" title="Pulp Fiction"
price="29.99"/>
+ </OrderLine>
+ </OrderLines>
+</Order>
Property changes on:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/SampleOrder.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<smooks-resource-list
xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+ <resource-config selector="decoder:LongDate">
+ <resource>org.milyn.javabean.decoders.DateDecoder
+ </resource>
+ <param name="format">EEE MMM dd HH:mm:ss z yyyy</param>
+ <param name="locale-country"></param>
+ <param name="locale-language"></param>
+ </resource-config>
+ <resource-config selector="Order">
+ <resource>org.milyn.javabean.BeanPopulator
+ </resource>
+ <param name="beanId">OrderHeader</param>
+ <param
name="beanClass">org.jboss.tools.smooks.test.xml2java.dvdstore.OrderHeader
+ </param>
+ <param name="bindings">
+ <binding property="netAmount" selector="Order @netAmount"
+ type="Double" />
+ <binding property="orderDate" selector="Order @orderDate"
+ type="LongDate" />
+ <binding property="orderId" selector="Order @orderId" />
+ <binding property="statusCode" selector="Order @statusCode"
+ type="Integer" />
+ <binding property="tax" selector="Order @tax"
type="Double" />
+ <binding property="totalAmount" selector="Order @totalAmount"
+ type="Double" />
+ </param>
+ </resource-config>
+ <resource-config selector="Order Customer">
+ <resource>org.milyn.javabean.BeanPopulator
+ </resource>
+ <param name="beanId">Customer</param>
+ <param
name="beanClass">org.jboss.tools.smooks.test.xml2java.dvdstore.Customer
+ </param>
+ <param name="bindings">
+ <binding property="firstName" selector="Order Customer
@firstName" />
+ <binding property="lastName" selector="Order Customer
@lastName" />
+ <binding property="state" selector="Order Customer @state"
/>
+ <binding property="userName" selector="Order Customer
@userName" />
+ </param>
+ </resource-config>
+ <resource-config selector="Order OrderLines OrderLine">
+ <resource>org.milyn.javabean.BeanPopulator
+ </resource>
+ <param name="beanId">OrderItem</param>
+ <param
name="beanClass">org.jboss.tools.smooks.test.xml2java.dvdstore.OrderItem
+ </param>
+ <param name="bindings">
+ <binding property="position" selector="Order OrderLines OrderLine
@position"
+ type="Integer" />
+ <binding property="price" selector="Order OrderLines OrderLine
Product @price"
+ type="Double" />
+ <binding property="productId"
+ selector="Order OrderLines OrderLine Product @productId" />
+ <binding property="quantity" selector="Order OrderLines OrderLine
@quantity"
+ type="Integer" />
+ <binding property="title" selector="Order OrderLines OrderLine
Product @title" />
+ </param>
+ </resource-config>
+ <resource-config selector="global-parameters">
+ <param name="stream.filter.type">SAX</param>
+ </resource-config>
+ <resource-config selector="aaaa">
+ <resource type=""></resource>
+ </resource-config>
+</smooks-resource-list>
\ No newline at end of file
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks.graph
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks.graph
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/dvdstore/smooks-res.smooks.graph 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<GraphInformations
xmlns="http://www.jboss.org/tools/smooks/graphicalInformation">
+ <mappingType
targetTypeID="org.jboss.tools.smooks.ui.viewerInitor.javabean"
sourceTypeID="org.jboss.tools.smooks.xml.viewerInitor.xml"/>
+ <params>
+ <param name="sourceDataPath"
value="File://org/jboss/tools/smooks/test/xml2java/dvdstore/SampleOrder.xml"/>
+ </params>
+</GraphInformations>
Modified:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/ClassicX2JTestCase.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/ClassicX2JTestCase.java 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/ClassicX2JTestCase.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -3,7 +3,6 @@
*/
package org.jboss.tools.smooks.test.xml2java.order;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -15,7 +14,6 @@
import org.jboss.tools.smooks.xml.model.AbstractXMLObject;
import org.jboss.tools.smooks.xml.model.TagList;
import org.jboss.tools.smooks.xml.model.TagObject;
-import org.jboss.tools.smooks.xml.model.TagPropertyObject;
/**
* @author Dart
@@ -58,20 +56,6 @@
checkTargetConnectionCount(mappingModelList);
}
- protected void checkTargetConnectionCount(
- List<MappingModel> mappingModelList) throws Exception {
- HashMap map = new HashMap();
- for (Iterator iterator = mappingModelList.iterator(); iterator
- .hasNext();) {
- MappingModel mappingModel = (MappingModel) iterator.next();
- String exsit = (String) map.get(mappingModel.getTarget());
- if (exsit != null)
- throw new Exception(
- "Don't allow multiple connection have same target object");
- map.put(mappingModel.getTarget(), "Exist");
- }
- }
-
public void testSourceModel() {
TagList source = (TagList) getSource();
// check model value
@@ -91,55 +75,6 @@
Assert.assertEquals("http://y", dateTag.getNamespaceURL());
}
- public void checkXMLNodeModelValue(AbstractXMLObject tag) {
- Assert.assertNotNull(tag.getName());
- if (!(tag instanceof TagList))
- Assert.assertNotNull(tag.getParent());
- else
- Assert.assertNull(tag.getParent());
- if (tag instanceof TagObject) {
- List<AbstractXMLObject> children = ((TagObject) tag).getChildren();
- for (Iterator iterator = children.iterator(); iterator.hasNext();) {
- AbstractXMLObject abstractXMLObject = (AbstractXMLObject) iterator
- .next();
- checkXMLNodeModelValue(abstractXMLObject);
- }
-
- List<TagPropertyObject> properties = ((TagObject) tag)
- .getProperties();
- for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
- TagPropertyObject tagPropertyObject = (TagPropertyObject) iterator
- .next();
- checkXMLNodeModelValue(tagPropertyObject);
- }
- }
-
- if (tag instanceof TagList) {
- List<TagObject> list = ((TagList) tag).getRootTagList();
- for (Iterator iterator = list.iterator(); iterator.hasNext();) {
- TagObject tagObject = (TagObject) iterator.next();
- checkXMLNodeModelValue(tagObject);
- }
- }
-
- }
-
- protected TagObject findTag(TagObject tag, String name) {
- if (name.equalsIgnoreCase(tag.getName())) {
- return tag;
- }
- List list = tag.getChildren();
- for (Iterator iterator = list.iterator(); iterator.hasNext();) {
- Object object = (Object) iterator.next();
- if (object instanceof TagObject) {
- TagObject child = findTag((TagObject) object, name);
- if (child != null)
- return child;
- }
- }
- return null;
- }
-
protected void checkTagURL(TagObject tag, String[] ignoreTagName,
String equalsUrl) {
for (int i = 0; i < ignoreTagName.length; i++) {
Added:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/One2ManyClassicTestCase.java
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/One2ManyClassicTestCase.java
(rev 0)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/One2ManyClassicTestCase.java 2009-01-07
07:38:16 UTC (rev 12914)
@@ -0,0 +1,56 @@
+/**
+ *
+ */
+package org.jboss.tools.smooks.test.xml2java.order;
+
+import java.util.List;
+
+import junit.framework.Assert;
+
+import org.jboss.tools.smooks.analyzer.MappingModel;
+import org.jboss.tools.smooks.analyzer.MappingResourceConfigList;
+import org.jboss.tools.smooks.model.ResourceConfigType;
+import org.jboss.tools.smooks.xml.model.TagList;
+import org.jboss.tools.smooks.xml.model.TagObject;
+
+
+/**
+ * @author Dart
+ *
+ */
+public class One2ManyClassicTestCase extends ClassicX2JTestCase {
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.smooks.test.xml2java.AbstractXML2JavaTestCase#getSmooksConfigFilePath()
+ */
+ @Override
+ protected String getSmooksConfigFilePath() {
+ return
"org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks";
+ }
+
+ @Override
+ public void testGraph() throws Exception {
+ MappingResourceConfigList mappingConfigList = getMappingResourceConfigList();
+ List<ResourceConfigType> renderingConfigList =
mappingConfigList.getGraphRenderResourceConfigList();
+ List<MappingModel> mappingModelList = mappingConfigList.getMappingModelList();
+ // there are 4 resource config for rendering
+ Assert.assertEquals(4, renderingConfigList.size());
+ // there are 13 connections here
+ Assert.assertEquals(13, mappingModelList.size());
+
+ checkTargetConnectionCount(mappingModelList);
+ }
+
+ @Override
+ public void testSourceModel() {
+ TagList source = (TagList) getSource();
+ // check model value
+ checkXMLNodeModelValue(source);
+
+ List<TagObject> tagList = source.getRootTagList();
+ // there is only one tag object
+ Assert.assertEquals(1, tagList.size());
+ }
+
+
+}
Property changes on:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/One2ManyClassicTestCase.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-arrays.smooks.graph
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-arrays.smooks.graph 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-arrays.smooks.graph 2009-01-07
07:38:16 UTC (rev 12914)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<GraphInformations
xmlns="http://www.jboss.org/tools/smooks/graphicalInformation">
- <mappingType
targetTypeID="org.jboss.tools.smooks.ui.viewerInitor.javabean"
sourceTypeID="org.jboss.tools.smooks.xml.viewerInitor.xml"/>
- <params>
- <param name="sourceDataPath"
value="Workspace://smooks_example_project/src_xml2java/example/order/order-01.xml"/>
- </params>
-</GraphInformations>
Deleted:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-sax.smooks.graph
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-sax.smooks.graph 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-sax.smooks.graph 2009-01-07
07:38:16 UTC (rev 12914)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<GraphInformations
xmlns="http://www.jboss.org/tools/smooks/graphicalInformation">
- <mappingType
targetTypeID="org.jboss.tools.smooks.ui.viewerInitor.javabean"
sourceTypeID="org.jboss.tools.smooks.xml.viewerInitor.xml"/>
- <params>
- <param name="sourceDataPath"
value="Workspace://smooks_example_project/src_xml2java/example/order/order-01.xml"/>
- </params>
-</GraphInformations>
Deleted:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-update.smooks.graph
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-update.smooks.graph 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config-update.smooks.graph 2009-01-07
07:38:16 UTC (rev 12914)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<GraphInformations
xmlns="http://www.jboss.org/tools/smooks/graphicalInformation">
- <mappingType
targetTypeID="org.jboss.tools.smooks.ui.viewerInitor.javabean"
sourceTypeID="org.jboss.tools.smooks.xml.viewerInitor.xml"/>
- <params>
- <param name="sourceDataPath"
value="Workspace://smooks_example_project/src_xml2java/example/order/order-01.xml"/>
- </params>
-</GraphInformations>
Modified:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks 2009-01-07
07:38:16 UTC (rev 12914)
@@ -10,13 +10,13 @@
<resource-config selector="order">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">Order</param>
- <param name="beanClass">example.order.Order</param>
+ <param
name="beanClass">org.jboss.tools.smooks.test.xml2java.order.Order</param>
<param name="bindings"><binding property="header"
selector="${header}" selector-namespace="http://x"/><binding
property="orderItems" selector="${orderItems}"/></param>
</resource-config>
<resource-config selector="header"
selector-namespace="http://x">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">header</param>
- <param name="beanClass">example.order.Header</param>
+ <param
name="beanClass">org.jboss.tools.smooks.test.xml2java.order.Header</param>
<param name="bindings"><binding property="customerName"
selector="header customer"/><binding property="customerNumber"
selector="header customer @number" type="Long"/><binding
property="date" selector="header date" type="OrderDateLong"
selector-namespace="http://y"/><binding property="order"
selector="${order}"/><binding property="privatePerson"
selector="header privatePerson" type="Boolean"
default="true"/></param>
</resource-config>
<resource-config selector="order">
@@ -28,7 +28,7 @@
<resource-config selector="order-item">
<resource>org.milyn.javabean.BeanPopulator</resource>
<param name="beanId">OrderItem</param>
- <param name="beanClass">example.order.OrderItem</param>
+ <param
name="beanClass">org.jboss.tools.smooks.test.xml2java.order.OrderItem</param>
<param name="bindings"><binding property="order"
selector="${order}"/><binding property="price"
selector="order-item price" type="Double"/><binding
property="productId" selector="order-item product"
type="Long"/><binding property="quantity"
selector="order-item quantity" type="Integer"/></param>
</resource-config>
<resource-config selector="global-parameters">
Deleted:
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks.graph
===================================================================
---
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks.graph 2009-01-07
01:04:11 UTC (rev 12913)
+++
trunk/smooks/tests/org.jboss.tools.smooks.test/src/org/jboss/tools/smooks/test/xml2java/order/order-01-smooks-config.smooks.graph 2009-01-07
07:38:16 UTC (rev 12914)
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<GraphInformations
xmlns="http://www.jboss.org/tools/smooks/graphicalInformation">
- <mappingType
targetTypeID="org.jboss.tools.smooks.ui.viewerInitor.javabean"
sourceTypeID="org.jboss.tools.smooks.xml.viewerInitor.xml"/>
- <params>
- <param name="sourceDataPath"
value="Workspace://smooks_example_project/src_xml2java/example/order/order-01.xml"/>
- </params>
-</GraphInformations>