use of org.orcid.jaxb.model.record_rc2.Keyword in project ORCID-Source by ORCID.
the class ValidateV2RC4SamplesTest method testUnmarshallKeyword.
@Test
public void testUnmarshallKeyword() throws SAXException, URISyntaxException {
Keywords keywords = (Keywords) unmarshallFromPath("/record_2.0_rc4/samples/keywords-2.0_rc4.xml", Keywords.class, "/record_2.0_rc4/keyword-2.0_rc4.xsd");
assertNotNull(keywords);
assertNotNull(keywords.getKeywords());
assertEquals(2, keywords.getKeywords().size());
for (Keyword keyword : keywords.getKeywords()) {
assertThat(keyword.getContent(), anyOf(is("keyword1"), is("keyword2")));
assertThat(keyword.getPutCode(), anyOf(is(Long.valueOf(1)), is(Long.valueOf(2))));
assertEquals(Visibility.PUBLIC.value(), keyword.getVisibility().value());
assertNotNull(keyword.getCreatedDate());
assertNotNull(keyword.getLastModifiedDate());
assertNotNull(keyword.getSource());
assertEquals("8888-8888-8888-8880", keyword.getSource().retrieveSourcePath());
}
Keyword keyword = (Keyword) unmarshallFromPath("/record_2.0_rc4/samples/keyword-2.0_rc4.xml", Keyword.class);
assertNotNull(keyword);
assertEquals("keyword1", keyword.getContent());
assertEquals(Long.valueOf(1), keyword.getPutCode());
assertEquals(Visibility.PUBLIC.value(), keyword.getVisibility().value());
assertNotNull(keyword.getCreatedDate());
assertNotNull(keyword.getLastModifiedDate());
assertNotNull(keyword.getSource());
assertEquals("8888-8888-8888-8880", keyword.getSource().retrieveSourcePath());
}
use of org.orcid.jaxb.model.record_rc2.Keyword in project ORCID-Source by ORCID.
the class ValidateV2SamplesTest method testUnmarshallKeyword.
@Test
public void testUnmarshallKeyword() throws SAXException, URISyntaxException {
Keywords keywords = (Keywords) unmarshallFromPath("/record_2.0/samples/read_samples/keywords-2.0.xml", Keywords.class, "/record_2.0/keyword-2.0.xsd");
assertNotNull(keywords);
assertNotNull(keywords.getKeywords());
assertEquals(2, keywords.getKeywords().size());
for (Keyword keyword : keywords.getKeywords()) {
assertThat(keyword.getContent(), anyOf(is("keyword1"), is("keyword2")));
assertThat(keyword.getPutCode(), anyOf(is(Long.valueOf(1)), is(Long.valueOf(2))));
assertEquals(Visibility.PUBLIC.value(), keyword.getVisibility().value());
assertNotNull(keyword.getCreatedDate());
assertNotNull(keyword.getLastModifiedDate());
assertNotNull(keyword.getSource());
assertEquals("8888-8888-8888-8880", keyword.getSource().retrieveSourcePath());
}
Keyword keyword = (Keyword) unmarshallFromPath("/record_2.0/samples/read_samples/keyword-2.0.xml", Keyword.class);
assertNotNull(keyword);
assertEquals("keyword1", keyword.getContent());
assertEquals(Long.valueOf(1), keyword.getPutCode());
assertEquals(Visibility.PUBLIC.value(), keyword.getVisibility().value());
assertNotNull(keyword.getCreatedDate());
assertNotNull(keyword.getLastModifiedDate());
assertNotNull(keyword.getSource());
assertEquals("8888-8888-8888-8880", keyword.getSource().retrieveSourcePath());
}
use of org.orcid.jaxb.model.record_rc2.Keyword in project ORCID-Source by ORCID.
the class OrcidInfo method groupKeywords.
private LinkedHashMap<String, List<Keyword>> groupKeywords(Keywords keywords) {
if (keywords == null || keywords.getKeywords() == null) {
return null;
}
/* Grouping items */
LinkedHashMap<String, List<Keyword>> groups = new LinkedHashMap<String, List<Keyword>>();
for (Keyword k : keywords.getKeywords()) {
if (groups.containsKey(k.getContent())) {
groups.get(k.getContent()).add(k);
} else {
List<Keyword> list = new ArrayList<Keyword>();
list.add(k);
groups.put(k.getContent(), list);
}
}
return groups;
}
use of org.orcid.jaxb.model.record_rc2.Keyword in project ORCID-Source by ORCID.
the class KeywordsTest method testCreateGetUpdateAndDeleteKeyword_rc4.
/**
* --------- -- -- -- RC4 -- -- -- ---------
*
*/
@SuppressWarnings({ "deprecation", "rawtypes" })
@Test
public void testCreateGetUpdateAndDeleteKeyword_rc4() throws InterruptedException, JSONException {
changeDefaultUserVisibility(org.orcid.jaxb.model.common_v2.Visibility.LIMITED);
changeCurrentKeywordsVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
String accessToken = getAccessToken();
assertNotNull(accessToken);
org.orcid.jaxb.model.record_rc4.Keyword newKeyword = new org.orcid.jaxb.model.record_rc4.Keyword();
newKeyword.setContent("keyword-3");
newKeyword.setVisibility(org.orcid.jaxb.model.common_rc4.Visibility.PUBLIC);
// Create
ClientResponse response = memberV2ApiClient_rc4.createKeyword(getUser1OrcidId(), newKeyword, accessToken);
assertNotNull(response);
assertEquals(ClientResponse.Status.CREATED.getStatusCode(), response.getStatus());
Map map = response.getMetadata();
assertNotNull(map);
assertTrue(map.containsKey("Location"));
List resultWithPutCode = (List) map.get("Location");
String location = resultWithPutCode.get(0).toString();
Long putCode = Long.valueOf(location.substring(location.lastIndexOf('/') + 1));
// Get all and verify
response = memberV2ApiClient_rc4.viewKeywords(getUser1OrcidId(), accessToken);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
org.orcid.jaxb.model.record_rc4.Keywords keywords = response.getEntity(org.orcid.jaxb.model.record_rc4.Keywords.class);
assertNotNull(keywords);
assertNotNull(keywords.getKeywords());
boolean found1 = false;
boolean found2 = false;
boolean foundNew = false;
for (org.orcid.jaxb.model.record_rc4.Keyword existingKeyword : keywords.getKeywords()) {
if (existingKeyword.getContent().equals(keyword1)) {
assertEquals(org.orcid.jaxb.model.common_rc4.Visibility.PUBLIC, existingKeyword.getVisibility());
found1 = true;
} else if (existingKeyword.getContent().equals(keyword2)) {
assertEquals(org.orcid.jaxb.model.common_rc4.Visibility.PUBLIC, existingKeyword.getVisibility());
found2 = true;
} else if (existingKeyword.getContent().equals(newKeyword.getContent())) {
assertEquals(org.orcid.jaxb.model.common_rc4.Visibility.LIMITED, existingKeyword.getVisibility());
assertEquals("keyword-3", existingKeyword.getContent());
assertEquals(getClient1ClientId(), existingKeyword.getSource().retrieveSourcePath());
foundNew = true;
}
}
assertTrue(found1);
assertTrue(found2);
assertTrue(foundNew);
// Get it
response = memberV2ApiClient_rc4.viewKeyword(getUser1OrcidId(), putCode, accessToken);
assertNotNull(response);
newKeyword = response.getEntity(org.orcid.jaxb.model.record_rc4.Keyword.class);
assertNotNull(newKeyword);
assertNotNull(newKeyword.getSource());
assertEquals(getClient1ClientId(), newKeyword.getSource().retrieveSourcePath());
assertEquals("keyword-3", newKeyword.getContent());
assertEquals(org.orcid.jaxb.model.common_rc4.Visibility.LIMITED, newKeyword.getVisibility());
assertNotNull(newKeyword.getDisplayIndex());
Long originalDisplayIndex = newKeyword.getDisplayIndex();
// Save the original visibility
org.orcid.jaxb.model.common_rc4.Visibility originalVisibility = newKeyword.getVisibility();
org.orcid.jaxb.model.common_rc4.Visibility updatedVisibility = org.orcid.jaxb.model.common_rc4.Visibility.PRIVATE;
// Verify you cant update the visibility
newKeyword.setVisibility(updatedVisibility);
ClientResponse putResponse = memberV2ApiClient_rc4.updateKeyword(getUser1OrcidId(), newKeyword, accessToken);
assertEquals(Response.Status.FORBIDDEN.getStatusCode(), putResponse.getStatus());
org.orcid.jaxb.model.error_rc4.OrcidError error = putResponse.getEntity(org.orcid.jaxb.model.error_rc4.OrcidError.class);
assertNotNull(error);
assertEquals(Integer.valueOf(9035), error.getErrorCode());
// Set the visibility again to the initial one
newKeyword.setVisibility(originalVisibility);
// Update
newKeyword.setContent("keyword-3-updated");
response = memberV2ApiClient_rc4.updateKeyword(getUser1OrcidId(), newKeyword, accessToken);
assertNotNull(response);
assertEquals(ClientResponse.Status.OK.getStatusCode(), response.getStatus());
response = memberV2ApiClient_rc4.viewKeyword(getUser1OrcidId(), putCode, accessToken);
assertNotNull(response);
org.orcid.jaxb.model.record_rc4.Keyword updatedKeyword = response.getEntity(org.orcid.jaxb.model.record_rc4.Keyword.class);
assertNotNull(updatedKeyword);
assertEquals("keyword-3-updated", updatedKeyword.getContent());
assertEquals(newKeyword.getPutCode(), updatedKeyword.getPutCode());
assertEquals(originalDisplayIndex, updatedKeyword.getDisplayIndex());
// Delete
response = memberV2ApiClient_rc4.deleteKeyword(getUser1OrcidId(), putCode, accessToken);
assertNotNull(response);
assertEquals(ClientResponse.Status.NO_CONTENT.getStatusCode(), response.getStatus());
}
use of org.orcid.jaxb.model.record_rc2.Keyword in project ORCID-Source by ORCID.
the class KeywordsTest method testCreateGetUpdateAndDeleteKeyword_V2_1.
/**
* --------- -- -- -- V2.1 -- -- -- ---------
*
*/
@SuppressWarnings({ "deprecation", "rawtypes" })
@Test
public void testCreateGetUpdateAndDeleteKeyword_V2_1() throws InterruptedException, JSONException {
changeDefaultUserVisibility(org.orcid.jaxb.model.common_v2.Visibility.LIMITED);
changeCurrentKeywordsVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
String accessToken = getAccessToken();
assertNotNull(accessToken);
org.orcid.jaxb.model.record_v2.Keyword newKeyword = new org.orcid.jaxb.model.record_v2.Keyword();
newKeyword.setContent("keyword-3");
newKeyword.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
// Create
ClientResponse response = memberV2_1ApiClient_release.createKeyword(getUser1OrcidId(), newKeyword, accessToken);
assertNotNull(response);
assertEquals(ClientResponse.Status.CREATED.getStatusCode(), response.getStatus());
Map map = response.getMetadata();
assertNotNull(map);
assertTrue(map.containsKey("Location"));
List resultWithPutCode = (List) map.get("Location");
String location = resultWithPutCode.get(0).toString();
Long putCode = Long.valueOf(location.substring(location.lastIndexOf('/') + 1));
// Get all and verify
response = memberV2_1ApiClient_release.viewKeywords(getUser1OrcidId(), accessToken);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
org.orcid.jaxb.model.record_v2.Keywords keywords = response.getEntity(org.orcid.jaxb.model.record_v2.Keywords.class);
assertNotNull(keywords);
assertNotNull(keywords.getKeywords());
boolean found1 = false;
boolean found2 = false;
boolean foundNew = false;
for (org.orcid.jaxb.model.record_v2.Keyword existingKeyword : keywords.getKeywords()) {
if (existingKeyword.getContent().equals(keyword1)) {
assertEquals(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC, existingKeyword.getVisibility());
found1 = true;
} else if (existingKeyword.getContent().equals(keyword2)) {
assertEquals(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC, existingKeyword.getVisibility());
found2 = true;
} else if (existingKeyword.getContent().equals(newKeyword.getContent())) {
assertEquals(org.orcid.jaxb.model.common_v2.Visibility.LIMITED, existingKeyword.getVisibility());
assertEquals("keyword-3", existingKeyword.getContent());
assertEquals(getClient1ClientId(), existingKeyword.getSource().retrieveSourcePath());
foundNew = true;
}
}
assertTrue(found1);
assertTrue(found2);
assertTrue(foundNew);
// Get it
response = memberV2_1ApiClient_release.viewKeyword(getUser1OrcidId(), putCode, accessToken);
assertNotNull(response);
newKeyword = response.getEntity(org.orcid.jaxb.model.record_v2.Keyword.class);
assertNotNull(newKeyword);
assertNotNull(newKeyword.getSource());
assertEquals(getClient1ClientId(), newKeyword.getSource().retrieveSourcePath());
assertEquals("keyword-3", newKeyword.getContent());
assertEquals(org.orcid.jaxb.model.common_v2.Visibility.LIMITED, newKeyword.getVisibility());
assertNotNull(newKeyword.getDisplayIndex());
Long originalDisplayIndex = newKeyword.getDisplayIndex();
// Save the original visibility
org.orcid.jaxb.model.common_v2.Visibility originalVisibility = newKeyword.getVisibility();
org.orcid.jaxb.model.common_v2.Visibility updatedVisibility = org.orcid.jaxb.model.common_v2.Visibility.PRIVATE;
// Verify you cant update the visibility
newKeyword.setVisibility(updatedVisibility);
ClientResponse putResponse = memberV2_1ApiClient_release.updateKeyword(getUser1OrcidId(), newKeyword, accessToken);
assertEquals(Response.Status.FORBIDDEN.getStatusCode(), putResponse.getStatus());
org.orcid.jaxb.model.error_v2.OrcidError error = putResponse.getEntity(org.orcid.jaxb.model.error_v2.OrcidError.class);
assertNotNull(error);
assertEquals(Integer.valueOf(9035), error.getErrorCode());
// Set the visibility again to the initial one
newKeyword.setVisibility(originalVisibility);
// Update
newKeyword.setContent("keyword-3-updated");
response = memberV2_1ApiClient_release.updateKeyword(getUser1OrcidId(), newKeyword, accessToken);
assertNotNull(response);
assertEquals(ClientResponse.Status.OK.getStatusCode(), response.getStatus());
response = memberV2_1ApiClient_release.viewKeyword(getUser1OrcidId(), putCode, accessToken);
assertNotNull(response);
org.orcid.jaxb.model.record_v2.Keyword updatedKeyword = response.getEntity(org.orcid.jaxb.model.record_v2.Keyword.class);
assertNotNull(updatedKeyword);
assertEquals("keyword-3-updated", updatedKeyword.getContent());
assertEquals(newKeyword.getPutCode(), updatedKeyword.getPutCode());
assertEquals(originalDisplayIndex, updatedKeyword.getDisplayIndex());
// Delete
response = memberV2_1ApiClient_release.deleteKeyword(getUser1OrcidId(), putCode, accessToken);
assertNotNull(response);
assertEquals(ClientResponse.Status.NO_CONTENT.getStatusCode(), response.getStatus());
}
Aggregations