Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Inicialização de segurança

@Test
    public void deveGerarOXmlComONomePrecoEDescricaoAdequadosUsandoConverterSimples() {
        String resultadoEsperado = "<produto codigo=\"1587\">\n" +
                "  <nome>geladeira</nome>\n" +
                "  <preco>R$ 1.000,00</preco>\n" +
                "  <descrição>geladeira duas portas</descrição>\n" +
                "</produto>";

        Produto geladeira = new Produto("geladeira", 1000.0, "geladeira duas portas", 1587);

        XStream xstream = new XStream();
        xstream.alias("produto", Produto.class);
        xstream.aliasField("descrição", Produto.class, "descricao");
        xstream.registerLocalConverter(Produto.class, "preco", new PrecoSimplesConverter());
        xstream.useAttributeFor(Produto.class, "codigo");
        String xmlGerado = xstream.toXML(geladeira);

        assertEquals(resultadoEsperado, xmlGerado);
    }

Ao executar esse código (e qualque outro utilizando o XStream) sempre recebo um warning com relação a inicialização do security framework, quais são os padrões que devo utilizar? Estou utilizando apenas PrimitiveTypePermission.PRIMITIVES e tudo parece ok, mas existe algum padrão?

Security framework of XStream not initialized, XStream is probably vulnerable.
1 resposta
solução!

Fala William, tudo bem?

Geralmente são apenas warnings e podem ocorrer por diversos motivos. Detalhes podem ser encontrados em http://x-stream.github.io/security.html

Mas, como sugestão, siga o exemplo abaixo para evitar algumas warns que podem ser reportadas:

XStream xstream = new XStream();
// clear out existing permissions and set own ones
xstream.addPermission(NoTypePermission.NONE);
// allow some basics
xstream.addPermission(NullPermission.NULL);
xstream.addPermission(PrimitiveTypePermission.PRIMITIVES);
xstream.allowTypeHierarchy(Collection.class);
// allow any type from the same package
xstream.allowTypesByWildcard(new String[] {
    "com.your.package.**"
});

Abraço!