Skip to content

Commit fee7911

Browse files
author
Libor Rysavy
committed
tune model package DTOs
1 parent 1c754aa commit fee7911

20 files changed

Lines changed: 389 additions & 127 deletions

src/main/java/com/gooddata/model/DiffTask.java renamed to src/main/java/com/gooddata/gdc/AsyncTask.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Copyright (C) 2007-2014, GoodData(R) Corporation. All rights reserved.
33
*/
4-
package com.gooddata.model;
4+
package com.gooddata.gdc;
55

66
import org.codehaus.jackson.annotate.JsonCreator;
77
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
@@ -11,30 +11,31 @@
1111
import org.codehaus.jackson.map.annotate.JsonSerialize;
1212

1313
/**
14-
* TODO may be move somewhere to common
14+
* Asynchronous task containing link for polling.
15+
* Deserialization only.
1516
*/
1617
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
1718
@JsonTypeName("asyncTask")
1819
@JsonIgnoreProperties(ignoreUnknown = true)
1920
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
20-
public class DiffTask {
21+
public class AsyncTask {
2122

2223
private Link link;
2324

2425
@JsonCreator
25-
public DiffTask(@JsonProperty("link") Link link) {
26+
private AsyncTask(@JsonProperty("link") Link link) {
2627
this.link = link;
2728
}
2829

2930
public String getUri() {
3031
return link.pollUri;
3132
}
3233

33-
public static class Link {
34+
private static class Link {
3435
private String pollUri;
3536

3637
@JsonCreator
37-
public Link(@JsonProperty("poll") String pollUri) {
38+
private Link(@JsonProperty("poll") String pollUri) {
3839
this.pollUri = pollUri;
3940
}
4041
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Copyright (C) 2007-2014, GoodData(R) Corporation. All rights reserved.
3+
*/
4+
package com.gooddata.gdc;
5+
6+
import org.codehaus.jackson.annotate.JsonCreator;
7+
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
8+
import org.codehaus.jackson.annotate.JsonProperty;
9+
10+
import java.util.List;
11+
12+
/**
13+
* Collection of links. Typically used as a result of asynchronous task returning more links.
14+
* Deserialization only.
15+
*/
16+
@JsonIgnoreProperties(ignoreUnknown = true)
17+
public class LinkEntries {
18+
19+
private final List<LinkEntry> entries;
20+
21+
@JsonCreator
22+
protected LinkEntries(@JsonProperty("entries") List<LinkEntry> entries) {
23+
this.entries = entries;
24+
}
25+
26+
protected List<LinkEntry> getEntries() {
27+
return entries;
28+
}
29+
30+
@JsonIgnoreProperties(ignoreUnknown = true)
31+
protected static class LinkEntry {
32+
private final String link;
33+
private final String category;
34+
35+
@JsonCreator
36+
private LinkEntry(@JsonProperty("link") String link, @JsonProperty("category") String category) {
37+
this.link = link;
38+
this.category = category;
39+
}
40+
41+
public String getLink() {
42+
return link;
43+
}
44+
45+
public String getCategory() {
46+
return category;
47+
}
48+
}
49+
}

src/main/java/com/gooddata/model/DiffRequest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
*/
44
package com.gooddata.model;
55

6-
import org.codehaus.jackson.annotate.JsonCreator;
76
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
87
import org.codehaus.jackson.annotate.JsonProperty;
98
import org.codehaus.jackson.annotate.JsonRawValue;
@@ -15,6 +14,7 @@
1514

1615
/**
1716
* A request to perform diff between current project model and given targetModel.
17+
* Serialization only.
1818
*/
1919
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
2020
@JsonTypeName("diffRequest")
@@ -25,13 +25,13 @@ public class DiffRequest {
2525
public static final String URI = "/gdc/projects/{project-id}/model/diff";
2626

2727
@JsonRawValue
28+
@JsonProperty("targetModel")
2829
private final String targetModel;
2930

3031
/**
3132
* @param targetModel desired target state of project model
3233
*/
33-
@JsonCreator
34-
public DiffRequest(@JsonProperty("targetModel") String targetModel) {
34+
public DiffRequest(String targetModel) {
3535
this.targetModel = notNull(targetModel, "targetModel");
3636
}
3737

src/main/java/com/gooddata/model/MaqlDdl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
*/
44
package com.gooddata.model;
55

6-
import org.codehaus.jackson.annotate.JsonCreator;
76
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
87
import org.codehaus.jackson.annotate.JsonProperty;
98
import org.codehaus.jackson.annotate.JsonTypeInfo;
109
import org.codehaus.jackson.annotate.JsonTypeName;
1110
import org.codehaus.jackson.map.annotate.JsonSerialize;
1211

1312
/**
14-
* MAQL DDL statement
13+
* MAQL DDL statement.
14+
* Serialization only.
1515
*/
1616
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
1717
@JsonTypeName("manage")
@@ -21,10 +21,10 @@ public class MaqlDdl {
2121

2222
public static final String URI = "/gdc/md/{project}/ldm/manage2";
2323

24+
@JsonProperty("maql")
2425
private final String maql;
2526

26-
@JsonCreator
27-
public MaqlDdl(@JsonProperty("maql") String maql) {
27+
public MaqlDdl(String maql) {
2828
this.maql = maql;
2929
}
3030

src/main/java/com/gooddata/model/MaqlDdlLinks.java

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
*/
44
package com.gooddata.model;
55

6+
import com.gooddata.gdc.LinkEntries;
67
import org.codehaus.jackson.annotate.JsonCreator;
78
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
89
import org.codehaus.jackson.annotate.JsonProperty;
@@ -11,48 +12,26 @@
1112
import java.util.List;
1213

1314
/**
14-
* TODO
15-
*/
15+
* MAQL DDL links (result from POSTing to /ldm/manage2).
16+
* Deserialization only.
17+
*/
1618
@JsonIgnoreProperties(ignoreUnknown = true)
1719
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
18-
class MaqlDdlLinks {
20+
class MaqlDdlLinks extends LinkEntries {
1921

2022
private static final String TASKS_STATUS = "tasks-status";
2123

22-
private final List<LinkEntry> entries;
23-
2424
@JsonCreator
25-
MaqlDdlLinks(@JsonProperty("entries") List<LinkEntry> entries) {
26-
this.entries = entries;
25+
private MaqlDdlLinks(@JsonProperty("entries") List<LinkEntry> entries) {
26+
super(entries);
2727
}
2828

2929
public String getStatusLink() {
30-
for (LinkEntry linkEntry : entries) {
30+
for (LinkEntry linkEntry : getEntries()) {
3131
if (TASKS_STATUS.equals(linkEntry.getCategory())) {
3232
return linkEntry.getLink();
3333
}
3434
}
3535
return null;
3636
}
37-
38-
@JsonIgnoreProperties(ignoreUnknown = true)
39-
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
40-
private static class LinkEntry {
41-
private final String link;
42-
private final String category;
43-
44-
@JsonCreator
45-
private LinkEntry(@JsonProperty("link") String link, @JsonProperty("category") String category) {
46-
this.link = link;
47-
this.category = category;
48-
}
49-
50-
public String getLink() {
51-
return link;
52-
}
53-
54-
public String getCategory() {
55-
return category;
56-
}
57-
}
5837
}

src/main/java/com/gooddata/model/MaqlDdlTaskStatus.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
import java.util.Collection;
1515

1616
/**
17-
* MAQL DDL task status
17+
* MAQL DDL asynchronous task status.
18+
* Deserialization only.
1819
*/
1920
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
2021
@JsonTypeName("wTaskStatus")
@@ -26,24 +27,24 @@ public class MaqlDdlTaskStatus {
2627

2728
private final String status;
2829

29-
private final String uri;
30+
private final String pollUri;
3031

3132
private final Collection<GdcError> messages;
3233

3334
@JsonCreator
34-
public MaqlDdlTaskStatus(@JsonProperty("status") String status, @JsonProperty("poll") String uri,
35-
@JsonProperty("messages") Collection<GdcError> messages) {
35+
private MaqlDdlTaskStatus(@JsonProperty("status") String status, @JsonProperty("poll") String pollUri,
36+
@JsonProperty("messages") Collection<GdcError> messages) {
3637
this.status = status;
37-
this.uri = uri;
38+
this.pollUri = pollUri;
3839
this.messages = messages;
3940
}
4041

4142
public String getStatus() {
4243
return status;
4344
}
4445

45-
public String getUri() {
46-
return uri;
46+
public String getPollUri() {
47+
return pollUri;
4748
}
4849

4950
public Collection<GdcError> getMessages() {

0 commit comments

Comments
 (0)