public static XStream configureXStream(final XStream xstream) { xstream.processAnnotations(SearchResponse.class); xstream.registerLocalConverter(SearchResponse.class, "data", new AliasingListConverter(NexusArtifact.class, "artifact")); // NG xstream.processAnnotations(SearchNGResponse.class); xstream.processAnnotations(NexusNGArtifact.class); xstream.processAnnotations(NexusNGArtifactHit.class); xstream.processAnnotations(NexusNGArtifactLink.class); xstream.registerLocalConverter(SearchNGResponse.class, "data", new AliasingListConverter( NexusNGArtifact.class, "artifact")); xstream.registerLocalConverter(NexusNGArtifact.class, "artifactHits", new AliasingListConverter( NexusNGArtifactHit.class, "artifactHit")); xstream.registerLocalConverter(NexusNGArtifactHit.class, "artifactLinks", new AliasingListConverter( NexusNGArtifactLink.class, "artifactLink")); // Tree (DTO classes extends classes from Maven Indexer, it is hence needed on classpath) xstream.processAnnotations(IndexBrowserTreeViewResponseDTO.class); xstream.processAnnotations(IndexBrowserTreeNodeDTO.class); xstream.registerLocalConverter(IndexBrowserTreeNodeDTO.class, "children", new AliasingListConverter( IndexBrowserTreeNodeDTO.class, "child")); return xstream; } }
@Override public Object unmarshal(final HierarchicalStreamReader reader, final UnmarshallingContext context) { final List<Object> unmarshal = (List<Object>) super.unmarshal(reader, context); // return value needs to be a "real" List return Lists.newArrayList(Collections2.transform(unmarshal, new Function() { @Nullable @Override public Object apply(@Nullable final Object input) { if (input instanceof String) { return StringEscapeUtils.unescapeHtml((String) input); } return input; } })); } }
@Override public void configureXStream(XStream xstream) { super.configureXStream(xstream); xstream.processAnnotations(PluginInfoDTO.class); xstream.processAnnotations(PluginInfoListResponseDTO.class); xstream.registerLocalConverter(PluginInfoListResponseDTO.class, "data", new AliasingListConverter( PluginInfoDTO.class, "pluginInfo")); }
public static XStream configureXStream(XStream xstream) { xstream.processAnnotations(LdapConnectionInfoResponse.class); xstream.processAnnotations(LdapUserAndGroupConfigurationResponse.class); xstream.processAnnotations(LdapUserListResponse.class); xstream.processAnnotations(LdapAuthenticationTestRequest.class); xstream.processAnnotations(LdapUserAndGroupConfigTestRequest.class); // NXCM-2974 unescape html entities like "o=org&org", they get escaped by nexus-rest-api json->DTO // conversion final HtmlUnescapeStringConverter converter = new HtmlUnescapeStringConverter(true); xstream.registerLocalConverter(LdapConnectionInfoDTO.class, "systemUsername", converter); xstream.registerLocalConverter(LdapConnectionInfoDTO.class, "systemPassword", converter); xstream.registerLocalConverter(LdapConnectionInfoDTO.class, "searchBase", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigurationDTO.class, "groupBaseDn", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigurationDTO.class, "userBaseDn", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigurationDTO.class, "groupMemberFormat", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigurationDTO.class, "ldapFilter", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigTestRequestDTO.class, "systemUsername", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigTestRequestDTO.class, "systemPassword", converter); xstream.registerLocalConverter(LdapUserAndGroupConfigTestRequestDTO.class, "searchBase", converter); xstream.registerLocalConverter(LdapUserListResponse.class, "data", new AliasingListConverter( LdapUserResponseDTO.class, "user")); return xstream; }
public static XStream configureXStream( XStream xstream ) { xstream.processAnnotations( LdapConnectionInfoResponse.class ); xstream.processAnnotations( LdapUserAndGroupConfigurationResponse.class ); xstream.processAnnotations( LdapUserListResponse.class ); xstream.processAnnotations( LdapAuthenticationTestRequest.class ); xstream.processAnnotations( LdapUserAndGroupConfigTestRequest.class ); // NXCM-2974 unescape html entities like "o=org&org", they get escaped by nexus-rest-api json->DTO // conversion final HtmlUnescapeStringConverter converter = new HtmlUnescapeStringConverter( true ); xstream.registerLocalConverter( LdapConnectionInfoDTO.class, "systemUsername", converter ); xstream.registerLocalConverter( LdapConnectionInfoDTO.class, "systemPassword", converter ); xstream.registerLocalConverter( LdapConnectionInfoDTO.class, "searchBase", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigurationDTO.class, "groupBaseDn", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigurationDTO.class, "userBaseDn", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigurationDTO.class, "groupMemberFormat", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigurationDTO.class, "ldapFilter", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigTestRequestDTO.class, "systemUsername", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigTestRequestDTO.class, "systemPassword", converter ); xstream.registerLocalConverter( LdapUserAndGroupConfigTestRequestDTO.class, "searchBase", converter ); xstream.registerLocalConverter( LdapUserListResponse.class, "data", new AliasingListConverter( LdapUserResponseDTO.class, "user" ) ); return xstream; }
public XStream initXStream(XStream xstream) { xstream.processAnnotations(LdapAuthenticationTestRequest.class); xstream.processAnnotations(LdapUserListResponse.class); xstream.processAnnotations(LdapServerOrderRequest.class); xstream.processAnnotations(LdapServerRequest.class); xstream.processAnnotations(LdapSchemaTemplateListResponse.class); xstream.processAnnotations(LdapServerListResponse.class); xstream.processAnnotations(LdapServerLoginTestRequest.class); xstream.registerLocalConverter(LdapSchemaTemplateListResponse.class, "data", new AliasingListConverter( LdapSchemaTemplateDTO.class, "template")); HtmlUnescapeStringConverter converter = new HtmlUnescapeStringConverter(true); xstream.registerLocalConverter(LdapServerLoginTestRequest.class, "username", converter); xstream.registerLocalConverter(LdapServerLoginTestRequest.class, "password", converter); xstream.registerLocalConverter(LdapConnectionInfoDTO.class, "systemUsername", converter); xstream.registerLocalConverter(LdapConnectionInfoDTO.class, "systemPassword", converter); xstream.registerLocalConverter(LdapConnectionInfoDTO.class, "searchBase", converter); xstream.registerLocalConverter(LdapUserAndGroupAuthConfigurationDTO.class, "groupBaseDn", converter); xstream.registerLocalConverter(LdapUserAndGroupAuthConfigurationDTO.class, "userBaseDn", converter); xstream.registerLocalConverter(LdapUserAndGroupAuthConfigurationDTO.class, "groupMemberFormat", converter); xstream.registerLocalConverter(LdapUserAndGroupAuthConfigurationDTO.class, "ldapFilter", converter); return xstream; }