Skip to content

Commit d3dfedf

Browse files
author
TanyaEf
committed
Updated README.md, integration tests and unit test for Attribute, Organization and User Services
1 parent e39e734 commit d3dfedf

File tree

20 files changed

+335
-92
lines changed

20 files changed

+335
-92
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<groupId>com.jaspersoft</groupId>
99
<artifactId>jrs-rest-java-client</artifactId>
10-
<version>6.0.7</version>
10+
<version>6.0.10</version>
1111
<name>REST client for JasperReports server</name>
1212
<url>http://github.com/Jaspersoft/jrs-rest-java-client</url>
1313

src/integration-test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/attributes/ServerBatchAttributesServiceIT.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public void should_create_attributes() {
4141

4242
OperationResult<HypermediaAttributesListWrapper> attributes = session
4343
.attributesService()
44-
.allAttributes()
44+
.attributes(asList(serverAttributes.getProfileAttributes().get(0).getName(),
45+
serverAttributes.getProfileAttributes().get(1).getName()))
4546
.createOrUpdate(serverAttributes);
4647

4748
assertNotNull(attributes);
@@ -50,6 +51,26 @@ public void should_create_attributes() {
5051
}
5152

5253
@Test(dependsOnMethods = "should_create_attributes")
54+
public void should_update_attributes() {
55+
HypermediaAttributesListWrapper newServerAttributes = new HypermediaAttributesListWrapper(serverAttributes);
56+
newServerAttributes.getProfileAttributes().get(0).setValue("new_value");
57+
newServerAttributes.getProfileAttributes().get(1).setValue("new_value");
58+
newServerAttributes.getProfileAttributes().add((HypermediaAttribute) new HypermediaAttribute().setName("extra_attr_1").setValue("some_value_1"));
59+
newServerAttributes.getProfileAttributes().add((HypermediaAttribute) new HypermediaAttribute().setName("extra_attr_2").setValue("some_value_2"));
60+
newServerAttributes.getProfileAttributes().add((HypermediaAttribute) new HypermediaAttribute().setName("extra_attr_3").setValue("some_value_3"));
61+
OperationResult<HypermediaAttributesListWrapper> attributes = session
62+
.attributesService()
63+
.attributes(asList(serverAttributes.getProfileAttributes().get(0).getName(),
64+
serverAttributes.getProfileAttributes().get(1).getName()))
65+
.createOrUpdate(newServerAttributes);
66+
67+
assertNotNull(attributes);
68+
assertEquals(Response.Status.OK.getStatusCode(), attributes.getResponse().getStatus());
69+
assertTrue(attributes.getEntity().getProfileAttributes().size() == 2);
70+
71+
}
72+
73+
@Test(dependsOnMethods = "should_update_attributes")
5374
public void should_return_server_attributes() {
5475
List<HypermediaAttribute> attributes = session
5576
.attributesService()
@@ -86,7 +107,7 @@ public void should_return_specified_server_attributes() {
86107
.getEntity()
87108
.getProfileAttributes();
88109

89-
assertTrue(attributes.size() >= 2);
110+
assertTrue(attributes.size() == 2);
90111

91112
}
92113

src/integration-test/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/organizations/OrganizationsServiceIT.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ public void before() {
3434
@Test
3535
public void should_create_organization() {
3636

37-
OperationResult<ClientTenant> operationResult = session.
38-
organizationsService().
39-
organization(organization).
40-
create();
37+
OperationResult<ClientTenant> operationResult = session
38+
.organizationsService()
39+
.organization(organization)
40+
.create();
4141

4242
ClientTenant entity = operationResult.getEntity();
4343

@@ -64,7 +64,7 @@ public void should_return_organizations() {
6464

6565
OperationResult<OrganizationsListWrapper> operationResult = session
6666
.organizationsService()
67-
.organizations()
67+
.allOrganizations()
6868
.get();
6969

7070
OrganizationsListWrapper entity = operationResult.getEntity();

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/AbstractAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ public abstract class AbstractAdapter {
2626
protected final SessionStorage sessionStorage;
2727

2828
public AbstractAdapter(SessionStorage sessionStorage) {
29+
if (sessionStorage == null ) {
30+
throw new IllegalArgumentException("SessionStorage is null, adapter can not be initialized.");
31+
}
2932
this.sessionStorage = sessionStorage;
3033
}
3134

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/attributes/AttributesService.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage;
2727
import java.util.Collection;
2828

29+
import static java.util.Arrays.asList;
30+
2931
/**
3032
* @author Alex Krasnyanskiy
3133
* @since 6.0.1-ALPHA
@@ -38,27 +40,34 @@ public AttributesService(SessionStorage sessionStorage) {
3840
}
3941

4042
public AttributesService forOrganization(String organizationName) {
41-
this.holderUri.append("organizations/").append(organizationName).append("/");
42-
return this;
43+
return this.forOrganization(new ClientTenant().setId(organizationName));
4344
}
4445

4546
public AttributesService forOrganization(ClientTenant organization) {
47+
if (organization == null || organization.getId() == null || organization.getId().equals("")) {
48+
throw new IllegalArgumentException("Organization is not valid.");
49+
}
4650
this.holderUri.append("organizations/").append(organization.getId()).append("/");
4751
return this;
4852
}
4953

5054
public AttributesService forUser(ClientUser user) {
55+
if (user == null || user.getUsername() == null|| user.getUsername().equals("")) {
56+
throw new IllegalArgumentException("User is not valid.");
57+
}
5158
this.holderUri.append("users/").append(user.getUsername()).append("/");
5259
return this;
5360
}
5461

5562

5663
public AttributesService forUser(String userName) {
57-
this.holderUri.append("users/").append(userName).append("/");
58-
return this;
64+
return this.forUser(new ClientUser().setUsername(userName));
5965
}
6066

6167
public SingleAttributeAdapter attribute(String attributeName) {
68+
if (attributeName == null || attributeName.equals("")) {
69+
throw new IllegalArgumentException("Attribute name is not valid.");
70+
}
6271
return new SingleAttributeAdapter(holderUri.toString(), sessionStorage, attributeName);
6372
}
6473

@@ -67,10 +76,13 @@ public BatchAttributeAdapter allAttributes() {
6776
}
6877

6978
public BatchAttributeAdapter attributes(Collection<String> attributesNames) {
79+
if (attributesNames == null || attributesNames.size() == 0) {
80+
throw new IllegalArgumentException("List of attributes is not valid.");
81+
}
7082
return new BatchAttributeAdapter(holderUri.toString(), sessionStorage, attributesNames);
7183
}
7284

7385
public BatchAttributeAdapter attributes(String... attributesNames) {
74-
return new BatchAttributeAdapter(holderUri.toString(), sessionStorage, attributesNames);
86+
return this.attributes(asList(attributesNames));
7587
}
7688
}

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/attributes/BatchAttributeAdapter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ public BatchAttributeAdapter(String holderUri, SessionStorage sessionStorage, St
6262
public BatchAttributeAdapter(String holderUri, SessionStorage sessionStorage, Collection<String> attributesNames) {
6363
this(holderUri, sessionStorage);
6464
for (String attributeName : attributesNames) {
65+
if (attributeName.equals("")) {
66+
throw new IllegalArgumentException("Names of attributes are not valid.");
67+
}
6568
params.add("name", attributeName);
6669
}
6770
}
@@ -107,7 +110,7 @@ public void run() {
107110
}
108111

109112
public OperationResult<HypermediaAttributesListWrapper> createOrUpdate(HypermediaAttributesListWrapper attributesListWrapper) {
110-
if (params.size() == 0) {
113+
if (params.get("name") == null || params.get("name").size() == 0) {
111114
throw new IllegalStateException("Names of attributes were not defined.");
112115
}
113116
LinkedList<HypermediaAttribute> list = new LinkedList<HypermediaAttribute>(attributesListWrapper.getProfileAttributes());

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/attributes/SingleAttributeAdapter.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ public class SingleAttributeAdapter extends AbstractAdapter {
4646

4747
public SingleAttributeAdapter(String holderUri, SessionStorage sessionStorage, String attributeName) {
4848
super(sessionStorage);
49-
if (sessionStorage == null || holderUri == null) {
50-
throw new IllegalArgumentException("URI cannot be null.");
51-
}
5249
this.holderUri = holderUri;
5350
this.attributeName = attributeName;
5451
}

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/organizations/BatchOrganizationsAdapter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,7 @@ public BatchOrganizationsAdapter parameter(OrganizationParameter orgParam, Strin
4848
}
4949

5050
public BatchOrganizationsAdapter parameter(OrganizationParameter orgParam, Boolean value) {
51-
params.add(orgParam.getParamName(), value.toString());
52-
return this;
51+
return this.parameter(orgParam, value.toString());
5352
}
5453

5554
public OperationResult<OrganizationsListWrapper> get() {

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/organizations/OrganizationsService.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,18 @@ public OrganizationsService(SessionStorage sessionStorage) {
3131
}
3232

3333
public SingleOrganizationAdapter organization(ClientTenant organization) {
34+
if (organization == null || (organization.getId() == null || organization.getId().equals("")
35+
&& (organization.getAlias() == null || organization.getAlias().equals("")))) {
36+
throw new IllegalArgumentException("Organization is not valid.");
37+
}
3438
return new SingleOrganizationAdapter(sessionStorage, organization);
3539
}
3640

3741
public SingleOrganizationAdapter organization(String organizationId) {
38-
return new SingleOrganizationAdapter(sessionStorage, new ClientTenant().setId(organizationId));
42+
return this.organization(new ClientTenant().setId(organizationId));
3943
}
4044

41-
public BatchOrganizationsAdapter organizations() {
45+
public BatchOrganizationsAdapter allOrganizations() {
4246
return new BatchOrganizationsAdapter(sessionStorage);
4347
}
4448
}

src/main/java/com/jaspersoft/jasperserver/jaxrs/client/apiadapters/authority/organizations/SingleOrganizationAdapter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class SingleOrganizationAdapter extends AbstractAdapter {
4444

4545
public SingleOrganizationAdapter(SessionStorage sessionStorage, ClientTenant clientTenant) {
4646
super(sessionStorage);
47-
this.clientTenant= clientTenant;
47+
this.clientTenant = clientTenant;
4848
this.params = new MultivaluedHashMap<String, String>();
4949
}
5050

@@ -131,7 +131,8 @@ private JerseyRequest<ClientTenant> buildRequest() {
131131
return JerseyRequest.buildRequest(
132132
sessionStorage,
133133
ClientTenant.class,
134-
new String[]{"/organizations", clientTenant.getId()},
134+
new String[]{"/organizations",
135+
(clientTenant.getId() == null) ? clientTenant.getAlias() : clientTenant.getId()},
135136
new DefaultErrorHandler()
136137
);
137138
}

0 commit comments

Comments
 (0)