Hello, Actually I have several newbie questions, as I'm not sure I know what I'm doing with Castor, but the final message in the log (attached) is where I finally hit the wall.
I'm trying to:
1. Generate necessary objects from a xsd schema (attached). To this effect I'm
using the below command
java -classpath
.;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\castor-1.2\castor-1.2-codegen.jar;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\castor-1.2\castor-1.2.jar;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\castor-1.2\castor-1.2-xml.jar;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\commons-logging-1.1.1.jar;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\castor-1.2\castor-1.2-xml-schema.jar;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\castor-1.2\castor-1.2-ddlgen.jar;C:\Progra~1\Java\jdk1.6.0_11\jre\lib\ext\velocity-1.6.2.jar
org.exolab.castor.builder.SourceGeneratorMain -i Resources\promo3_4.xsd
-package nikonpromosystem -gen-mapping promomap -verbose
Here there's two issues: First the map doesn't get generated, even though the
command executes without errors. Second of all I get my objects in 4 different
packages:
nikonpromosystem
nikonpromosystem.descriptors
nikonpromosystem.types
nikonpromosystem.types.descriptors
In classes.txt there's the listing of all the classes generated. Definitelly
more than I expected from the xsd. Nevertheless I tried to use those classes in
my code, using the code examples without the mapping
(castor-reference-guide-1.3 sections 1.8.2.2 & 1.8.2.3.2) . Here's the code:
private Unmarshaller unmarshaller;
private Marshaller marshaller;
private XMLContext context;
private static Logger log;
private XMLClassDescriptorResolver classDescriptorResolver;
private nikonpromosystem.PromoCall promocall ;
promocall = new nikonpromosystem.PromoCall();
String[] s = new
String[]{"nikonpromosystem","nikonpromosystem.descriptors","nikonpromosystem.types","nikonpromosystem.types.descriptiors"};
context = new XMLContext();
try {
context.addPackages(s); //that's where the
error happens;
} catch (ResolverException ex) { log.error(ex);}
unmarshaller = context.createUnmarshaller();
marshaller = context.createMarshaller();
reader = new FileReader("sample.xml");
promocall = (nikonpromosystem.PromoCall) unmarshaller.unmarshal(reader);
I also tried to replace the XMLContext with classDescriptorResolver bat that
also failed:
promocall = new nikonpromosystem.PromoCall();
classDescriptorResolver =
(org.exolab.castor.xml.XMLClassDescriptorResolver)ClassDescriptorResolverFactory.createClassDescriptorResolver(BindingType.XML);
classDescriptorResolver.setClassLoader(promocall.getClass().getClassLoader());
//NullPointerException
I also tried generating the mapping from within the code using the MappingTool,
but...:
MappingTool tool = new MappingTool();
promocall = new nikonpromosystem.PromoCall();
tool.addClass(promocall.getClass()); //NullPointerException
At this point I don't know what else I can try... Help?
Lukasz.
PS.log
Description: PS.log
<?xml version="1.0" encoding="utf-8" ?> <!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="PromoCall" type="PromoCallType" /> <xs:complexType name="PromoCallType"> <xs:sequence> <xs:element name="PromoCallID" type="JobIdentificationType" /> <xs:element minOccurs="0" maxOccurs="1" name="Account" type="AccountType" /> <xs:element minOccurs="0" maxOccurs="1" name="JobType"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="RX" /> <xs:enumeration value="CUSTCOAT" /> <xs:enumeration value="BULKSTK" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" maxOccurs="1" name="JobSource"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="INTERNAL" /> <xs:enumeration value="REMOTE" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" maxOccurs="unbounded" name="ForcedPromotions" type="PromotionType" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="LensItems" type="LensType" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="AddedValueItems" type="AddedValueType" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="PromoOutput" type="PromotionType" /> </xs:sequence> <xs:attribute name="promoStatus"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="NOPROMOAPPLICABLE" /> <xs:enumeration value="PROMOAPPLICABLE" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="AccountType"> <xs:sequence> <xs:element name="billToAccount" type="xs:string" /> <xs:element name="accountName" type="xs:string" /> <xs:element name="Address" type="AddressType" /> <xs:element name="SalesRep" type="SalesRepType" /> <xs:element name="BuyingGroup" type="BuyingGroupType" /> <xs:element name="Chain" type="ChainType" /> <xs:element name="BusinessType" type="xs:string" /> <xs:element name="PreferedLanguage"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="FRA" /> <xs:enumeration value="ENG" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="AddressType"> <xs:sequence> <xs:element name="Address1" type="xs:string" /> <xs:element name="Address2" type="xs:string" /> <xs:element name="City" type="xs:string" /> <xs:element name="Province" type="xs:string" /> <xs:element name="PostalCode" type="xs:string" /> <xs:element name="Region" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="SalesRepType"> <xs:sequence> <xs:element name="ID" type="xs:string" /> <xs:element name="Name" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="BuyingGroupType"> <xs:sequence> <xs:element name="ID" type="xs:string" /> <xs:element name="Name" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="ChainType"> <xs:sequence> <xs:element name="ID" type="xs:string" /> <xs:element name="Name" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="JobIdentificationType"> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:element name="jobNumber" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="PromotionType"> <xs:sequence minOccurs="1" maxOccurs="1"> <xs:element name="promoSource"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="ORDERENTRY" /> <xs:enumeration value="PROMOSYSTEM" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="promotionID" type="xs:string" /> <xs:element name="promotionName" type="xs:string" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtraParameters" type="PromoParameterType" /> </xs:sequence> </xs:complexType> <xs:complexType name="PromoParameterType"> <xs:sequence> <xs:element name="parameterName" type="xs:string" /> <xs:element name="parameterType"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="IMAGEPATH" /> <xs:enumeration value="INVOICEMESSAGE" /> <xs:enumeration value="AGENTMESSAGE" /> <xs:enumeration value="INPUTPARAMETER" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="parameterValue" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="LensType"> <xs:sequence> <xs:element name="lensID" type="xs:string" /> <xs:element name="lensName" type="xs:string" /> <xs:element name="lensProductLineName" type="xs:string" /> <xs:element name="Coating" type="AddedValueType" /> <xs:element name="Material" type="MaterialType" /> <xs:element name="Manufacturer" type="ManufacturerType" /> <xs:element minOccurs="0" maxOccurs="unbounded" name="AddedValues" type="AddedValueType" /> <xs:element name="LensBilling" type="BillingType" /> </xs:sequence> </xs:complexType> <xs:complexType name="MaterialType"> <xs:sequence> <xs:element name="materialID" type="xs:string" /> <xs:element name="materialName" type="xs:string" /> <xs:element name="indexOfRefraction" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="ManufacturerType"> <xs:sequence> <xs:element name="manufacturerID" type="xs:string" /> <xs:element name="manufacturerName" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="AddedValueType"> <xs:sequence> <xs:element name="addedValueID" type="xs:string" /> <xs:element name="addedValueName" type="xs:string" /> <xs:element name="AddedValueBilling" type="BillingType" /> </xs:sequence> <xs:attribute name="source"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="PROMOSYSTEM" /> <xs:enumeration value="ORDERSYSTEM" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <xs:complexType name="BillingType"> <xs:sequence> <xs:element name="quantity" type="xs:float" /> <xs:element name="ListPrice" type="MonetaryUnitType" /> <xs:element name="PromoDiscountAmount" type="MonetaryUnitType" minOccurs="0" /> </xs:sequence> </xs:complexType> <xs:complexType name="MonetaryUnitType"> <xs:attribute name="scale" type="xs:int" /> <xs:attribute name="precision" type="xs:int" /> <xs:attribute name="currencyAbbr" type="xs:string" /> </xs:complexType> <xs:complexType name="PromoImageType"> <xs:sequence> <xs:element name="imageID" type="xs:string" /> <xs:element name="imagePath" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:complexType name="InvoiceMessageType" /> </xs:schema>
Volume in drive C is OS
Volume Serial Number is F4BF-C4C5
Directory of C:\MagooDev\java\Nikon Promo System\src\nikonpromosystem
23/04/2009 12:19 PM <DIR> .
23/04/2009 12:19 PM <DIR> ..
24/04/2009 03:13 PM 3,114 .castor.cdr
24/04/2009 03:13 PM 3,350 Account.java
24/04/2009 03:13 PM 8,271 AccountType.java
24/04/2009 03:13 PM 3,390 AddedValueBilling.java
24/04/2009 03:13 PM 3,394 AddedValueItems.java
24/04/2009 03:13 PM 3,378 AddedValues.java
24/04/2009 03:13 PM 6,044 AddedValueType.java
24/04/2009 03:13 PM 3,350 Address.java
24/04/2009 03:13 PM 6,691 AddressType.java
24/04/2009 03:13 PM 5,770 BillingType.java
24/04/2009 03:13 PM 3,382 BuyingGroup.java
24/04/2009 03:13 PM 4,449 BuyingGroupType.java
24/04/2009 03:13 PM 3,334 Chain.java
24/04/2009 03:13 PM 4,407 ChainType.java
24/04/2009 03:13 PM 3,362 Coating.java
21/04/2009 03:31 PM <DIR> descriptors
24/04/2009 03:13 PM 3,410 ExtraParameters.java
24/04/2009 03:13 PM 3,394 ForcedPromotions.java
24/04/2009 03:13 PM 3,392 InvoiceMessageType.java
24/04/2009 03:13 PM 4,085 JobIdentificationType.java
24/04/2009 03:13 PM 3,366 LensBilling.java
24/04/2009 03:13 PM 3,346 LensItems.java
24/04/2009 03:13 PM 12,484 LensType.java
24/04/2009 03:13 PM 3,378 ListPrice.java
24/04/2009 03:13 PM 3,390 Manufacturer.java
24/04/2009 03:13 PM 4,767 ManufacturerType.java
24/04/2009 03:13 PM 3,358 Material.java
24/04/2009 03:13 PM 5,309 MaterialType.java
24/04/2009 03:13 PM 5,964 MonetaryUnitType.java
24/04/2009 03:13 PM 3,366 PromoCall.java
24/04/2009 03:13 PM 3,405 PromoCallID.java
24/04/2009 03:13 PM 26,592 PromoCallType.java
24/04/2009 03:13 PM 3,418 PromoDiscountAmount.java
24/04/2009 03:13 PM 4,572 PromoImageType.java
24/04/2009 03:13 PM 3,374 PromoOutput.java
24/04/2009 03:13 PM 5,428 PromoParameterType.java
24/04/2009 03:13 PM 10,491 PromotionType.java
24/04/2009 03:13 PM 3,358 SalesRep.java
24/04/2009 03:13 PM 4,428 SalesRepType.java
21/04/2009 03:35 PM <DIR> types
38 File(s) 193,761 bytes
Directory of C:\MagooDev\java\Nikon Promo
System\src\nikonpromosystem\descriptors
21/04/2009 03:31 PM <DIR> .
21/04/2009 03:31 PM <DIR> ..
24/04/2009 03:13 PM 3,446 AccountDescriptor.java
24/04/2009 03:13 PM 17,944 AccountTypeDescriptor.java
24/04/2009 03:13 PM 3,506 AddedValueBillingDescriptor.java
24/04/2009 03:13 PM 3,500 AddedValueItemsDescriptor.java
24/04/2009 03:13 PM 3,476 AddedValuesDescriptor.java
24/04/2009 03:13 PM 11,093 AddedValueTypeDescriptor.java
24/04/2009 03:13 PM 3,446 AddressDescriptor.java
24/04/2009 03:13 PM 15,052 AddressTypeDescriptor.java
24/04/2009 03:13 PM 9,247 BillingTypeDescriptor.java
24/04/2009 03:13 PM 3,478 BuyingGroupDescriptor.java
24/04/2009 03:13 PM 7,512 BuyingGroupTypeDescriptor.java
24/04/2009 03:13 PM 3,430 ChainDescriptor.java
24/04/2009 03:13 PM 7,428 ChainTypeDescriptor.java
24/04/2009 03:13 PM 3,452 CoatingDescriptor.java
24/04/2009 03:13 PM 3,508 ExtraParametersDescriptor.java
24/04/2009 03:13 PM 3,504 ForcedPromotionsDescriptor.java
24/04/2009 03:13 PM 3,333 InvoiceMessageTypeDescriptor.java
24/04/2009 03:13 PM 5,732 JobIdentificationTypeDescriptor.java
24/04/2009 03:13 PM 3,470 LensBillingDescriptor.java
24/04/2009 03:13 PM 3,452 LensItemsDescriptor.java
24/04/2009 03:13 PM 18,085 LensTypeDescriptor.java
24/04/2009 03:13 PM 3,468 ListPriceDescriptor.java
24/04/2009 03:13 PM 3,486 ManufacturerDescriptor.java
24/04/2009 03:13 PM 7,670 ManufacturerTypeDescriptor.java
24/04/2009 03:13 PM 3,454 MaterialDescriptor.java
24/04/2009 03:13 PM 9,514 MaterialTypeDescriptor.java
24/04/2009 03:13 PM 9,775 MonetaryUnitTypeDescriptor.java
24/04/2009 03:13 PM 3,462 PromoCallDescriptor.java
24/04/2009 03:13 PM 3,490 PromoCallIDDescriptor.java
24/04/2009 03:13 PM 20,769 PromoCallTypeDescriptor.java
24/04/2009 03:13 PM 3,528 PromoDiscountAmountDescriptor.java
24/04/2009 03:13 PM 7,558 PromoImageTypeDescriptor.java
24/04/2009 03:13 PM 3,474 PromoOutputDescriptor.java
24/04/2009 03:13 PM 9,566 PromoParameterTypeDescriptor.java
24/04/2009 03:13 PM 11,591 PromotionTypeDescriptor.java
24/04/2009 03:13 PM 3,454 SalesRepDescriptor.java
24/04/2009 03:13 PM 7,470 SalesRepTypeDescriptor.java
37 File(s) 248,823 bytes
Directory of C:\MagooDev\java\Nikon Promo System\src\nikonpromosystem\types
21/04/2009 03:35 PM <DIR> .
21/04/2009 03:35 PM <DIR> ..
24/04/2009 03:13 PM 784 .castor.cdr
21/04/2009 03:35 PM 13 .cvsignore
24/04/2009 03:13 PM 4,052 AddedValueTypeSourceType.java
21/04/2009 03:31 PM <DIR> descriptors
24/04/2009 03:13 PM 3,766 JobSourceType.java
24/04/2009 03:13 PM 3,982 JobTypeType.java
24/04/2009 03:13 PM 4,598 ParameterTypeType.java
24/04/2009 03:13 PM 3,827 PreferedLanguageType.java
24/04/2009 03:13 PM 4,204 PromoCallTypePromoStatusType.java
24/04/2009 03:13 PM 3,858 PromoSourceType.java
9 File(s) 29,084 bytes
Directory of C:\MagooDev\java\Nikon Promo
System\src\nikonpromosystem\types\descriptors
21/04/2009 03:31 PM <DIR> .
21/04/2009 03:31 PM <DIR> ..
24/04/2009 03:13 PM 3,387 AddedValueTypeSourceTypeDescriptor.java
24/04/2009 03:13 PM 3,321 JobSourceTypeDescriptor.java
24/04/2009 03:13 PM 3,309 JobTypeTypeDescriptor.java
24/04/2009 03:13 PM 3,345 ParameterTypeTypeDescriptor.java
24/04/2009 03:13 PM 3,363 PreferedLanguageTypeDescriptor.java
24/04/2009 03:13 PM 3,411
PromoCallTypePromoStatusTypeDescriptor.java
24/04/2009 03:13 PM 3,333 PromoSourceTypeDescriptor.java
7 File(s) 23,469 bytes
Total Files Listed:
91 File(s) 495,137 bytes
11 Dir(s) 341,127,143,424 bytes free
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email

