package org.firesoa.common.schema;
import java.util.Iterator;
import javax.xml.namespace.QName;
import org.firesoa.common.schema.pojo_1.City;
import org.firesoa.common.schema.pojo_2.AnnotationedPerson1;
import org.firesoa.common.schema.pojo_2.childobj.Address;
import org.junit.Assert;
import org.junit.Test;
public class JAXBUtilTest {
/**
* 在有package-info的情况下,检查qname及schema的正确性
*/
@Test
public void testGeneratePojoSchema() {
try{
PojoSchema pojoSchema = JAXBUtil.generatePojoSchema(AnnotationedPerson1.class);
Assert.assertNotNull(pojoSchema.getSchema());
System.out.println(pojoSchema.getSchema());
QName qname_2 = new QName("http://pojo_2.schema.common.firesoa.org/","AnnotationedPerson1");
Assert.assertEquals(qname_2, pojoSchema.getQname());
Assert.assertEquals(2, pojoSchema.getAllSchemas().size());
Iterator<String> keys = pojoSchema.getAllSchemas().keySet().iterator();
while(keys.hasNext()){
String key = keys.next();
System.out.println("===========schema file name is : "+key );
System.out.println(pojoSchema.getAllSchemas().get(key));
}
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 在有package-info.java的情况下,检查qname的正确性
*/
@Test
public void testGeneratePojoQname() {
try{
QName qname = JAXBUtil.generatePojoQname(Address.class);
QName qname_2 = new QName("http://childob.pojo_2.schema.common.firesoa.org/","address");
Assert.assertEquals(qname_2, qname);
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 在没有任何标注的情况下,检查qname的正确性
*/
@Test
public void testGeneratePojoQname2() {
try{
QName qname = JAXBUtil.generatePojoQname(City.class);
// QName qname_2 = new QName("http://childob.pojo_2.schema.common.firesoa.org/","address");
// Assert.assertEquals(qname_2, qname);
System.out.println(qname);
PojoSchema pojoSchema = JAXBUtil.generatePojoSchema(City.class);
System.out.println(pojoSchema.getSchema());
}catch(Exception e){
e.printStackTrace();
}
}
}