package org.geosdi.geoplatform.jaxb.pool;
import org.geosdi.geoplatform.jaxb.IGPJAXBContextBuilder;
import org.geosdi.geoplatform.jaxb.model.AttributeStore;
import org.geosdi.geoplatform.jaxb.model.Car;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.StringReader;
import java.io.StringWriter;
import static org.geosdi.geoplatform.jaxb.GPJAXBContextBuilderTest.createAttributes;
import static org.geosdi.geoplatform.jaxb.GPJAXBContextBuilderTest.createCarParts;
/**
* @author Giuseppe La Scaleia - CNR IMAA geoSDI Group
* @email giuseppe.lascaleia@geosdi.org
*/
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class GPJAXBContextBuilderPoolTest {
private static final Logger logger = LoggerFactory.getLogger(GPJAXBContextBuilderPoolTest.class);
//
private final static IGPJAXBContextBuilder GP_JAXB_CONTEXT_BUILDER_POOL = GPJAXBContextBuilderPool.jaxbContextBuilderPool();
@Test
public void a_writeCarAsStringPoolTest() throws Exception {
Car car = new Car();
car.setModel("AUDI A4");
car.setPlat("yht6656");
car.setCarParts(createCarParts(25));
StringWriter writer = new StringWriter();
GP_JAXB_CONTEXT_BUILDER_POOL.marshal(car, writer);
logger.info("###########################MARSHALL_CAR_AS_STRING : \n{}\n", writer.toString());
}
@Test
public void b_writeCarAsFilePoolTest() throws Exception {
Car car = new Car();
car.setModel("MERCEDES BENZ");
car.setPlat("yht6656");
car.setCarParts(createCarParts(50));
GP_JAXB_CONTEXT_BUILDER_POOL.marshal(car, new File("./target/CarPool.xml"));
}
@Test
public void c_readCarFromFilePoolTest() throws Exception {
logger.info("###########################UNMARSHALL_CAR_FROM_FILE : {}\n", GP_JAXB_CONTEXT_BUILDER_POOL
.unmarshal(new File("./src/test/resources/Car.xml"), Car.class));
}
@Test
public void d_readCarFromStringPoolTest() throws Exception {
logger.info("@@@@@@@@@@@@@@@@@@@@@@@@UNMARSHALL_CAR_FROM_STRING : {}\n", GP_JAXB_CONTEXT_BUILDER_POOL
.unmarshal(new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
"<Car>\n" +
" <plat>yht6656</plat>\n" +
" <model>FIAT PUNTO</model>\n" +
" <carParts>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_0</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_1</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_2</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_3</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_4</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_5</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_6</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_7</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_8</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_9</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_10</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_11</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_12</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_13</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_14</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_15</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_16</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_17</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_18</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_19</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_20</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_21</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_22</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_23</partName>\n" +
" </carPart>\n" +
" <carPart>\n" +
" <partName>PART_NAME_TEST_24</partName>\n" +
" </carPart>\n" +
" </carParts>\n" +
"</Car>"), Car.class));
}
@Test
public void e_writeAttributeStoreAsStringPoolTest() throws Exception {
AttributeStore attributeStore = new AttributeStore();
attributeStore.setAttributes(createAttributes(25));
StringWriter writer = new StringWriter();
GP_JAXB_CONTEXT_BUILDER_POOL.marshal(attributeStore, writer);
logger.info("@@@@@@@@@@@@@@@@@@@@@@@@@@@@MARSHALL_ATTRIBUTE_STORE_AS_STRING : \n{}\n", writer.toString());
}
@Test
public void f_writeAttributeStoreAsFilePoolTest() throws Exception {
AttributeStore attributeStore = new AttributeStore();
attributeStore.setAttributes(createAttributes(50));
GP_JAXB_CONTEXT_BUILDER_POOL.marshal(attributeStore, new File("./target/AttributeStorePool.xml"));
}
@Test
public void g_readAttributeStoreFromFilePoolTest() throws Exception {
logger.info("#######################UNMARSHALL_ATTRIBUTE_STORE_FROM_FILE : {}\n",
GP_JAXB_CONTEXT_BUILDER_POOL.unmarshal(new File("./src/test/resources/AttributeStore.xml"),
AttributeStore.class));
}
@Test
public void h_readAttributeStoreFromStringPoolTest() throws Exception {
logger.info("@@@@@@@@@@@@@@@@@@@@@@@@@@UNMARSHALL_ATTRIBUTE_STORE_FROM_STRING : {}\n",
GP_JAXB_CONTEXT_BUILDER_POOL.unmarshal(new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
"<AttributeStore>\n" +
" <attributes>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_0</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_0</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_1</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_1</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_2</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_2</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_3</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_3</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_4</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_4</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_5</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_5</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_6</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_6</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_7</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_7</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_8</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_8</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_9</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_9</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_10</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_10</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_11</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_11</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_12</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_12</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_13</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_13</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_14</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_14</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_15</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_15</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_16</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_16</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_17</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_17</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_18</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_18</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_19</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_19</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_20</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_20</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_21</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_21</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_22</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_22</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_23</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_23</type>\n" +
" </attribute>\n" +
" <attribute>\n" +
" <name>ATTRIBUTE_NAME_TEST_24</name>\n" +
" <type>ATTRIBUTE_TYPE_TEST_24</type>\n" +
" </attribute>\n" +
" </attributes>\n" +
"</AttributeStore>"), AttributeStore.class));
}
}