Search in sources :

Example 1 with LocalDateTimeConverter

use of jgnash.engine.xstream.LocalDateTimeConverter in project jgnash by ccavanaugh.

the class AccountTreeXMLFactory method getStream.

private static XStream getStream() {
    final XStream xstream = new XStream(new PureJavaReflectionProvider(), new KXml2Driver()) {

        @Override
        protected MapperWrapper wrapMapper(final MapperWrapper next) {
            return new HibernateMapper(next);
        }
    };
    // gracefully ignore fields in the file that do not have object members
    xstream.ignoreUnknownElements();
    xstream.setMode(XStream.ID_REFERENCES);
    xstream.alias("Account", Account.class);
    xstream.alias("RootAccount", RootAccount.class);
    xstream.alias("CurrencyNode", CurrencyNode.class);
    xstream.alias("SecurityNode", SecurityNode.class);
    xstream.useAttributeFor(Account.class, "placeHolder");
    xstream.useAttributeFor(Account.class, "locked");
    xstream.useAttributeFor(Account.class, "visible");
    xstream.useAttributeFor(Account.class, "name");
    xstream.useAttributeFor(Account.class, "description");
    xstream.useAttributeFor(CommodityNode.class, "symbol");
    xstream.useAttributeFor(CommodityNode.class, "scale");
    xstream.useAttributeFor(CommodityNode.class, "prefix");
    xstream.useAttributeFor(CommodityNode.class, "suffix");
    xstream.useAttributeFor(CommodityNode.class, "description");
    xstream.omitField(StoredObject.class, "uuid");
    xstream.omitField(StoredObject.class, "markedForRemoval");
    // Ignore fields required for JPA
    xstream.omitField(StoredObject.class, "version");
    xstream.omitField(Account.class, "transactions");
    xstream.omitField(Account.class, "accountBalance");
    xstream.omitField(Account.class, "reconciledBalance");
    xstream.omitField(Account.class, "attributes");
    xstream.omitField(Account.class, "propertyMap");
    xstream.omitField(Account.class, "amortizeObject");
    xstream.omitField(SecurityNode.class, "historyNodes");
    xstream.omitField(SecurityNode.class, "securityHistoryEvents");
    // Filters out the hibernate
    xstream.registerConverter(new HibernateProxyConverter());
    xstream.registerConverter(new HibernatePersistentCollectionConverter(xstream.getMapper()));
    xstream.registerConverter(new HibernatePersistentMapConverter(xstream.getMapper()));
    xstream.registerConverter(new HibernatePersistentSortedMapConverter(xstream.getMapper()));
    xstream.registerConverter(new HibernatePersistentSortedSetConverter(xstream.getMapper()));
    // Converters for new Java time API
    xstream.registerConverter(new LocalDateConverter());
    xstream.registerConverter(new LocalDateTimeConverter());
    return xstream;
}
Also used : HibernatePersistentCollectionConverter(com.thoughtworks.xstream.hibernate.converter.HibernatePersistentCollectionConverter) MapperWrapper(com.thoughtworks.xstream.mapper.MapperWrapper) LocalDateConverter(jgnash.engine.xstream.LocalDateConverter) KXml2Driver(com.thoughtworks.xstream.io.xml.KXml2Driver) HibernatePersistentSortedMapConverter(com.thoughtworks.xstream.hibernate.converter.HibernatePersistentSortedMapConverter) HibernatePersistentSortedSetConverter(com.thoughtworks.xstream.hibernate.converter.HibernatePersistentSortedSetConverter) XStream(com.thoughtworks.xstream.XStream) HibernateMapper(com.thoughtworks.xstream.hibernate.mapper.HibernateMapper) HibernatePersistentMapConverter(com.thoughtworks.xstream.hibernate.converter.HibernatePersistentMapConverter) PureJavaReflectionProvider(com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider) HibernateProxyConverter(com.thoughtworks.xstream.hibernate.converter.HibernateProxyConverter) LocalDateTimeConverter(jgnash.engine.xstream.LocalDateTimeConverter)

Aggregations

XStream (com.thoughtworks.xstream.XStream)1 PureJavaReflectionProvider (com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider)1 HibernatePersistentCollectionConverter (com.thoughtworks.xstream.hibernate.converter.HibernatePersistentCollectionConverter)1 HibernatePersistentMapConverter (com.thoughtworks.xstream.hibernate.converter.HibernatePersistentMapConverter)1 HibernatePersistentSortedMapConverter (com.thoughtworks.xstream.hibernate.converter.HibernatePersistentSortedMapConverter)1 HibernatePersistentSortedSetConverter (com.thoughtworks.xstream.hibernate.converter.HibernatePersistentSortedSetConverter)1 HibernateProxyConverter (com.thoughtworks.xstream.hibernate.converter.HibernateProxyConverter)1 HibernateMapper (com.thoughtworks.xstream.hibernate.mapper.HibernateMapper)1 KXml2Driver (com.thoughtworks.xstream.io.xml.KXml2Driver)1 MapperWrapper (com.thoughtworks.xstream.mapper.MapperWrapper)1 LocalDateConverter (jgnash.engine.xstream.LocalDateConverter)1 LocalDateTimeConverter (jgnash.engine.xstream.LocalDateTimeConverter)1