Skip to content

Commit 20b8600

Browse files
committed
Initial work to simplify the rest server
- remove JsonNode from API interfaces - refactor consistently toStringand hashCode and equals for the domain objects - remove deprecated code - simplified pom dependencies - remove com.codehaus.jackson dependency and promote com.fasterxml.jackson usage - adjust BrooklynJacksonSerializer to use jackson 2 api - fix web.xml for rest-api and rest-client - update feature.xml dependencies, following maven dependency changes
1 parent bb8980a commit 20b8600

File tree

72 files changed

+1348
-1052
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1348
-1052
lines changed

camp/camp-server/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,6 @@
142142
<groupId>org.apache.commons</groupId>
143143
<artifactId>commons-lang3</artifactId>
144144
</dependency>
145-
<!-- ATTN: this moves the dependency version from 1.9.2 to 1.9.13 -->
146-
<dependency>
147-
<groupId>org.codehaus.jackson</groupId>
148-
<artifactId>jackson-core-asl</artifactId>
149-
</dependency>
150145
<dependency>
151146
<groupId>org.slf4j</groupId>
152147
<artifactId>slf4j-api</artifactId>

core/pom.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,6 @@
6565
<groupId>com.thoughtworks.xstream</groupId>
6666
<artifactId>xstream</artifactId>
6767
</dependency>
68-
<dependency>
69-
<groupId>org.codehaus.jackson</groupId>
70-
<artifactId>jackson-mapper-asl</artifactId>
71-
</dependency>
7268
<dependency>
7369
<groupId>com.google.code.gson</groupId>
7470
<artifactId>gson</artifactId>
@@ -138,10 +134,6 @@
138134
<groupId>org.slf4j</groupId>
139135
<artifactId>slf4j-api</artifactId>
140136
</dependency>
141-
<dependency>
142-
<groupId>org.codehaus.jackson</groupId>
143-
<artifactId>jackson-core-asl</artifactId>
144-
</dependency>
145137
<dependency>
146138
<groupId>com.google.guava</groupId>
147139
<artifactId>guava</artifactId>

core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTags.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
import java.util.List;
2424

2525
import org.apache.brooklyn.util.collections.MutableList;
26-
import org.codehaus.jackson.annotate.JsonIgnore;
27-
import org.codehaus.jackson.annotate.JsonProperty;
2826

27+
import com.fasterxml.jackson.annotation.JsonIgnore;
28+
import com.fasterxml.jackson.annotation.JsonProperty;
2929
import com.google.common.annotations.Beta;
3030
import com.google.common.base.Function;
3131
import com.google.common.base.Objects;
@@ -40,7 +40,8 @@ public class BrooklynTags {
4040

4141
public static class NamedStringTag implements Serializable {
4242
private static final long serialVersionUID = 7932098757009051348L;
43-
@JsonProperty final String kind;
43+
@JsonProperty
44+
final String kind;
4445
@JsonProperty final String contents;
4546
public NamedStringTag(@JsonProperty("kind") String kind, @JsonProperty("contents") String contents) {
4647
this.kind = kind;

core/src/main/java/org/apache/brooklyn/core/mgmt/BrooklynTaskTags.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@
4242
import org.apache.brooklyn.util.stream.Streams;
4343
import org.apache.brooklyn.util.text.StringEscapes.BashStringEscapes;
4444
import org.apache.brooklyn.util.text.Strings;
45-
import org.codehaus.jackson.annotate.JsonProperty;
4645
import org.slf4j.Logger;
4746
import org.slf4j.LoggerFactory;
4847

48+
import com.fasterxml.jackson.annotation.JsonProperty;
4949
import com.google.common.annotations.Beta;
5050
import com.google.common.base.Functions;
5151
import com.google.common.base.Objects;

core/src/main/java/org/apache/brooklyn/core/mgmt/ha/dto/BasicManagementNodeSyncRecord.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@
2525
import org.apache.brooklyn.api.mgmt.ha.ManagementNodeSyncRecord;
2626
import org.apache.brooklyn.core.BrooklynVersion;
2727
import org.apache.brooklyn.util.time.Time;
28-
import org.codehaus.jackson.annotate.JsonAutoDetect;
29-
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
3028

29+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
3130
import com.google.common.base.Objects;
3231

3332
/**
@@ -36,7 +35,7 @@
3635
*
3736
* @author aled
3837
*/
39-
@JsonAutoDetect(fieldVisibility=Visibility.ANY, getterVisibility=Visibility.NONE)
38+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
4039
public class BasicManagementNodeSyncRecord implements ManagementNodeSyncRecord, Serializable {
4140

4241
private static final long serialVersionUID = 4918161834047884244L;

core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BasicCatalogItemMemento.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
import org.apache.brooklyn.api.objs.SpecParameter;
3030
import org.apache.brooklyn.core.catalog.internal.BasicBrooklynCatalog;
3131
import org.apache.brooklyn.core.catalog.internal.CatalogUtils;
32-
import org.codehaus.jackson.annotate.JsonAutoDetect;
3332

33+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
3434
import com.google.common.base.Joiner;
3535
import com.google.common.base.Objects;
3636
import com.google.common.collect.ImmutableList;

core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/BasicEntityMemento.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
import org.apache.brooklyn.api.mgmt.rebind.mementos.TreeNode;
3131
import org.apache.brooklyn.api.sensor.AttributeSensor;
3232
import org.apache.brooklyn.api.sensor.Sensor;
33-
import org.codehaus.jackson.annotate.JsonAutoDetect;
34-
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
3533
import org.slf4j.Logger;
3634
import org.slf4j.LoggerFactory;
3735
import org.apache.brooklyn.config.ConfigKey;
@@ -41,6 +39,7 @@
4139
import org.apache.brooklyn.core.objs.BrooklynTypes;
4240
import org.apache.brooklyn.core.sensor.Sensors;
4341

42+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
4443
import com.google.common.base.Objects.ToStringHelper;
4544
import com.google.common.collect.Lists;
4645
import com.google.common.collect.Maps;
@@ -54,7 +53,7 @@
5453
*
5554
* @author aled
5655
*/
57-
@JsonAutoDetect(fieldVisibility=Visibility.ANY, getterVisibility=Visibility.NONE)
56+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility= JsonAutoDetect.Visibility.NONE)
5857
public class BasicEntityMemento extends AbstractTreeNodeMemento implements EntityMemento, Serializable {
5958

6059
private static final Logger log = LoggerFactory.getLogger(BasicEntityMemento.class);

core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/dto/MutableBrooklynMemento.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,8 @@
3131
import org.apache.brooklyn.api.mgmt.rebind.mementos.FeedMemento;
3232
import org.apache.brooklyn.api.mgmt.rebind.mementos.LocationMemento;
3333
import org.apache.brooklyn.api.mgmt.rebind.mementos.PolicyMemento;
34-
import org.codehaus.jackson.annotate.JsonAutoDetect;
35-
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
3634

35+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
3736
import com.google.common.collect.ImmutableList;
3837
import com.google.common.collect.ImmutableMap;
3938
import com.google.common.collect.ImmutableSet;
@@ -44,7 +43,7 @@
4443
/**
4544
* @deprecated since 0.7.0; this code will move to src/tests/java
4645
*/
47-
@JsonAutoDetect(fieldVisibility=Visibility.ANY, getterVisibility=Visibility.NONE)
46+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE)
4847
public class MutableBrooklynMemento implements BrooklynMemento {
4948

5049
// TODO Is this class pulling its weight? Do we really need it?

karaf/features/src/main/feature/feature.xml

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585
<feature name="brooklyn-rest-api" version="${project.version}" description="Brooklyn REST API">
8686
<feature>brooklyn-utils-rest-swagger</feature>
8787
<feature>brooklyn-api</feature>
88+
<feature>brooklyn-core</feature>
8889

8990
<bundle>mvn:org.apache.brooklyn/brooklyn-rest-api/${project.version}</bundle>
9091

@@ -98,8 +99,8 @@
9899
<!--<feature>jersey</feature>-->
99100
<bundle dependency="true">mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
100101
<bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
101-
<bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson.version}</bundle>
102-
<bundle dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson.version}</bundle>
102+
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${fasterxml.jackson.version}</bundle>
103+
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${fasterxml.jackson.version}</bundle>
103104

104105
<!--<bundle dependency="true">mvn:javax.ws.rs/jsr311-api/${jsr311-api.version}</bundle>-->
105106
<bundle dependency="true">mvn:javax.servlet/javax.servlet-api/${javax-servlet.version}</bundle>
@@ -116,7 +117,7 @@
116117
<bundle>mvn:org.apache.brooklyn/brooklyn-core/${project.version}</bundle>
117118
<bundle>mvn:org.apache.brooklyn/brooklyn-rt-osgi/${project.version}</bundle>
118119
<bundle>mvn:org.apache.brooklyn/brooklyn-utils-groovy/${project.version}</bundle>
119-
120+
120121
<bundle dependency="true">mvn:com.google.code.gson/gson/${gson.version}</bundle>
121122
<bundle dependency="true">mvn:com.jayway.jsonpath/json-path/${jsonPath.version}</bundle>
122123
<bundle dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${fasterxml.jackson.version}</bundle>
@@ -132,9 +133,6 @@
132133
<bundle dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bouncycastle.version}</bundle>
133134
<bundle dependency="true">mvn:commons-codec/commons-codec/${commons-codec.version}</bundle>
134135
<bundle dependency="true">mvn:org.apache.commons/commons-lang3/${commons-lang3.version}</bundle>
135-
<bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson.version}</bundle>
136-
<bundle dependency="true">mvn:org.codehaus.jackson/jackson-mapper-asl/${jackson.version}</bundle>
137-
<bundle dependency="true">mvn:org.codehaus.jackson/jackson-jaxrs/${jackson.version}</bundle>
138136

139137
<!-- TODO: don't use wrap -->
140138
<bundle dependency="true">wrap:mvn:com.google.http-client/google-http-client/1.18.0-rc</bundle> <!-- from geoip -->
@@ -168,16 +166,10 @@
168166
<feature>brooklyn-camp-base</feature>
169167
<feature>brooklyn-utils-rest-swagger</feature>
170168
<feature>jetty</feature> <!-- TODO: pax-jetty??? -->
171-
172-
<bundle dependency="true">mvn:org.codehaus.jackson/jackson-core-asl/${jackson.version}</bundle>
173-
174-
<bundle dependency="true">wrap:mvn:javax.validation/validation-api/${validation-api.version}</bundle>
175-
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.reflections/${reflections.bundle.version}</bundle>
176169
</feature>
177170

178171
<feature name="brooklyn-rest-server" version="${project.version}" description="Brooklyn REST Server">
179172
<bundle>mvn:org.apache.brooklyn/brooklyn-rest-server/${project.version}</bundle>
180-
<feature>brooklyn-core</feature>
181173
<feature>brooklyn-rest-api</feature>
182174
<feature>brooklyn-camp-brooklyn</feature>
183175
<feature>brooklyn-camp-base</feature>
@@ -188,18 +180,21 @@
188180
<bundle dependency="true">mvn:com.sun.jersey/jersey-server/${jersey.version}</bundle>
189181
<bundle dependency="true">mvn:com.sun.jersey/jersey-core/${jersey.version}</bundle>
190182
<bundle dependency="true">mvn:com.sun.jersey/jersey-servlet/${jersey.version}</bundle>
183+
184+
<bundle dependency="true">mvn:com.fasterxml.jackson.datatype/jackson-datatype-guava/${fasterxml.jackson.version}</bundle>
185+
<bundle dependency="true">mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/${fasterxml.jackson.version}</bundle>
191186
</feature>
192187

193188
<feature name="brooklyn-jsgui" version="${project.version}" description="Brooklyn REST JavaScript Web GUI">
194189
<bundle>mvn:org.apache.brooklyn/brooklyn-jsgui/${project.version}/war</bundle>
195190
<feature>war</feature>
196191
</feature>
197-
192+
198193
<feature name="brooklyn-commands" version="${project.version}" description="Brooklyn Shell Commands">
199194
<bundle>mvn:org.apache.brooklyn/brooklyn-commands/${project.version}</bundle>
200195
<!--<feature version="${project.version}">brooklyn-core</feature>-->
201196
</feature>
202-
197+
203198
<feature name="brooklyn-software-winrm" version="${project.version}" description="Brooklyn WinRM Software Entities">
204199
<bundle>mvn:org.apache.brooklyn/brooklyn-software-winrm/${project.version}</bundle>
205200
<feature>brooklyn-core</feature>
@@ -285,5 +280,5 @@
285280
<feature>brooklyn-software-base</feature>
286281
<bundle dependency="true">mvn:com.google.guava/guava/${guava.version}</bundle>
287282
</feature>
288-
283+
289284
</features>

parent/pom.xml

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -173,26 +173,6 @@
173173
<artifactId>jetty-schemas</artifactId>
174174
<version>${jetty-schemas.version}</version>
175175
</dependency>
176-
<dependency>
177-
<groupId>org.codehaus.jackson</groupId>
178-
<artifactId>jackson-core-asl</artifactId>
179-
<version>${jackson.version}</version>
180-
</dependency>
181-
<dependency>
182-
<groupId>org.codehaus.jackson</groupId>
183-
<artifactId>jackson-mapper-asl</artifactId>
184-
<version>${jackson.version}</version>
185-
</dependency>
186-
<dependency>
187-
<groupId>org.codehaus.jackson</groupId>
188-
<artifactId>jackson-jaxrs</artifactId>
189-
<version>${jackson.version}</version>
190-
</dependency>
191-
<dependency>
192-
<groupId>org.codehaus.jackson</groupId>
193-
<artifactId>jackson-xc</artifactId>
194-
<version>${jackson.version}</version>
195-
</dependency>
196176
<dependency>
197177
<groupId>com.fasterxml.jackson.core</groupId>
198178
<artifactId>jackson-annotations</artifactId>
@@ -218,6 +198,11 @@
218198
<artifactId>jackson-module-jaxb-annotations</artifactId>
219199
<version>${fasterxml.jackson.version}</version>
220200
</dependency>
201+
<dependency>
202+
<groupId>com.fasterxml.jackson.datatype</groupId>
203+
<artifactId>jackson-datatype-guava</artifactId>
204+
<version>${fasterxml.jackson.version}</version>
205+
</dependency>
221206
<dependency>
222207
<groupId>io.swagger</groupId>
223208
<artifactId>swagger-annotations</artifactId>
@@ -402,7 +387,7 @@
402387
</dependency>
403388
<dependency>
404389
<groupId>org.jboss.resteasy</groupId>
405-
<artifactId>resteasy-jackson-provider</artifactId>
390+
<artifactId>resteasy-jackson2-provider</artifactId>
406391
<version>${resteasy.version}</version>
407392
</dependency>
408393
<dependency>

0 commit comments

Comments
 (0)