You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ha...@apache.org on 2015/08/09 04:55:31 UTC
[24/28] incubator-brooklyn git commit: brooklyn-rest-api: add
org.apache package prefix
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/api/SensorApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/api/SensorApi.java b/usage/rest-api/src/main/java/brooklyn/rest/api/SensorApi.java
deleted file mode 100644
index 916786c..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/api/SensorApi.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.api;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-
-import brooklyn.rest.apidoc.Apidoc;
-import brooklyn.rest.domain.SensorSummary;
-
-import com.wordnik.swagger.core.ApiError;
-import com.wordnik.swagger.core.ApiErrors;
-import com.wordnik.swagger.core.ApiOperation;
-import com.wordnik.swagger.core.ApiParam;
-
-@Path("/v1/applications/{application}/entities/{entity}/sensors")
-@Apidoc("Entity Sensors")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface SensorApi {
-
- @GET
- @ApiOperation(value = "Fetch the sensor list for a specific application entity",
- responseClass = "brooklyn.rest.domain.SensorSummary",
- multiValueResponse = true)
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Could not find application or entity")
- })
- public List<SensorSummary> list(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken);
-
- @GET
- @Path("/current-state")
- @ApiOperation(value = "Fetch sensor values in batch", notes="Returns a map of sensor name to value")
- public Map<String, Object> batchSensorRead(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken,
- @ApiParam(value = "Return raw sensor data instead of display values", required = false)
- @QueryParam("raw") @DefaultValue("false") final Boolean raw);
-
- @GET
- @Path("/{sensor}")
- @ApiOperation(value = "Fetch sensor value (json)", responseClass = "Object")
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Could not find application, entity or sensor")
- })
- public Object get(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken,
- @ApiParam(value = "Sensor name", required = true)
- @PathParam("sensor") String sensorName,
- @ApiParam(value = "Return raw sensor data instead of display values", required = false)
- @QueryParam("raw") @DefaultValue("false") final Boolean raw);
-
- // this method is used if user has requested plain (ie not converting to json)
- @GET
- @Path("/{sensor}")
- @ApiOperation(value = "Fetch sensor value (text/plain)", responseClass = "String")
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Could not find application, entity or sensor")
- })
- @Produces(MediaType.TEXT_PLAIN)
- public String getPlain(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken,
- @ApiParam(value = "Sensor name", required = true)
- @PathParam("sensor") String sensorName,
- @ApiParam(value = "Return raw sensor data instead of display values", required = false)
- @QueryParam("raw") @DefaultValue("false") final Boolean raw);
-
- @POST
- @ApiOperation(value = "Manually set multiple sensor values")
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Could not find application or entity")
- })
- @SuppressWarnings("rawtypes")
- public void setFromMap(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken,
- @ApiParam(value = "Map of sensor names to values", required = true)
- Map newValues);
-
- @POST
- @Path("/{sensor}")
- @ApiOperation(value = "Manually set a sensor value")
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Could not find application, entity or sensor")
- })
- public void set(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken,
- @ApiParam(value = "Sensor name", required = true)
- @PathParam("sensor") String sensorName,
- @ApiParam(value = "Value to set")
- Object newValue);
-
- @DELETE
- @Path("/{sensor}")
- @ApiOperation(value = "Manually clear a sensor value")
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Could not find application, entity or sensor")
- })
- public void delete(
- @ApiParam(value = "Application ID or name", required = true)
- @PathParam("application") final String application,
- @ApiParam(value = "Entity ID or name", required = true)
- @PathParam("entity") final String entityToken,
- @ApiParam(value = "Sensor name", required = true)
- @PathParam("sensor") String sensorName);
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/api/ServerApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/api/ServerApi.java b/usage/rest-api/src/main/java/brooklyn/rest/api/ServerApi.java
deleted file mode 100644
index d779f68..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/api/ServerApi.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.api;
-
-import java.util.Map;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import brooklyn.management.ha.HighAvailabilityMode;
-import brooklyn.management.ha.ManagementNodeState;
-import brooklyn.rest.apidoc.Apidoc;
-import brooklyn.rest.domain.HighAvailabilitySummary;
-import brooklyn.rest.domain.VersionSummary;
-
-import com.google.common.annotations.Beta;
-import com.wordnik.swagger.core.ApiError;
-import com.wordnik.swagger.core.ApiErrors;
-import com.wordnik.swagger.core.ApiOperation;
-import com.wordnik.swagger.core.ApiParam;
-
-@Path("/v1/server")
-@Apidoc("Server")
-@Produces(MediaType.APPLICATION_JSON)
-@Beta
-public interface ServerApi {
-
- public final String MIME_TYPE_ZIP = "applicaiton/zip";
- // TODO support TGZ, and check mime type
- public final String MIME_TYPE_TGZ = "applicaiton/gzip";
-
- @POST
- @Path("/properties/reload")
- @ApiOperation(value = "Reload brooklyn.properties")
- public void reloadBrooklynProperties();
-
- @POST
- @Path("/shutdown")
- @ApiOperation(value = "Terminate this Brooklyn server instance")
- @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
- public void shutdown(
- @ApiParam(name = "stopAppsFirst", value = "Whether to stop running applications before shutting down")
- @FormParam("stopAppsFirst") @DefaultValue("false") boolean stopAppsFirst,
- @ApiParam(name = "forceShutdownOnError", value ="Force shutdown if apps fail to stop or timeout")
- @FormParam("forceShutdownOnError") @DefaultValue("false") boolean forceShutdownOnError,
- @ApiParam(name = "shutdownTimeout", value = "A maximum delay to wait for apps to gracefully stop before giving up or forcibly exiting, 0 to wait infinitely")
- @FormParam("shutdownTimeout") @DefaultValue("20s") String shutdownTimeout,
- @ApiParam(name = "requestTimeout", value = "Maximum time to block the request for the shutdown to finish, 0 to wait infinitely")
- @FormParam("requestTimeout") @DefaultValue("20s") String requestTimeout,
- @ApiParam(name = "delayForHttpReturn", value = "The delay before exiting the process, to permit the REST response to be returned")
- @FormParam("delayForHttpReturn") @DefaultValue("5s") String delayForHttpReturn,
- @ApiParam(name = "delayMillis", value = "Deprecated, analogous to delayForHttpReturn")
- @FormParam("delayMillis") Long delayMillis);
-
- @GET
- @Path("/version")
- @ApiOperation(value = "Return version identifier information for this Brooklyn instance", responseClass = "String", multiValueResponse = false)
- public VersionSummary getVersion();
-
- @GET
- @Path("/up")
- @ApiOperation(value = "Returns whether this server is up - fully started, and not stopping, though it may have errors")
- public boolean isUp();
-
- @GET
- @Path("/shuttingDown")
- @ApiOperation(value = "Returns whether this server is shutting down")
- public boolean isShuttingDown();
-
- @GET
- @Path("/healthy")
- @ApiOperation(value = "Returns whether this node is healthy - fully started, not stopping, and no errors")
- public boolean isHealthy();
-
- @Deprecated /** @deprecated since 0.7.0 use /ha/node (which returns correct JSON) */
- @GET
- @Path("/status")
- @ApiOperation(value = "Returns the status of this Brooklyn instance [DEPRECATED; see ../ha/state]",
- responseClass = "String",
- multiValueResponse = false)
- public String getStatus();
-
- @GET
- @Path("/up/extended")
- @ApiOperation(value = "Returns extended server-up information, a map including up (/up), shuttingDown (/shuttingDown), healthy (/healthy), and ha (/ha/states) (qv)")
- public Map<String,Object> getUpExtended();
-
- @GET
- @Path("/config/{configKey}")
- @ApiOperation(value = "Get the value of the specified config key from brooklyn properties")
- @ApiErrors(value = {
- // TODO: This should probably return a 404 if the key is not present, and should return a predictable
- // value if the value is not set. Behaviour should be consistent with EntityConfigApi.get()
- @ApiError(code = 204, reason = "Could not find config key")
- })
- public String getConfig(
- @ApiParam(value = "Config key ID", required = true)
- @PathParam("configKey") String configKey);
-
- @Deprecated /** @deprecated since 0.7.0 use /ha/states */
- @GET
- @Path("/highAvailability")
- @ApiOperation(value = "Returns the status of all Brooklyn instances in the management plane [DEPRECATED; see ../ha/states]",
- responseClass = "brooklyn.rest.domain.HighAvailabilitySummary")
- public HighAvailabilitySummary getHighAvailability();
-
- @GET
- @Path("/ha/state")
- @ApiOperation(value = "Returns the HA state of this management node")
- public ManagementNodeState getHighAvailabilityNodeState();
-
- @GET
- @Path("/ha/metrics")
- @ApiOperation(value = "Returns a collection of HA metrics")
- public Map<String,Object> getHighAvailabilityMetrics();
-
- @POST
- @Path("/ha/state")
- @ApiOperation(value = "Changes the HA state of this management node")
- public ManagementNodeState setHighAvailabilityNodeState(
- @ApiParam(name = "mode", value = "The state to change to")
- @FormParam("mode") HighAvailabilityMode mode);
-
- @GET
- @Path("/ha/states")
- @ApiOperation(value = "Returns the HA states and detail for all nodes in this management plane",
- responseClass = "brooklyn.rest.domain.HighAvailabilitySummary")
- public HighAvailabilitySummary getHighAvailabilityPlaneStates();
-
- @POST
- @Path("/ha/states/clear")
- @ApiOperation(value = "Clears HA node information for non-master nodes; active nodes will repopulate and other records will be erased")
- public Response clearHighAvailabilityPlaneStates();
-
- @GET
- @Path("/ha/priority")
- @ApiOperation(value = "Returns the HA node priority for MASTER failover")
- public long getHighAvailabitlityPriority();
-
- @POST
- @Path("/ha/priority")
- @ApiOperation(value = "Sets the HA node priority for MASTER failover")
- public long setHighAvailabilityPriority(
- @ApiParam(name = "priority", value = "The priority to be set")
- @FormParam("priority") long priority);
-
- @GET
- @Produces(MIME_TYPE_ZIP)
- @Path("/ha/persist/export")
- @ApiOperation(value = "Retrieves the persistence store data, as an archive")
- public Response exportPersistenceData(
- @ApiParam(name = "origin", value = "Whether to take from LOCAL or REMOTE state; default to AUTO detect, "
- + "using LOCAL as master and REMOTE for other notes")
- @QueryParam("origin") @DefaultValue("AUTO") String origin);
-
- // TODO would be nice to allow setting, as a means to recover / control more easily than messing with persistent stores
-// @POST
-// @Consumes({MediaType.APPLICATION_FORM_URLENCODED})
-// @Path("/ha/persist/import")
-// @ApiOperation(value = "Causes the supplied persistence data (tgz) to be imported and added "
-// + "(fails if the node is not master), optionally removing any items not referenced")
-// public Response importPersistenceData(
-// // question: do we want the MementoCopyMode, cf export above?
-// @ApiParam(name = "clearOthers", value = "Whether to clear all existing items before adding these", required = false, defaultValue = "false")
-// @FormParam("clearOthers") Boolean clearOthers,
-// @ApiParam(name = "data",
-// value = "TGZ contents of a persistent directory to be imported", required = true)
-// @Valid String dataTgz);
-
- // TODO /ha/persist/backup set of endpoints, to list and retrieve specific backups
-
- @GET
- @Path("/user")
- @ApiOperation(value = "Return user information for this Brooklyn instance",
- responseClass = "String", multiValueResponse = false)
- public String getUser();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/api/UsageApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/api/UsageApi.java b/usage/rest-api/src/main/java/brooklyn/rest/api/UsageApi.java
deleted file mode 100644
index ef06eb6..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/api/UsageApi.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.api;
-
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-
-import brooklyn.rest.apidoc.Apidoc;
-import brooklyn.rest.domain.UsageStatistics;
-
-import com.wordnik.swagger.core.ApiError;
-import com.wordnik.swagger.core.ApiErrors;
-import com.wordnik.swagger.core.ApiOperation;
-import com.wordnik.swagger.core.ApiParam;
-
-@Path("/v1/usage")
-@Apidoc("Usage")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-public interface UsageApi {
-
- // TODO should `/applications?start=...` only return those applications matching the constraint?
- // Or return all applications, but with empty statistics for some?
- // Currently it returns only those applications that match.
-
- @GET
- @Path("/applications")
- @ApiOperation(
- value = "Retrieve usage information about all applications",
- responseClass = "brooklyn.rest.domain.UsageStatistics"
- )
- @ApiErrors(value = {})
- public List<UsageStatistics> listApplicationsUsage(
- @ApiParam(
- name = "start",
- value = "timestamp of start marker for usage reporting, in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("start") String startDate,
- @ApiParam(
- name = "end",
- value = "timestamp of end marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("end") String endDate) ;
-
- @GET
- @Path("/applications/{application}")
- @ApiOperation(
- value = "Retrieve usage information about a specified application",
- responseClass = "brooklyn.rest.domain.UsageStatistics"
- )
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Application not found")
- })
- public UsageStatistics getApplicationUsage(
- @ApiParam(
- name = "application",
- value = "Application id",
- required = true
- )
- @PathParam("application") String applicationId,
- @ApiParam(
- name = "start",
- value = "timestamp of start marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("start") String startDate,
- @ApiParam(
- name = "end",
- value = "timestamp of end marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("end") String endDate) ;
-
- @GET
- @Path("/machines")
- @ApiOperation(
- value = "Retrieve usage information about all machine locations, optionally filtering for a specific application and/or time range",
- responseClass = "brooklyn.rest.domain.UsageStatistics"
- )
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Application not found")
- })
- public List<UsageStatistics> listMachinesUsage(
- @ApiParam(
- name = "application",
- value = "Application id",
- required = false
- )
- @QueryParam("application") String application,
- @ApiParam(
- name = "start",
- value = "timestamp of start marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("start") String startDate,
- @ApiParam(
- name = "end",
- value = "timestamp of end marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("end") String endDate) ;
-
- @GET
- @Path("/machines/{machine}")
- @ApiOperation(
- value = "Retrieve usage information about a specific machine location",
- responseClass = "brooklyn.rest.domain.UsageStatistics"
- )
- @ApiErrors(value = {
- @ApiError(code = 404, reason = "Machine not found")
- })
- public UsageStatistics getMachineUsage(
- @ApiParam(
- name = "machine",
- value = "Machine id",
- required = true
- )
- @PathParam("machine") String machine,
- @ApiParam(
- name = "start",
- value = "timestamp of start marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("start") String startDate,
- @ApiParam(
- name = "end",
- value = "timestamp of end marker for usage reporting in format UTC millis or yyyy-MM-dd'T'HH:mm:ssZ",
- required = false
- )
- @QueryParam("end") String endDate) ;
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/api/VersionApi.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/api/VersionApi.java b/usage/rest-api/src/main/java/brooklyn/rest/api/VersionApi.java
deleted file mode 100644
index 905e0fc..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/api/VersionApi.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.api;
-
-import brooklyn.rest.apidoc.Apidoc;
-import com.wordnik.swagger.core.ApiOperation;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-
-@Path("/v1/version")
-@Apidoc("Version")
-@Produces(MediaType.APPLICATION_JSON)
-@Consumes(MediaType.APPLICATION_JSON)
-/** @deprecated since 0.7.0; use /v1/server/version */
-@Deprecated
-public interface VersionApi {
-
- @GET
- @ApiOperation(value = "Return version identifier information for this Brooklyn instance; deprecated, use /server/version",
- responseClass = "String", multiValueResponse = false)
- public String getVersion();
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/AccessSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/AccessSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/AccessSummary.java
deleted file mode 100644
index 9456a23..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/AccessSummary.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.Map;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-import com.google.common.annotations.Beta;
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableMap;
-
-@Beta
-public class AccessSummary implements Serializable {
-
- private static final long serialVersionUID = 5097292906225042890L;
-
- private final boolean locationProvisioningAllowed;
- private final Map<String, URI> links;
-
- public AccessSummary(
- @JsonProperty("locationProvisioningAllowed") boolean locationProvisioningAllowed,
- @JsonProperty("links") Map<String, URI> links
- ) {
- this.locationProvisioningAllowed = locationProvisioningAllowed;
- this.links = (links == null) ? ImmutableMap.<String, URI>of() : ImmutableMap.copyOf(links);
- }
-
- public boolean isLocationProvisioningAllowed() {
- return locationProvisioningAllowed;
- }
-
- public Map<String, URI> getLinks() {
- return links;
- }
-
- @Override
- public boolean equals(Object o) {
- if (!(o instanceof AccessSummary)) return false;
- AccessSummary other = (AccessSummary) o;
- return locationProvisioningAllowed == other.isLocationProvisioningAllowed();
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(locationProvisioningAllowed);
- }
-
- @Override
- public String toString() {
- return "AccessSummary{" +
- "locationProvisioningAllowed='" + locationProvisioningAllowed + '\'' +
- ", links=" + links +
- '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/ApiError.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/ApiError.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/ApiError.java
deleted file mode 100644
index 83baa8f..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/ApiError.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.Serializable;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import brooklyn.util.text.Strings;
-
-import com.google.common.base.Objects;
-import com.google.common.base.Optional;
-import com.google.common.base.Throwables;
-
-public class ApiError implements Serializable {
-
- private static final long serialVersionUID = -8244515572813244686L;
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static ApiError of(Throwable t) {
- return builderFromThrowable(t).build();
- }
-
- public static ApiError of(String message) {
- return builder().message(message).build();
- }
-
- /** @deprecated since 0.7.0; use {@link #builderFromThrowable(Throwable)} */
- @Deprecated
- public static Builder fromThrowable(Throwable t) {
- return builderFromThrowable(t);
- }
-
- /**
- * @return An {@link ApiError.Builder} whose message is initialised to either the throwable's
- * message or the throwable's class name if the message is null and whose details are
- * initialised to the throwable's stack trace.
- */
- public static Builder builderFromThrowable(Throwable t) {
- checkNotNull(t, "throwable");
- String message = Optional.fromNullable(t.getMessage())
- .or(t.getClass().getName());
- return builder()
- .message(message)
- .details(Throwables.getStackTraceAsString(t));
- }
-
- public static class Builder {
- private String message;
- private String details;
- private Integer errorCode;
-
- public Builder message(String message) {
- this.message = checkNotNull(message, "message");
- return this;
- }
-
- public Builder details(String details) {
- this.details = checkNotNull(details, "details");
- return this;
- }
-
- public Builder errorCode(Status errorCode) {
- return errorCode(errorCode.getStatusCode());
- }
-
- public Builder errorCode(Integer errorCode) {
- this.errorCode = errorCode;
- return this;
- }
-
- /** as {@link #prefixMessage(String, String)} with default separator of `: ` */
- public Builder prefixMessage(String prefix) {
- return prefixMessage(prefix, ": ");
- }
-
- /** puts a prefix in front of the message, with the given separator if there is already a message;
- * if there is no message, it simply sets the prefix as the message
- */
- public Builder prefixMessage(String prefix, String separatorIfMessageNotBlank) {
- if (Strings.isBlank(message)) message(prefix);
- else message(prefix+separatorIfMessageNotBlank+message);
- return this;
- }
-
- public ApiError build() {
- return new ApiError(message, details, errorCode);
- }
-
- /** @deprecated since 0.7.0; use {@link #copy(ApiError)} */
- @Deprecated
- public Builder fromApiError(ApiError error) {
- return copy(error);
- }
-
- public Builder copy(ApiError error) {
- return this
- .message(error.message)
- .details(error.details)
- .errorCode(error.error);
- }
-
- public String getMessage() {
- return message;
- }
- }
-
- private final String message;
-
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final String details;
-
- @JsonSerialize(include=Inclusion.NON_NULL)
- private final Integer error;
-
- public ApiError(String message) { this(message, null); }
- public ApiError(String message, String details) { this(message, details, null); }
- public ApiError(
- @JsonProperty("message") String message,
- @JsonProperty("details") String details,
- @JsonProperty("error") Integer error) {
- this.message = checkNotNull(message, "message");
- this.details = details != null ? details : "";
- this.error = error;
- }
-
- public String getMessage() {
- return message;
- }
-
- public String getDetails() {
- return details;
- }
-
- public Integer getError() {
- return error;
- }
-
- @Override
- public boolean equals(Object other) {
- if (this == other) return true;
- if (other == null || getClass() != other.getClass()) return false;
- ApiError that = ApiError.class.cast(other);
- return Objects.equal(this.message, that.message) &&
- Objects.equal(this.details, that.details) &&
- Objects.equal(this.error, that.error);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(message, details, error);
- }
-
- @Override
- public String toString() {
- return Objects.toStringHelper(this)
- .add("message", message)
- .add("details", details)
- .add("error", error)
- .toString();
- }
-
- public Response asBadRequestResponseJson() {
- return asResponse(Status.BAD_REQUEST, MediaType.APPLICATION_JSON_TYPE);
- }
-
- public Response asResponse(Status defaultStatus, MediaType type) {
- return Response.status(error!=null ? error : defaultStatus!=null ? defaultStatus.getStatusCode() : Status.INTERNAL_SERVER_ERROR.getStatusCode())
- .type(type)
- .entity(this)
- .build();
- }
-
- public Response asResponse(MediaType type) {
- return asResponse(null, type);
- }
-
- public Response asJsonResponse() {
- return asResponse(MediaType.APPLICATION_JSON_TYPE);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSpec.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSpec.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSpec.java
deleted file mode 100644
index 761f365..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSpec.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-
-public class ApplicationSpec implements HasName, Serializable {
-
- private static final long serialVersionUID = -7090404504233835343L;
-
- public static Builder builder() {
- return new Builder();
- }
-
- public static class Builder {
- private String name;
- private String type;
- private Set<EntitySpec> entities;
- private Set<String> locations;
- private Map<String, String> config;
-
- public Builder from(ApplicationSpec spec) {
- this.name = spec.name;
- this.entities = spec.entities;
- this.locations = spec.locations;
- return this;
- }
-
- public Builder name(String name) {
- this.name = name;
- return this;
- }
-
- public Builder type(String type) {
- this.type = type;
- return this;
- }
-
- public Builder entities(Set<EntitySpec> entities) {
- this.entities = entities;
- return this;
- }
-
- public Builder locations(Set<String> locations) {
- this.locations = locations;
- return this;
- }
-
- public Builder config(Map<String, String> config) {
- this.config = config;
- return this;
- }
-
- public ApplicationSpec build() {
- return new ApplicationSpec(name, type, entities, locations, config);
- }
- }
-
- private final String name;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final String type;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final Set<EntitySpec> entities;
- private final Set<String> locations;
- @JsonSerialize(include = Inclusion.NON_EMPTY)
- private final Map<String, String> config;
-
- public ApplicationSpec(
- @JsonProperty("name") String name,
- @JsonProperty("type") String type,
- @JsonProperty("entities") Set<EntitySpec> entities,
- @JsonProperty("locations") Collection<String> locations,
- @JsonProperty("config") Map<String, String> config) {
- this.name = name;
- this.type = type;
- if (entities==null) {
- this.entities = null;
- } else {
- this.entities = (entities.isEmpty() && type!=null) ? null : ImmutableSet.copyOf(entities);
- }
- this.locations = ImmutableSet.copyOf(checkNotNull(locations, "locations must be provided for an application spec"));
- this.config = config == null ? Collections.<String, String>emptyMap() : ImmutableMap.<String, String>copyOf(config);
- if (this.entities!=null && this.type!=null) throw new IllegalStateException("cannot supply both type and entities for an application spec");
- // valid for both to be null, e.g. for an anonymous type
-// if (this.entities==null && this.type==null) throw new IllegalStateException("must supply either type or entities for an application spec");
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- public String getType() {
- return type;
- }
-
- public Set<EntitySpec> getEntities() {
- return entities;
- }
-
- public Set<String> getLocations() {
- return locations;
- }
-
- public Map<String, String> getConfig() {
- return config;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
-
- ApplicationSpec that = (ApplicationSpec) o;
-
- if (name != null ? !name.equals(that.name) : that.name != null)
- return false;
- if (type != null ? !type.equals(that.type) : that.type != null)
- return false;
- if (entities != null ? !entities.equals(that.entities) : that.entities != null)
- return false;
- if (locations != null ? !locations.equals(that.locations) : that.locations != null)
- return false;
- if (config != null ? !config.equals(that.config) : that.config != null)
- return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = name != null ? name.hashCode() : 0;
- result = 31 * result + (type != null ? type.hashCode() : 0);
- result = 31 * result + (entities != null ? entities.hashCode() : 0);
- result = 31 * result + (locations != null ? locations.hashCode() : 0);
- result = 31 * result + (config != null ? config.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "ApplicationSpec{"
- + "name='" + name + '\''
- + ", type=" + type
- + ", entitySpecs=" + entities
- + ", locations=" + locations
- + ", config=" + config
- + '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSummary.java
deleted file mode 100644
index 8370fee..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/ApplicationSummary.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.Map;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-import com.google.common.collect.ImmutableMap;
-
-public class ApplicationSummary implements HasId, Serializable {
-
- private static final long serialVersionUID = -247411021540729088L;
-
- private final static Map<Status, Status> validTransitions =
- ImmutableMap.<Status, Status>builder()
- .put(Status.UNKNOWN, Status.ACCEPTED)
- .put(Status.ACCEPTED, Status.STARTING)
- .put(Status.STARTING, Status.RUNNING)
- .put(Status.RUNNING, Status.STOPPING)
- .put(Status.STOPPING, Status.STOPPED)
- .put(Status.STOPPED, Status.STARTING)
- .build();
-
- private final String id;
- private final ApplicationSpec spec;
- private final Status status;
- private final Map<String, URI> links;
-
- public ApplicationSummary(
- @JsonProperty("id") String id,
- @JsonProperty("spec") ApplicationSpec spec,
- @JsonProperty("status") Status status,
- @JsonProperty("links") Map<String, URI> links
- ) {
- this.id = id;
- this.spec = checkNotNull(spec, "spec");
- this.status = checkNotNull(status, "status");
- this.links = (links == null) ? ImmutableMap.<String, URI>of() : ImmutableMap.copyOf(links);
- }
-
- @Override
- public String getId() {
- return id;
- }
-
- public ApplicationSpec getSpec() {
- return spec;
- }
-
- public Status getStatus() {
- return status;
- }
-
- public Map<String, URI> getLinks() {
- return links;
- }
-
- public ApplicationSummary transitionTo(Status newStatus) {
- if (newStatus == Status.ERROR || validTransitions.get(status) == newStatus) {
- return new ApplicationSummary(id, spec, newStatus, links);
- }
- throw new IllegalStateException("Invalid transition from '" +
- status + "' to '" + newStatus + "'");
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- ApplicationSummary that = (ApplicationSummary) o;
-
- if (spec != null ? !spec.equals(that.spec) : that.spec != null)
- return false;
- if (status != that.status) return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = spec != null ? spec.hashCode() : 0;
- result = 31 * result + (status != null ? status.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "Application{" +
- "id=" + id +
- ", spec=" + spec +
- ", status=" + status +
- '}';
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/BrooklynFeatureSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/BrooklynFeatureSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/BrooklynFeatureSummary.java
deleted file mode 100644
index 461be65..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/BrooklynFeatureSummary.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package brooklyn.rest.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.codehaus.jackson.annotate.JsonAnyGetter;
-import org.codehaus.jackson.annotate.JsonAnySetter;
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonProperty;
-
-import com.google.common.collect.Maps;
-
-public class BrooklynFeatureSummary implements Serializable {
-
- private static final long serialVersionUID = 4595452639602650453L;
-
- private final String name;
- private final String symbolicName;
- private final String version;
- private final String lastModified;
- private Map<String, String> additionalData = Maps.newHashMap();
-
- public BrooklynFeatureSummary(
- @JsonProperty("name") String name,
- @JsonProperty("symbolicName") String symbolicName,
- @JsonProperty("version") String version,
- @JsonProperty("lastModified") String lastModified) {
- this.symbolicName = checkNotNull(symbolicName, "symbolicName");
- this.name = name;
- this.version = version;
- this.lastModified = lastModified;
- }
-
- public BrooklynFeatureSummary(String name, String symbolicName, String version, String lastModified, Map<String, String> additionalData) {
- this(name, symbolicName, version, lastModified);
- this.additionalData = additionalData;
- }
-
- @JsonIgnore
- public Map<String, String> getAdditionalData() {
- return additionalData;
- }
-
- public String getLastModified() {
- return lastModified;
- }
-
- public String getName() {
- return name;
- }
-
- public String getSymbolicName() {
- return symbolicName;
- }
-
- public String getVersion() {
- return version;
- }
-
- @JsonAnyGetter
- private Map<String, String> any() {
- return additionalData;
- }
-
- @JsonAnySetter
- private void set(String name, String value) {
- additionalData.put(name, value);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogEntitySummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogEntitySummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogEntitySummary.java
deleted file mode 100644
index 268437a..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogEntitySummary.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-public class CatalogEntitySummary extends CatalogItemSummary {
-
- private static final long serialVersionUID = 1063908984191424539L;
-
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final Set<EntityConfigSummary> config;
-
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final Set<SensorSummary> sensors;
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final Set<EffectorSummary> effectors;
-
- public CatalogEntitySummary(
- @JsonProperty("symbolicName") String symbolicName,
- @JsonProperty("version") String version,
- @JsonProperty("name") String name,
- @JsonProperty("javaType") String javaType,
- @JsonProperty("planYaml") String planYaml,
- @JsonProperty("description") String description,
- @JsonProperty("iconUrl") String iconUrl,
- @JsonProperty("config") Set<EntityConfigSummary> config,
- @JsonProperty("sensors") Set<SensorSummary> sensors,
- @JsonProperty("effectors") Set<EffectorSummary> effectors,
- @JsonProperty("deprecated") boolean deprecated,
- @JsonProperty("links") Map<String, URI> links
- ) {
- super(symbolicName, version, name, javaType, planYaml, description, iconUrl, deprecated, links);
- this.config = config;
- this.sensors = sensors;
- this.effectors = effectors;
- }
-
- public Set<EntityConfigSummary> getConfig() {
- return config;
- }
-
- public Set<SensorSummary> getSensors() {
- return sensors;
- }
-
- public Set<EffectorSummary> getEffectors() {
- return effectors;
- }
-
- @Override
- public String toString() {
- return super.toString()+"["+
- "config="+getConfig()+"; " +
- "sensors="+getSensors()+"; "+
- "effectors="+getEffectors()+"; "+
- "deprecated="+isDeprecated()+"]";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogItemSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogItemSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogItemSummary.java
deleted file mode 100644
index 79b1d27..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogItemSummary.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.Map;
-
-import org.apache.commons.lang.builder.EqualsBuilder;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableMap;
-
-/** variant of Catalog*ItemDto objects for JS/JSON serialization;
- * see also, subclasses */
-@JsonIgnoreProperties(ignoreUnknown = true)
-// ignore unknown, ie properties from subclasses (entity)
-public class CatalogItemSummary implements HasId, HasName, Serializable {
-
- private static final long serialVersionUID = -823483595879417681L;
-
- private final String id;
- private final String symbolicName;
- private final String version;
-
- //needed for backwards compatibility only (json serializer works on fields, not getters)
- @Deprecated
- private final String type;
-
- private final String javaType;
-
- private final String name;
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final String description;
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final String iconUrl;
- private final String planYaml;
- private final boolean deprecated;
-
- private final Map<String, URI> links;
-
- public CatalogItemSummary(
- @JsonProperty("symbolicName") String symbolicName,
- @JsonProperty("version") String version,
- @JsonProperty("name") String displayName,
- @JsonProperty("javaType") String javaType,
- @JsonProperty("planYaml") String planYaml,
- @JsonProperty("description") String description,
- @JsonProperty("iconUrl") String iconUrl,
- @JsonProperty("deprecated") boolean deprecated,
- @JsonProperty("links") Map<String, URI> links
- ) {
- this.id = symbolicName + ":" + version;
- this.symbolicName = symbolicName;
- this.type = symbolicName;
- this.version = version;
- this.name = displayName;
- this.javaType = javaType;
- this.planYaml = planYaml;
- this.description = description;
- this.iconUrl = iconUrl;
- this.links = (links == null) ? ImmutableMap.<String, URI>of() : ImmutableMap.copyOf(links);
- this.deprecated = deprecated;
- }
-
- @Override
- public String getId() {
- return id;
- }
-
- public String getSymbolicName() {
- return symbolicName;
- }
-
- public String getVersion() {
- return version;
- }
-
- public String getJavaType() {
- return javaType;
- }
-
- public String getType() {
- return type;
- }
-
- public String getPlanYaml() {
- return planYaml;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public String getIconUrl() {
- return iconUrl;
- }
-
- public Map<String, URI> getLinks() {
- return links;
- }
-
- public boolean isDeprecated() {
- return deprecated;
- }
-
- @Override
- public String toString() {
- return Objects.toStringHelper(this)
- .add("id", symbolicName)
- .add("version", version)
- .add("deprecated", deprecated)
- .toString();
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(symbolicName, version, name, javaType, deprecated);
- }
-
- @Override
- public boolean equals(Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogLocationSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogLocationSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogLocationSummary.java
deleted file mode 100644
index 874b848..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogLocationSummary.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-import com.google.common.collect.ImmutableSet;
-
-public class CatalogLocationSummary extends CatalogItemSummary {
-
- private final Set<LocationConfigSummary> config;
-
- public CatalogLocationSummary(
- @JsonProperty("symbolicName") String symbolicName,
- @JsonProperty("version") String version,
- @JsonProperty("name") String name,
- @JsonProperty("javaType") String javaType,
- @JsonProperty("planYaml") String planYaml,
- @JsonProperty("description") String description,
- @JsonProperty("iconUrl") String iconUrl,
- @JsonProperty("config") Set<LocationConfigSummary> config,
- @JsonProperty("deprecated") boolean deprecated,
- @JsonProperty("links") Map<String, URI> links
- ) {
- super(symbolicName, version, name, javaType, planYaml, description, iconUrl, deprecated, links);
- // TODO expose config from policies
- this.config = (config == null) ? ImmutableSet.<LocationConfigSummary>of() : config;
- }
-
- public Set<LocationConfigSummary> getConfig() {
- return config;
- }
-
- @Override
- public String toString() {
- return super.toString()+"["+
- "config="+getConfig()+"]";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogPolicySummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogPolicySummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogPolicySummary.java
deleted file mode 100644
index 75cc6ae..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/CatalogPolicySummary.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import com.google.common.collect.ImmutableSet;
-
-public class CatalogPolicySummary extends CatalogItemSummary {
-
- private static final long serialVersionUID = -588856488327394445L;
-
- @JsonSerialize(include=Inclusion.NON_EMPTY)
- private final Set<PolicyConfigSummary> config;
-
- public CatalogPolicySummary(
- @JsonProperty("symbolicName") String symbolicName,
- @JsonProperty("version") String version,
- @JsonProperty("name") String name,
- @JsonProperty("javaType") String javaType,
- @JsonProperty("planYaml") String planYaml,
- @JsonProperty("description") String description,
- @JsonProperty("iconUrl") String iconUrl,
- @JsonProperty("config") Set<PolicyConfigSummary> config,
- @JsonProperty("deprecated") boolean deprecated,
- @JsonProperty("links") Map<String, URI> links
- ) {
- super(symbolicName, version, name, javaType, planYaml, description, iconUrl, deprecated, links);
- // TODO expose config from policies
- this.config = (config == null) ? ImmutableSet.<PolicyConfigSummary>of() : config;
- }
-
- public Set<PolicyConfigSummary> getConfig() {
- return config;
- }
-
- @Override
- public String toString() {
- return super.toString()+"["+
- "config="+getConfig()+"]";
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/ConfigSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/ConfigSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/ConfigSummary.java
deleted file mode 100644
index 676525c..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/ConfigSummary.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Nullable;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import brooklyn.config.ConfigKey;
-import brooklyn.util.collections.Jsonya;
-
-import com.google.common.base.Function;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableMap;
-
-public abstract class ConfigSummary implements HasName, Serializable {
-
- private static final long serialVersionUID = -2831796487073496730L;
-
- private final String name;
- private final String type;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final Object defaultValue;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final String description;
- @JsonSerialize
- private final boolean reconfigurable;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final String label;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final Double priority;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final List<Map<String, String>> possibleValues;
-
- protected ConfigSummary(
- @JsonProperty("name") String name,
- @JsonProperty("type") String type,
- @JsonProperty("description") String description,
- @JsonProperty("defaultValue") Object defaultValue,
- @JsonProperty("reconfigurable") boolean reconfigurable,
- @JsonProperty("label") String label,
- @JsonProperty("priority") Double priority,
- @JsonProperty("possibleValues") List<Map<String, String>> possibleValues) {
- this.name = name;
- this.type = type;
- this.description = description;
- this.defaultValue = defaultValue;
- this.reconfigurable = reconfigurable;
- this.label = label;
- this.priority = priority;
- this.possibleValues = possibleValues;
- }
-
- protected ConfigSummary(ConfigKey<?> config) {
- this(config, null, null);
- }
-
- @SuppressWarnings("rawtypes")
- protected ConfigSummary(ConfigKey<?> config, String label, Double priority) {
- this.name = config.getName();
- this.description = config.getDescription();
- this.reconfigurable = config.isReconfigurable();
-
- /* Use String, to guarantee it is serializable; otherwise get:
- * No serializer found for class brooklyn.policy.autoscaling.AutoScalerPolicy$3 and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: java.util.ArrayList[9]->brooklyn.rest.domain.PolicyConfigSummary["defaultValue"])
- * at org.codehaus.jackson.map.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:52)
- */
- this.label = label;
- this.priority = priority;
- if (config.getType().isEnum()) {
- this.type = Enum.class.getName();
- this.defaultValue = (config.getDefaultValue() == null) ? null : ((Enum) config.getDefaultValue()).name();
- this.possibleValues = FluentIterable
- .from(Arrays.asList((Enum[])(config.getType().getEnumConstants())))
- .transform(new Function<Enum, Map<String, String>>() {
- @Nullable
- @Override
- public Map<String, String> apply(@Nullable Enum input) {
- return ImmutableMap.of(
- "value", input != null ? input.name() : null,
- "description", input != null ? input.toString() : null);
- }})
- .toList();
- } else {
- this.type = config.getTypeName();
- this.defaultValue = Jsonya.convertToJsonPrimitive(config.getDefaultValue());
- this.possibleValues = null;
- }
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- public String getType() {
- return type;
- }
-
- public String getDescription() {
- return description;
- }
-
- public boolean isReconfigurable() {
- return reconfigurable;
- }
-
- public Object getDefaultValue() {
- // note constructor has converted to string, so this is safe for clients to use
- return defaultValue;
- }
-
- public String getLabel() {
- return label;
- }
-
- public Double getPriority() {
- return priority;
- }
-
- public List<Map<String, String>> getPossibleValues() {
- return possibleValues;
- }
-
- public abstract Map<String, URI> getLinks();
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- ConfigSummary that = (ConfigSummary) o;
-
- if (name != null ? !name.equals(that.name) : that.name != null)
- return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = name != null ? name.hashCode() : 0;
- return result;
- }
-
- @Override
- public abstract String toString();
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/EffectorSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/EffectorSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/EffectorSummary.java
deleted file mode 100644
index d7a9c27..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/EffectorSummary.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.Map;
-import java.util.Set;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import com.google.common.base.Objects;
-import com.google.common.collect.ImmutableMap;
-
-public class EffectorSummary implements HasName, Serializable {
-
- private static final long serialVersionUID = 8103535211378449509L;
-
- public static class ParameterSummary<T> implements HasName, Serializable {
- private static final long serialVersionUID = -6393686096290306153L;
-
- private final String name;
- private final String type;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final String description;
- private final T defaultValue;
-
- public ParameterSummary (
- @JsonProperty("name") String name,
- @JsonProperty("type") String type,
- @JsonProperty("description") String description,
- @JsonProperty("defaultValue") T defaultValue) {
- this.name = name;
- this.type = type;
- this.description = description;
- this.defaultValue = defaultValue;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- public String getType() {
- return type;
- }
-
- public String getDescription() {
- return description;
- }
-
- public T getDefaultValue() {
- return defaultValue;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- ParameterSummary<?> that = (ParameterSummary<?>) o;
-
- return Objects.equal(this.name, that.name)
- && Objects.equal(this.type, that.type)
- && Objects.equal(this.description, that.description)
- && Objects.equal(this.defaultValue, that.defaultValue);
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(name, type, description, defaultValue);
- }
-
- @Override
- public String toString() {
- return Objects.toStringHelper(this)
- .omitNullValues()
- .add("name", name)
- .add("type", type)
- .add("description", description)
- .add("defaultValue", defaultValue)
- .toString();
- }
- }
-
- private final String name;
- private final String returnType;
- private final Set<ParameterSummary<?>> parameters;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final String description;
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final Map<String, URI> links;
-
- public EffectorSummary(
- @JsonProperty("name") String name,
- @JsonProperty("returnType") String returnType,
- @JsonProperty("parameters") Set<ParameterSummary<?>> parameters,
- @JsonProperty("description") String description,
- @JsonProperty("links") Map<String, URI> links) {
- this.name = name;
- this.description = description;
- this.returnType = returnType;
- this.parameters = parameters;
- this.links = links != null ? ImmutableMap.copyOf(links) : null;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public String getReturnType() {
- return returnType;
- }
-
- public Set<ParameterSummary<?>> getParameters() {
- return parameters;
- }
-
- public Map<String, URI> getLinks() {
- return links;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- EffectorSummary that = (EffectorSummary) o;
-
- if (description != null ? !description.equals(that.description) : that.description != null)
- return false;
- if (links != null ? !links.equals(that.links) : that.links != null)
- return false;
- if (name != null ? !name.equals(that.name) : that.name != null)
- return false;
- if (parameters != null ? !parameters.equals(that.parameters) : that.parameters != null)
- return false;
- if (returnType != null ? !returnType.equals(that.returnType) : that.returnType != null)
- return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = name != null ? name.hashCode() : 0;
- result = 31 * result + (description != null ? description.hashCode() : 0);
- result = 31 * result + (returnType != null ? returnType.hashCode() : 0);
- result = 31 * result + (parameters != null ? parameters.hashCode() : 0);
- result = 31 * result + (links != null ? links.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "EffectorSummary{"
- + "name='" + name + '\''
- + ", description='" + description + '\''
- + ", returnType='" + returnType + '\''
- + ", parameters=" + parameters
- + ", links=" + links
- + '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/EntityConfigSummary.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/EntityConfigSummary.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/EntityConfigSummary.java
deleted file mode 100644
index cadbf0a..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/EntityConfigSummary.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import brooklyn.config.ConfigKey;
-import com.google.common.collect.ImmutableMap;
-import org.codehaus.jackson.annotate.JsonProperty;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Map;
-
-public class EntityConfigSummary extends ConfigSummary {
-
- private static final long serialVersionUID = -1336134336883426030L;
-
- @JsonSerialize(include = Inclusion.NON_NULL)
- private final Map<String, URI> links;
-
- public EntityConfigSummary(
- @JsonProperty("name") String name,
- @JsonProperty("type") String type,
- @JsonProperty("description") String description,
- @JsonProperty("defaultValue") Object defaultValue,
- @JsonProperty("reconfigurable") boolean reconfigurable,
- @JsonProperty("label") String label,
- @JsonProperty("priority") Double priority,
- @JsonProperty("possibleValues") List<Map<String, String>> possibleValues,
- @JsonProperty("links") Map<String, URI> links) {
- super(name, type, description, defaultValue, reconfigurable, label, priority, possibleValues);
- this.links = (links == null) ? ImmutableMap.<String, URI>of() : ImmutableMap.copyOf(links);
- }
-
- public EntityConfigSummary(ConfigKey<?> config, String label, Double priority, Map<String, URI> links) {
- super(config, label, priority);
- this.links = links != null ? ImmutableMap.copyOf(links) : null;
- }
-
- @Override
- public Map<String, URI> getLinks() {
- return links;
- }
-
- @Override
- public String toString() {
- return "EntityConfigSummary{"
- + "name='" + getName() + '\''
- + ", type='" + getType() + '\''
- + '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4c98f111/usage/rest-api/src/main/java/brooklyn/rest/domain/EntitySpec.java
----------------------------------------------------------------------
diff --git a/usage/rest-api/src/main/java/brooklyn/rest/domain/EntitySpec.java b/usage/rest-api/src/main/java/brooklyn/rest/domain/EntitySpec.java
deleted file mode 100644
index 93c104b..0000000
--- a/usage/rest-api/src/main/java/brooklyn/rest/domain/EntitySpec.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package brooklyn.rest.domain;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import com.google.common.collect.ImmutableMap;
-
-import org.codehaus.jackson.annotate.JsonProperty;
-
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.Map;
-
-public class EntitySpec implements HasName, Serializable {
-
- private static final long serialVersionUID = -3882575609132757188L;
-
- private final String name;
- private final String type;
- private final Map<String, String> config;
-
- public EntitySpec(String type) {
- this(null, type);
- }
-
- public EntitySpec(String name, String type) {
- this(name, type, Collections.<String, String> emptyMap());
- }
-
- public EntitySpec(
- @JsonProperty("name") String name,
- @JsonProperty("type") String type,
- @JsonProperty("config") Map<String, String> config) {
- this.type = checkNotNull(type, "type");
- this.name = (name == null) ? type : name;
- this.config = (config != null) ? ImmutableMap.copyOf(config) : ImmutableMap.<String, String> of();
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- public String getType() {
- return type;
- }
-
- public Map<String, String> getConfig() {
- return config;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- EntitySpec entitySpec = (EntitySpec) o;
-
- if (config != null ? !config.equals(entitySpec.config) : entitySpec.config != null)
- return false;
- if (name != null ? !name.equals(entitySpec.name) : entitySpec.name != null)
- return false;
- if (type != null ? !type.equals(entitySpec.type) : entitySpec.type != null)
- return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = name != null ? name.hashCode() : 0;
- result = 31 * result + (type != null ? type.hashCode() : 0);
- result = 31 * result + (config != null ? config.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "EntitySpec{"
- + "name='" + name + '\''
- + ", type='" + type + '\''
- + ", config=" + config
- + '}';
- }
-}