получилось
Код:
public class XmlDataLoader <T>
{
private static final Logger log = Logger.getLogger(XmlDataLoader.class);
@SuppressWarnings("unchecked")
public T loadStaticData(Class<?> clazz, String Schema, String XmlFile)
{
try
{
JAXBContext jc = JAXBContext.newInstance(clazz);
Unmarshaller un = jc.createUnmarshaller();
un.setSchema(getSchema(Schema));
return (T) un.unmarshal(new File(XmlFile));
}
catch (JAXBException e)
{
log.fatal("Error while loading xml data"+ e.getErrorCode(), e);
throw new Error("Error while loading xml data", e);
}
}
private static Schema getSchema(String Schema)
{
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = null;
try
{
schema = sf.newSchema(new File(Schema));
}
catch (SAXException e)
{
log.fatal("Error getting schema", e);
throw new Error("Error getting schema", e);
}
return schema;
}
}
один черт кому нить пригодится...
хоть не надо прописывать и инжектить все опкоды вручную...лафа
Код:
<?xml version="1.0" encoding="UTF-8"?>
<opcodes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="packets.xsd">
<opcodelist direction="DOWNSTREAM"
package="org.wowemu.login.network.netty.packet.client.">
<packet id="00" name="CMD_AUTH_LOGON_CHALLENGE" state="CONNECTED"/>
</opcodelist>
<opcodelist direction="UPSTREAM"
package="org.wowemu.login.network.netty.packet.server.">
<packet id="00" name="TCMD_AUTH_LOGON_CHALLENGE"/>
</opcodelist>
</opcodes>