Skip to content

Commit

Permalink
util, jaxrs: Implement isSelectedForStart for PluginInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrossie committed Dec 12, 2015
1 parent e2e38cd commit ee17e51
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 6 deletions.
Expand Up @@ -40,16 +40,20 @@ public class PluginInfoJson {


private final Set<PluginServiceInfoJson> services; private final Set<PluginServiceInfoJson> services;


private final Boolean isSelectedForStart;

@JsonCreator @JsonCreator
public PluginInfoJson(@JsonProperty("bundleSymbolicName") final String bundleSymbolicName, public PluginInfoJson(@JsonProperty("bundleSymbolicName") final String bundleSymbolicName,
@JsonProperty("pluginName") final String pluginName, @JsonProperty("pluginName") final String pluginName,
@JsonProperty("version") final String version, @JsonProperty("version") final String version,
@JsonProperty("state") final String state, @JsonProperty("state") final String state,
@JsonProperty("isSelectedForStart") final Boolean isSelectedForStart,
@JsonProperty("services") final Set<PluginServiceInfoJson> services) { @JsonProperty("services") final Set<PluginServiceInfoJson> services) {
this.bundleSymbolicName = bundleSymbolicName; this.bundleSymbolicName = bundleSymbolicName;
this.pluginName = pluginName; this.pluginName = pluginName;
this.version = version; this.version = version;
this.state = state; this.state = state;
this.isSelectedForStart = isSelectedForStart;
this.services = services; this.services = services;
} }


Expand All @@ -58,6 +62,7 @@ public PluginInfoJson(final PluginInfo input) {
input.getPluginName(), input.getPluginName(),
input.getVersion(), input.getVersion(),
input.getPluginState().name(), input.getPluginState().name(),
input.isSelectedForStart(),
ImmutableSet.copyOf(Iterables.transform(input.getServices(), new Function<PluginServiceInfo, PluginServiceInfoJson>() { ImmutableSet.copyOf(Iterables.transform(input.getServices(), new Function<PluginServiceInfo, PluginServiceInfoJson>() {
@Override @Override
public PluginServiceInfoJson apply(final PluginServiceInfo input) { public PluginServiceInfoJson apply(final PluginServiceInfo input) {
Expand All @@ -82,6 +87,11 @@ public String getState() {
return state; return state;
} }


@JsonProperty("isSelectedForStart")
public Boolean isSelectedForStart() {
return isSelectedForStart;
}

public Set<PluginServiceInfoJson> getServices() { public Set<PluginServiceInfoJson> getServices() {
return services; return services;
} }
Expand Down
Expand Up @@ -120,6 +120,7 @@ public PluginServiceInfoJson apply(final PluginServiceInfo input) {
input.getPluginName(), input.getPluginName(),
input.getVersion(), input.getVersion(),
input.getPluginState().name(), input.getPluginState().name(),
input.isSelectedForStart(),
servicesJson); servicesJson);
} }
})); }));
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -21,7 +21,7 @@
<parent> <parent>
<artifactId>killbill-oss-parent</artifactId> <artifactId>killbill-oss-parent</artifactId>
<groupId>org.kill-bill.billing</groupId> <groupId>org.kill-bill.billing</groupId>
<version>0.72</version> <version>0.74</version>
</parent> </parent>
<artifactId>killbill</artifactId> <artifactId>killbill</artifactId>
<version>0.15.11-SNAPSHOT</version> <version>0.15.11-SNAPSHOT</version>
Expand Down
Expand Up @@ -111,7 +111,7 @@ private String computeLatestNodeInfo() throws IOException {
NodeInfoModelJson nodeInfoJson = mapper.deserializeNodeInfo(nodeInfo.getNodeInfo()); NodeInfoModelJson nodeInfoJson = mapper.deserializeNodeInfo(nodeInfo.getNodeInfo());


final Iterable<PluginInfo> rawPluginInfo = pluginInfoApi.getPluginsInfo(); final Iterable<PluginInfo> rawPluginInfo = pluginInfoApi.getPluginsInfo();
final List<PluginInfo> pluginInfo = rawPluginInfo.iterator().hasNext() ? ImmutableList.<PluginInfo>copyOf(rawPluginInfo) : ImmutableList.<PluginInfo>of(); final List<PluginInfo> pluginInfos = rawPluginInfo.iterator().hasNext() ? ImmutableList.<PluginInfo>copyOf(rawPluginInfo) : ImmutableList.<PluginInfo>of();


final NodeInfoModelJson updatedNodeInfoJson = new NodeInfoModelJson(CreatorName.get(), final NodeInfoModelJson updatedNodeInfoJson = new NodeInfoModelJson(CreatorName.get(),
nodeInfoJson.getBootTime(), nodeInfoJson.getBootTime(),
Expand All @@ -121,7 +121,7 @@ private String computeLatestNodeInfo() throws IOException {
nodeInfoJson.getPluginApiVersion(), nodeInfoJson.getPluginApiVersion(),
nodeInfoJson.getCommonVersion(), nodeInfoJson.getCommonVersion(),
nodeInfoJson.getPlatformVersion(), nodeInfoJson.getPlatformVersion(),
ImmutableList.copyOf(Iterables.transform(pluginInfo, new Function<PluginInfo, PluginInfoModelJson>() { ImmutableList.copyOf(Iterables.transform(pluginInfos, new Function<PluginInfo, PluginInfoModelJson>() {
@Override @Override
public PluginInfoModelJson apply(final PluginInfo input) { public PluginInfoModelJson apply(final PluginInfo input) {
return new PluginInfoModelJson(input); return new PluginInfoModelJson(input);
Expand Down
Expand Up @@ -94,8 +94,7 @@ private static Iterable<PluginInfo> toPluginInfo(final Iterable<PluginInfoModelJ
return Iterables.transform(plugins, new Function<PluginInfoModelJson, PluginInfo>() { return Iterables.transform(plugins, new Function<PluginInfoModelJson, PluginInfo>() {
@Override @Override
public PluginInfo apply(final PluginInfoModelJson input) { public PluginInfo apply(final PluginInfoModelJson input) {

return new DefaultPluginInfo(input.getBundleSymbolicName(), input.getPluginName(), input.getVersion(), input.getState(), input.isSelectedForStart(), toPluginServiceInfo(input.getServices()));
return new DefaultPluginInfo(input.getBundleSymbolicName(), input.getPluginName(), input.getVersion(), input.getState(), toPluginServiceInfo(input.getServices()));
} }
}); });
} }
Expand Down
Expand Up @@ -41,16 +41,20 @@ public class PluginInfoModelJson {


private final Set<PluginServiceInfoModelJson> services; private final Set<PluginServiceInfoModelJson> services;


private final Boolean isSelectedForStart;

@JsonCreator @JsonCreator
public PluginInfoModelJson(@JsonProperty("bundleSymbolicName") final String bundleSymbolicName, public PluginInfoModelJson(@JsonProperty("bundleSymbolicName") final String bundleSymbolicName,
@JsonProperty("pluginName") final String pluginName, @JsonProperty("pluginName") final String pluginName,
@JsonProperty("version") final String version, @JsonProperty("version") final String version,
@JsonProperty("state") final PluginState state, @JsonProperty("state") final PluginState state,
@JsonProperty("isSelectedForStart") final Boolean isSelectedForStart,
@JsonProperty("services") final Set<PluginServiceInfoModelJson> services) { @JsonProperty("services") final Set<PluginServiceInfoModelJson> services) {
this.bundleSymbolicName = bundleSymbolicName; this.bundleSymbolicName = bundleSymbolicName;
this.pluginName = pluginName; this.pluginName = pluginName;
this.version = version; this.version = version;
this.state = state; this.state = state;
this.isSelectedForStart = isSelectedForStart;
this.services = services; this.services = services;
} }


Expand All @@ -59,6 +63,7 @@ public PluginInfoModelJson(final PluginInfo input) {
input.getPluginName(), input.getPluginName(),
input.getVersion(), input.getVersion(),
input.getPluginState(), input.getPluginState(),
input.isSelectedForStart(),
ImmutableSet.copyOf(Iterables.transform(input.getServices(), new Function<PluginServiceInfo, PluginServiceInfoModelJson>() { ImmutableSet.copyOf(Iterables.transform(input.getServices(), new Function<PluginServiceInfo, PluginServiceInfoModelJson>() {
@Override @Override
public PluginServiceInfoModelJson apply(final PluginServiceInfo input) { public PluginServiceInfoModelJson apply(final PluginServiceInfo input) {
Expand All @@ -83,6 +88,11 @@ public PluginState getState() {
return state; return state;
} }


@JsonProperty("isSelectedForStart")
public boolean isSelectedForStart() {
return isSelectedForStart;
}

public Set<PluginServiceInfoModelJson> getServices() { public Set<PluginServiceInfoModelJson> getServices() {
return services; return services;
} }
Expand All @@ -104,6 +114,9 @@ public boolean equals(final Object o) {
if (state != null ? !state.equals(that.state) : that.state != null) { if (state != null ? !state.equals(that.state) : that.state != null) {
return false; return false;
} }
if (isSelectedForStart != that.isSelectedForStart) {
return false;
}
if (pluginName != null ? !pluginName.equals(that.pluginName) : that.pluginName != null) { if (pluginName != null ? !pluginName.equals(that.pluginName) : that.pluginName != null) {
return false; return false;
} }
Expand Down
Expand Up @@ -48,7 +48,7 @@ public void testNodeInfoSerialization() throws Exception {
services1.add(svc); services1.add(svc);


final List<PluginInfoModelJson> pluginInfos = new ArrayList<PluginInfoModelJson>(); final List<PluginInfoModelJson> pluginInfos = new ArrayList<PluginInfoModelJson>();
final PluginInfoModelJson info1 = new PluginInfoModelJson("sym1", "name1", "vers1", PluginState.STOPPED, services1); final PluginInfoModelJson info1 = new PluginInfoModelJson("sym1", "name1", "vers1", PluginState.STOPPED, true, services1);
pluginInfos.add(info1); pluginInfos.add(info1);
final NodeInfoModelJson input = new NodeInfoModelJson("nodeName", clock.getUTCNow(), clock.getUTCNow(), "1.0", "1.0", "1.0", "1.0", "1.0", pluginInfos); final NodeInfoModelJson input = new NodeInfoModelJson("nodeName", clock.getUTCNow(), clock.getUTCNow(), "1.0", "1.0", "1.0", "1.0", "1.0", pluginInfos);


Expand Down

0 comments on commit ee17e51

Please sign in to comment.