You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:51:23 UTC
[41/51] [abbrv] [partial] brooklyn-server git commit: move subdir
from incubator up a level as it is promoted to its own repo (first
non-incubator commit!)
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java
deleted file mode 100644
index a139d5d..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicySpec.java
+++ /dev/null
@@ -1,76 +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 org.apache.brooklyn.api.policy;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.internal.AbstractBrooklynObjectSpec;
-
-/**
- * Gives details of a policy to be created. It describes the policy's configuration, and is
- * reusable to create multiple policies with the same configuration.
- *
- * To create a PolicySpec, it is strongly encouraged to use {@code create(...)} methods.
- *
- * @param <T> The type of policy to be created
- *
- * @author aled
- */
-public class PolicySpec<T extends Policy> extends AbstractBrooklynObjectSpec<T,PolicySpec<T>> {
-
- private final static long serialVersionUID = 1L;
-
-
- /**
- * Creates a new {@link PolicySpec} instance for a policy of the given type. The returned
- * {@link PolicySpec} can then be customized.
- *
- * @param type A {@link Policy} class
- */
- public static <T extends Policy> PolicySpec<T> create(Class<T> type) {
- return new PolicySpec<T>(type);
- }
-
- /**
- * Creates a new {@link PolicySpec} instance with the given config, for a policy of the given type.
- *
- * This is primarily for groovy code; equivalent to {@code PolicySpec.create(type).configure(config)}.
- *
- * @param config The spec's configuration (see {@link PolicySpec#configure(Map)}).
- * @param type A {@link Policy} class
- */
- public static <T extends Policy> PolicySpec<T> create(Map<?,?> config, Class<T> type) {
- return PolicySpec.create(type).configure(config);
- }
-
- protected PolicySpec(Class<T> type) {
- super(type);
- }
-
- protected void checkValidType(Class<? extends T> type) {
- checkIsImplementation(type, Policy.class);
- checkIsNewStyleImplementation(type);
- }
-
- public PolicySpec<T> uniqueTag(String uniqueTag) {
- flags.put("uniqueTag", uniqueTag);
- return this;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java
deleted file mode 100644
index 2ba99c6..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/policy/PolicyType.java
+++ /dev/null
@@ -1,36 +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 org.apache.brooklyn.api.policy;
-
-import org.apache.brooklyn.api.objs.BrooklynType;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Gives type information for a {@link Policy}. It is immutable.
- *
- * For policies that can support config keys etc being added on-the-fly,
- * then this PolicyType will be a snapshot and subsequent snapshots will
- * include the changes.
- *
- * @since 0.5
- */
-@Beta
-public interface PolicyType extends BrooklynType {
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/relations/RelationshipType.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/relations/RelationshipType.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/relations/RelationshipType.java
deleted file mode 100644
index 54162f2..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/relations/RelationshipType.java
+++ /dev/null
@@ -1,38 +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 org.apache.brooklyn.api.relations;
-
-import org.apache.brooklyn.api.relations.RelationshipType;
-
-
-public interface RelationshipType<SourceType,TargetType> {
-
- public String getRelationshipTypeName();
- public Class<SourceType> getSourceType();
- public Class<TargetType> getTargetType();
-
- public String getSourceName();
- public String getSourceNamePlural();
-
- public String getTargetName();
- public String getTargetNamePlural();
-
- public RelationshipType<TargetType,SourceType> getInverseRelationshipType();
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/AttributeSensor.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/AttributeSensor.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/AttributeSensor.java
deleted file mode 100644
index e200920..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/AttributeSensor.java
+++ /dev/null
@@ -1,52 +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 org.apache.brooklyn.api.sensor;
-
-import com.google.common.annotations.Beta;
-
-/**
- * The interface implemented by attribute sensors.
- */
-public interface AttributeSensor<T> extends Sensor<T> {
-
- /**
- * @since 0.7.0
- */
- @Beta
- public enum SensorPersistenceMode {
- /**
- * Indicates that this sensor should be persisted, and its value should be read from
- * persisted state on rebind.
- */
- REQUIRED,
-
- /**
- * Indicates that this sensor should not be persisted; therefore its value for any entity
- * will be null immediately after rebind.
- */
- NONE;
- }
-
- /**
- * The persistence mode of this sensor, to determine its behaviour for rebind.
- *
- * @since 0.7.0
- */
- SensorPersistenceMode getPersistenceMode();
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Enricher.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Enricher.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Enricher.java
deleted file mode 100644
index 3fde2a5..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Enricher.java
+++ /dev/null
@@ -1,61 +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 org.apache.brooklyn.api.sensor;
-
-import org.apache.brooklyn.api.mgmt.rebind.RebindSupport;
-import org.apache.brooklyn.api.mgmt.rebind.Rebindable;
-import org.apache.brooklyn.api.mgmt.rebind.mementos.EnricherMemento;
-import org.apache.brooklyn.api.objs.Configurable;
-import org.apache.brooklyn.api.objs.EntityAdjunct;
-import org.apache.brooklyn.api.policy.Policy;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Publishes metrics for an entity, e.g. aggregating information from other sensors/entities.
- *
- * Has some similarities to {@link Policy}. However, enrichers specifically do not invoke
- * effectors and should only function to publish new metrics.
- */
-public interface Enricher extends EntityAdjunct, Rebindable, Configurable {
- /**
- * A unique id for this enricher.
- */
- @Override
- String getId();
-
- /**
- * Information about the type of this entity; analogous to Java's object.getClass.
- */
- @Beta
- EnricherType getEnricherType();
-
- /**
- * Users are strongly discouraged from calling or overriding this method.
- * It is for internal calls only, relating to persisting/rebinding entities.
- * This method may change (or be removed) in a future release without notice.
- */
- @Override
- @Beta
- RebindSupport<EnricherMemento> getRebindSupport();
-
- @Override
- RelationSupport<Enricher> relations();
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherSpec.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherSpec.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherSpec.java
deleted file mode 100644
index ae50e2d..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherSpec.java
+++ /dev/null
@@ -1,140 +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 org.apache.brooklyn.api.sensor;
-
-import java.util.Map;
-
-import org.apache.brooklyn.api.internal.AbstractBrooklynObjectSpec;
-import org.apache.brooklyn.api.mgmt.Task;
-import org.apache.brooklyn.config.ConfigKey;
-import org.apache.brooklyn.config.ConfigKey.HasConfigKey;
-
-/**
- * Gives details of an enricher to be created. It describes the enricher's configuration, and is
- * reusable to create multiple enrichers with the same configuration.
- *
- * To create an EnricherSpec, it is strongly encouraged to use {@code create(...)} methods.
- *
- * @param <T> The type of enricher to be created
- *
- * @author aled
- */
-public class EnricherSpec<T extends Enricher> extends AbstractBrooklynObjectSpec<T,EnricherSpec<T>> {
-
- private static final long serialVersionUID = -6012873926010992062L;
-
- /**
- * Creates a new {@link EnricherSpec} instance for an enricher of the given type. The returned
- * {@link EnricherSpec} can then be customized.
- *
- * @param type A {@link Enricher} class
- */
- public static <T extends Enricher> EnricherSpec<T> create(Class<? extends T> type) {
- return new EnricherSpec<T>(type);
- }
-
- /**
- * Creates a new {@link EnricherSpec} instance with the given config, for an enricher of the given type.
- *
- * This is primarily for groovy code; equivalent to {@code EnricherSpec.create(type).configure(config)}.
- *
- * @param config The spec's configuration (see {@link EnricherSpec#configure(Map)}).
- * @param type An {@link Enricher} class
- */
- public static <T extends Enricher> EnricherSpec<T> create(Map<?,?> config, Class<? extends T> type) {
- return EnricherSpec.create(type).configure(config);
- }
-
- protected EnricherSpec(Class<? extends T> type) {
- super(type);
- }
-
- protected void checkValidType(Class<? extends T> type) {
- checkIsImplementation(type, Enricher.class);
- checkIsNewStyleImplementation(type);
- }
-
- public EnricherSpec<T> uniqueTag(String uniqueTag) {
- flags.put("uniqueTag", uniqueTag);
- return this;
- }
-
- public abstract static class ExtensibleEnricherSpec<T extends Enricher,K extends ExtensibleEnricherSpec<T,K>> extends EnricherSpec<T> {
- private static final long serialVersionUID = -3649347642882809739L;
-
- protected ExtensibleEnricherSpec(Class<? extends T> type) {
- super(type);
- }
-
- @SuppressWarnings("unchecked")
- protected K self() {
- // we override the AbstractBrooklynObjectSpec method -- it's a different K here because
- // EnricherSpec does not contain a parametrisable generic return type (Self)
- return (K) this;
- }
-
- @Override
- public K uniqueTag(String uniqueTag) {
- super.uniqueTag(uniqueTag);
- return self();
- }
-
- @Override
- public K configure(Map<?, ?> val) {
- super.configure(val);
- return self();
- }
-
- @Override
- public K configure(CharSequence key, Object val) {
- super.configure(key, val);
- return self();
- }
-
- @Override
- public <V> K configure(ConfigKey<V> key, V val) {
- super.configure(key, val);
- return self();
- }
-
- @Override
- public <V> K configureIfNotNull(ConfigKey<V> key, V val) {
- super.configureIfNotNull(key, val);
- return self();
- }
-
- @Override
- public <V> K configure(ConfigKey<V> key, Task<? extends V> val) {
- super.configure(key, val);
- return self();
- }
-
- @Override
- public <V> K configure(HasConfigKey<V> key, V val) {
- super.configure(key, val);
- return self();
- }
-
- @Override
- public <V> K configure(HasConfigKey<V> key, Task<? extends V> val) {
- super.configure(key, val);
- return self();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherType.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherType.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherType.java
deleted file mode 100644
index e8aff97..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/EnricherType.java
+++ /dev/null
@@ -1,36 +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 org.apache.brooklyn.api.sensor;
-
-import org.apache.brooklyn.api.objs.BrooklynType;
-
-import com.google.common.annotations.Beta;
-
-/**
- * Gives type information for an {@link Enricher}. It is immutable.
- *
- * For enrichers that can support config keys etc being added on-the-fly,
- * then this EnricherType will be a snapshot and subsequent snapshots will
- * include the changes.
- *
- * @since 0.6
- */
-@Beta
-public interface EnricherType extends BrooklynType {
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Feed.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Feed.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Feed.java
deleted file mode 100644
index d50e092..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Feed.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 org.apache.brooklyn.api.sensor;
-
-import org.apache.brooklyn.api.mgmt.rebind.RebindSupport;
-import org.apache.brooklyn.api.mgmt.rebind.Rebindable;
-import org.apache.brooklyn.api.mgmt.rebind.mementos.FeedMemento;
-import org.apache.brooklyn.api.objs.EntityAdjunct;
-
-import com.google.common.annotations.Beta;
-
-/**
- * A sensor feed.
- * These generally poll or subscribe to get sensor values for an entity.
- * They make it easy to poll over http, jmx, etc.
- *
- * Assumes:
- * <ul>
- * <li>There will not be concurrent calls to start and stop.
- * <li>There will only be one call to start and that will be done immediately after construction,
- * in the same thread.
- * <li>Once stopped, the feed will not be re-started.
- * </ul>
- */
-@Beta
-public interface Feed extends EntityAdjunct, Rebindable {
-
- /**
- * True if everything has been _started_ (or it is starting) but not stopped,
- * even if it is suspended; see also {@link #isActive()}
- */
- boolean isActivated();
-
- void start();
-
- /** suspends this feed (stops the poller, or indicates that the feed should start in a state where the poller is stopped) */
- void suspend();
-
- boolean isSuspended();
-
- /** resumes this feed if it has been suspended and not stopped */
- void resume();
-
- void stop();
-
- /**
- * Users are strongly discouraged from calling or overriding this method.
- * It is for internal calls only, relating to persisting/rebinding entities.
- * This method may change (or be removed) in a future release without notice.
- */
- @Override
- @Beta
- RebindSupport<FeedMemento> getRebindSupport();
-
- @Override
- RelationSupport<Feed> relations();
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Sensor.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Sensor.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Sensor.java
deleted file mode 100644
index e658028..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/Sensor.java
+++ /dev/null
@@ -1,77 +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 org.apache.brooklyn.api.sensor;
-
-import java.io.Serializable;
-import java.util.List;
-
-import org.apache.brooklyn.api.entity.Entity;
-
-import com.google.common.reflect.TypeToken;
-
-/**
- * The interface implemented by concrete sensors.
- *
- * A sensor is a container for a piece of data of a particular type, and exists in a hierarchical namespace.
- * The name of the sensor is described as a set of tokens separated by dots.
- *
- * @see SensorEvent
- */
-public interface Sensor<T> extends Serializable {
- /**
- * Returns the Java {@link Class} for the sensor data.
- * <p>
- * This returns a "super" of T only in the case where T is generified,
- * and in such cases it returns the Class instance for the unadorned T ---
- * i.e. for List<String> this returns Class<List> ---
- * this is of course because there is no actual Class<List<String>> instance.
- */
- Class<? super T> getType();
-
- /**
- * Returns the Guava TypeToken (including generics info)
- */
- TypeToken<T> getTypeToken();
-
- /**
- * Returns the type of the sensor data, as a {@link String} representation of the class name.
- * (Useful for contexts where Type is not accessible.)
- */
- String getTypeName();
-
- /**
- * Returns the name of the sensor, in a dot-separated namespace.
- */
- String getName();
-
- /**
- * Returns the constituent parts of the sensor name as a {@link List}.
- */
- List<String> getNameParts();
-
- /**
- * Returns the description of the sensor, for display.
- */
- String getDescription();
-
- /**
- * Create a new {@link SensorEvent} object for a specific {@link Entity} and data point.
- */
- SensorEvent<T> newEvent(Entity entity, T value);
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEvent.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEvent.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEvent.java
deleted file mode 100644
index 02a7fef..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEvent.java
+++ /dev/null
@@ -1,47 +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 org.apache.brooklyn.api.sensor;
-
-import org.apache.brooklyn.api.entity.Entity;
-
-/**
- * A tuple representing a piece of data from a {@link Sensor} on an {@link Entity}.
- */
-public interface SensorEvent<T> {
- /**
- * The {@link Entity} where the data originated.
- */
- Entity getSource();
-
- /**
- * The {@link Sensor} describing the data.
- */
- Sensor<T> getSensor();
-
- /**
- * The value for the {@link Sensor} data.
- */
- T getValue();
-
- /**
- * The time this data was published, as a UTC time in milliseconds (e.g. as returned
- * by {@link System#currentTimeMillis()}.
- */
- long getTimestamp();
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEventListener.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEventListener.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEventListener.java
deleted file mode 100644
index 65fe81c..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/sensor/SensorEventListener.java
+++ /dev/null
@@ -1,37 +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 org.apache.brooklyn.api.sensor;
-
-import org.apache.brooklyn.api.entity.Entity;
-
-/**
- * A listener for {@link SensorEvent}s on an {@link Entity}.
- */
-public interface SensorEventListener<T> {
-
- public static final SensorEventListener<Object> NOOP = new SensorEventListener<Object>() {
- @Override public void onEvent(SensorEvent<Object> event) {
- }
- };
-
- /**
- * The {@link SensorEvent} handler method.
- */
- void onEvent(SensorEvent<T> event);
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/BrooklynTypeRegistry.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/BrooklynTypeRegistry.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/BrooklynTypeRegistry.java
deleted file mode 100644
index 17a7fb3..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/BrooklynTypeRegistry.java
+++ /dev/null
@@ -1,78 +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 org.apache.brooklyn.api.typereg;
-
-import javax.annotation.Nullable;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.internal.AbstractBrooklynObjectSpec;
-import org.apache.brooklyn.util.guava.Maybe;
-
-import com.google.common.annotations.Beta;
-import com.google.common.base.Predicate;
-
-
-public interface BrooklynTypeRegistry {
-
- public enum RegisteredTypeKind {
- /** a registered type which will create an {@link AbstractBrooklynObjectSpec} (e.g. {@link EntitySpec})
- * for the type registered (e.g. the {@link Entity} instance) */
- SPEC,
- /** a registered type which will create the java type described */
- BEAN
- // note: additional kinds should have the visitor in core/RegisteredTypeKindVisitor updated
- // to flush out all places which want to implement support for all kinds
- }
-
- Iterable<RegisteredType> getAll();
- Iterable<RegisteredType> getMatching(Predicate<? super RegisteredType> filter);
-
- /** @return The item matching the given given
- * {@link RegisteredType#getSymbolicName() symbolicName}
- * and optionally {@link RegisteredType#getVersion()},
- * taking the best version if the version is null or a default marker,
- * returning null if no matches are found. */
- RegisteredType get(String symbolicName, String version);
- /** as {@link #get(String, String)} but the given string here
- * is allowed to match any of:
- * <li>the given string as an ID including version (<code>"name:version"</code>)
- * <li>the symbolic name unversioned, or
- * <li>an alias */
- RegisteredType get(String symbolicNameWithOptionalVersion);
-
- /** as {@link #get(String)} but further filtering for the additional context */
- public RegisteredType get(String symbolicNameOrAliasWithOptionalVersion, RegisteredTypeLoadingContext context);
- /** returns a wrapper of the result of {@link #get(String, RegisteredTypeLoadingContext)}
- * including a detailed message if absent */
- public Maybe<RegisteredType> getMaybe(String symbolicNameOrAliasWithOptionalVersion, RegisteredTypeLoadingContext context);
-
- // NB the seemingly more correct generics <T,SpecT extends AbstractBrooklynObjectSpec<T,SpecT>>
- // cause compile errors, not in Eclipse, but in maven (?)
- // TODO do these belong here, or in a separate master TypePlanTransformer ? see also BrooklynTypePlanTransformer
- @Beta
- <SpecT extends AbstractBrooklynObjectSpec<?,?>> SpecT createSpec(RegisteredType type, @Nullable RegisteredTypeLoadingContext optionalContext, @Nullable Class<SpecT> optionalSpecSuperType);
- @Beta
- <SpecT extends AbstractBrooklynObjectSpec<?,?>> SpecT createSpecFromPlan(@Nullable String planFormat, Object planData, @Nullable RegisteredTypeLoadingContext optionalContext, @Nullable Class<SpecT> optionalSpecSuperType);
- @Beta
- <T> T createBean(RegisteredType type, @Nullable RegisteredTypeLoadingContext optionalContext, @Nullable Class<T> optionalResultSuperType);
- @Beta
- <T> T createBeanFromPlan(String planFormat, Object planData, @Nullable RegisteredTypeLoadingContext optionalConstraint, @Nullable Class<T> optionalBeanSuperType);
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/OsgiBundleWithUrl.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/OsgiBundleWithUrl.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/OsgiBundleWithUrl.java
deleted file mode 100644
index e8b278b..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/OsgiBundleWithUrl.java
+++ /dev/null
@@ -1,36 +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 org.apache.brooklyn.api.typereg;
-
-import com.google.common.annotations.Beta;
-
-@Beta
-public interface OsgiBundleWithUrl {
-
- public String getSymbolicName();
- public String getVersion();
-
- /** where this bundle can be downloaded; typically required unless we are guaranteed the bundle will be manually installed */
- public String getUrl();
-
- /** @return true if we have a name and version for this bundle;
- * false if not, e.g. if we only know the URL and we haven't loaded it yet */
- public boolean isNameResolved();
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredType.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredType.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredType.java
deleted file mode 100644
index 29b64d3..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredType.java
+++ /dev/null
@@ -1,96 +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 org.apache.brooklyn.api.typereg;
-
-import java.util.Collection;
-import java.util.Set;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.objs.BrooklynObject;
-import org.apache.brooklyn.api.objs.Identifiable;
-import org.apache.brooklyn.api.typereg.BrooklynTypeRegistry.RegisteredTypeKind;
-
-import com.google.common.annotations.Beta;
-
-public interface RegisteredType extends Identifiable {
-
- @Override String getId();
-
- RegisteredTypeKind getKind();
-
- String getSymbolicName();
- String getVersion();
-
- Collection<OsgiBundleWithUrl> getLibraries();
-
- String getDisplayName();
- String getDescription();
- String getIconUrl();
-
- /** @return all declared supertypes or super-interfaces of this registered type,
- * consisting of a collection of {@link Class} or {@link RegisteredType}
- * <p>
- * This should normally include at least one {@link Class} object:
- * For beans, this should include the java type that the {@link BrooklynTypeRegistry} will create.
- * For specs, this should refer to the {@link BrooklynObject} type that the created spec will point at
- * (e.g. the concrete {@link Entity}, not the {@link EntitySpec}).
- * <p>
- * This may not necessarily return the most specific java class or classes;
- * such as if the concrete type is private and callers should know only about a particular public interface,
- * or if precise type details are unavailable and all that is known at creation is some higher level interface/supertype
- * (e.g. this may return {@link Entity} even though the spec points at a specific subclass,
- * for instance because the YAML has not yet been parsed or OSGi bundles downloaded).
- * <p>
- * This may include other registered types such as marker interfaces.
- */
- @Beta
- Set<Object> getSuperTypes();
-
- /**
- * @return True if the item has been deprecated (i.e. its use is discouraged)
- */
- boolean isDeprecated();
-
- /**
- * @return True if the item has been disabled (i.e. its use is forbidden, except for pre-existing apps)
- */
- boolean isDisabled();
-
- /** Alias words defined for this type */
- Set<String> getAliases();
-
- /** Tags attached to this item */
- Set<Object> getTags();
-
- /** @return implementation details, so that the framework can find a suitable {@link BrooklynTypePlanTransformer}
- * which can then use this object to instantiate this type */
- TypeImplementationPlan getPlan();
-
- public interface TypeImplementationPlan {
- /** hint which {@link BrooklynTypePlanTransformer} instance(s) can be used, if known;
- * this may be null if the relevant transformer was not declared when created,
- * but in general we should look to determine the kind as early as possible
- * and use that to retrieve the appropriate such transformer */
- String getPlanFormat();
- /** data for the implementation; may be more specific */
- Object getPlanData();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredTypeLoadingContext.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredTypeLoadingContext.java b/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredTypeLoadingContext.java
deleted file mode 100644
index d37666e..0000000
--- a/brooklyn-server/api/src/main/java/org/apache/brooklyn/api/typereg/RegisteredTypeLoadingContext.java
+++ /dev/null
@@ -1,50 +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 org.apache.brooklyn.api.typereg;
-
-import java.util.Set;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.classloading.BrooklynClassLoadingContext;
-import org.apache.brooklyn.api.typereg.BrooklynTypeRegistry.RegisteredTypeKind;
-
-public interface RegisteredTypeLoadingContext {
-
- /** The kind required, if specified. */
- @Nullable public RegisteredTypeKind getExpectedKind();
-
- /** A java super-type or interface that should be filtered for;
- * for specs, this refers to the target type, not the spec
- * (eg {@link Entity} not {@link EntitySpec}).
- * If nothing is specified, this returns {@link Object}'s class. */
- @Nonnull public Class<?> getExpectedJavaSuperType();
-
- /** encountered types, so that during resolution,
- * if we have already attempted to resolve a given type,
- * the instantiator can avoid recursive cycles */
- @Nonnull public Set<String> getAlreadyEncounteredTypes();
-
- /** A loader to use, supplying additional search paths */
- @Nullable public BrooklynClassLoadingContext getLoader();
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/README.md
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/README.md b/brooklyn-server/camp/README.md
deleted file mode 100644
index 225e18e..0000000
--- a/brooklyn-server/camp/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-OASIS CAMP Server
-=================
-
-The projects in this directory provide the necessary components for a server which
-speaks the CAMP REST API and which understands the CAMP YAML plan language.
-
-It is not dependent on Brooklyn (apart from utils) and does not expose any
-types. The brooklyn-camp project provides the links for Brooklyn entities
-to be available through the CAMP REST API, and for Brooklyn to deploy blueprints
-described using the CAMP YAML.
-
-The projects in this directory are designed so they could be used to build
-other CAMP servers not based on Brooklyn, if desired.
-
-These projects are part of the Apache Software Foundation Brooklyn project
-(https://brooklyn.incubator.apache.org) and released under the Apache License 2.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.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/notes.txt
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/notes.txt b/brooklyn-server/camp/camp-base/notes.txt
deleted file mode 100644
index f18b5d3..0000000
--- a/brooklyn-server/camp/camp-base/notes.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-
-DONE
-
-SOME of these (for PCT's and ACT's)
-* dto classes and endpoints (jersey resources) to have a rest server
-* impl classes (abstract or composable?) which can make dto's
-* connect impl classes to brooklyn
-
-TODO
-
-* remaining classes
-* PDP formation
-
-
-
-
-
-
-THOUGHTS
-
-* get camp.io
-* project for camp-ops, camp-samp-le-server
-
-
-
-
-
-
-COMPARISON
-
-CAMP
-* platform offers PlatformComponentTemplates (e.g. elasttic AppServer cluster) which a user can
- stitch together in an AssemblyTemplate to create an Assembly which is their application;
- user can also supply ApplicationComponentTemplate and ApplicationComponent instances
- (e.g. WAR files) for use in assemblies;
- and Requirements and Capabilities can be defined to e.g. indicate that a 3-tier app
- Template requires a WAR file and a schema (from the user) and PlatformComponents
- where these will run (from the platform) which get resolved at real-time
- with as little or as much guidance from the user as desired;
- relies on conventions on types and tags (ie not specified in spec, yet) to facilitate re-use;
-* defines REST API for interacting with these, and uploading assemblies and app components
- (not platform components)
-* example
-
-TOSCA
- ServiceTemplate is the basic idea
- Types
- NodeType
- RelationshipType
- TopologyTemplate
- NodeTemplate
- RelationshipTemplate
- GroupTemplate
- internal elements
- Artifacts:
- "deployment artifacts" for creating nodes,
- "implementation artifacts" for operations)
- Container capabilities / requirements
- Properties, operations, scripts, constraints
- Policies
- Plans
- Plan
-
-END
-
-
-----
-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.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/pom.xml b/brooklyn-server/camp/camp-base/pom.xml
deleted file mode 100644
index 063f665..0000000
--- a/brooklyn-server/camp/camp-base/pom.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <packaging>jar</packaging>
-
- <artifactId>camp-base</artifactId>
-
- <name>CAMP Base</name>
- <description>
- Core base classes for CAMP server implementation
- </description>
-
- <parent>
- <groupId>org.apache.brooklyn.camp</groupId>
- <artifactId>camp-parent</artifactId>
- <version>0.9.0-SNAPSHOT</version> <!-- BROOKLYN_VERSION -->
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.brooklyn</groupId>
- <artifactId>brooklyn-utils-common</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.brooklyn</groupId>
- <artifactId>brooklyn-utils-test-support</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-compress</artifactId>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </dependency>
- <dependency>
- <groupId>com.google.code.findbugs</groupId>
- <artifactId>jsr305</artifactId>
- </dependency>
-
- <!-- just for logging, not exported -->
- <!--
- <dependency>
- <groupId>org.apache.brooklyn</groupId>
- <artifactId>brooklyn-logback-xml</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>tests</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.brooklyn</groupId>
- <artifactId>brooklyn-core</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>tests</scope>
- </dependency>
- -->
-
- </dependencies>
-
-</project>
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/AggregatingCampPlatform.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/AggregatingCampPlatform.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/AggregatingCampPlatform.java
deleted file mode 100644
index 137e927..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/AggregatingCampPlatform.java
+++ /dev/null
@@ -1,130 +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 org.apache.brooklyn.camp;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.annotation.Nullable;
-
-import org.apache.brooklyn.camp.spi.AbstractResource;
-import org.apache.brooklyn.camp.spi.ApplicationComponent;
-import org.apache.brooklyn.camp.spi.ApplicationComponentTemplate;
-import org.apache.brooklyn.camp.spi.Assembly;
-import org.apache.brooklyn.camp.spi.AssemblyTemplate;
-import org.apache.brooklyn.camp.spi.PlatformComponent;
-import org.apache.brooklyn.camp.spi.PlatformComponentTemplate;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.PlatformTransaction;
-import org.apache.brooklyn.camp.spi.collection.AggregatingResourceLookup;
-import org.apache.brooklyn.camp.spi.collection.ResourceLookup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.base.Function;
-
-/** A {@link CampPlatform} implementation which is empty but allows adding new items,
- * as well as adding other platforms; meant for subclassing only */
-public class AggregatingCampPlatform extends CampPlatform {
-
- private static final Logger log = LoggerFactory.getLogger(AggregatingCampPlatform.class);
-
- protected AggregatingCampPlatform(PlatformRootSummary root) {
- this(root, new BasicCampPlatform(root));
- }
-
- public AggregatingCampPlatform(PlatformRootSummary root, CampPlatform platformWhereTransactionsOccur) {
- super(root);
- log.debug("Creating {} with main platform: {}", this, platformWhereTransactionsOccur);
- this.mainPlatform = platformWhereTransactionsOccur;
- }
-
- /** platform where additions are made */
- CampPlatform mainPlatform;
- List<CampPlatform> otherPlatformsToSearch = new ArrayList<CampPlatform>();
-
- protected void addPlatform(CampPlatform platform) {
- log.debug("Adding child platform to {}: {}", this, platform);
- otherPlatformsToSearch.add(platform);
- }
-
- protected <T extends AbstractResource> ResourceLookup<T> aggregatingLookup(Function<CampPlatform, ResourceLookup<T>> lookupFunction) {
- List<ResourceLookup<T>> lookups = new ArrayList<ResourceLookup<T>>();
- lookups.add(lookupFunction.apply(mainPlatform));
- for (CampPlatform p: otherPlatformsToSearch)
- lookups.add(lookupFunction.apply(p));
- return AggregatingResourceLookup.of(lookups);
- }
-
- public ResourceLookup<PlatformComponentTemplate> platformComponentTemplates() {
- return aggregatingLookup(new Function<CampPlatform, ResourceLookup<PlatformComponentTemplate>>() {
- public ResourceLookup<PlatformComponentTemplate> apply(@Nullable CampPlatform input) {
- return input.platformComponentTemplates();
- }
- });
- }
-
- @Override
- public ResourceLookup<ApplicationComponentTemplate> applicationComponentTemplates() {
- return aggregatingLookup(new Function<CampPlatform, ResourceLookup<ApplicationComponentTemplate>>() {
- public ResourceLookup<ApplicationComponentTemplate> apply(@Nullable CampPlatform input) {
- return input.applicationComponentTemplates();
- }
- });
- }
-
- public ResourceLookup<AssemblyTemplate> assemblyTemplates() {
- return aggregatingLookup(new Function<CampPlatform, ResourceLookup<AssemblyTemplate>>() {
- public ResourceLookup<AssemblyTemplate> apply(@Nullable CampPlatform input) {
- return input.assemblyTemplates();
- }
- });
- }
-
- public ResourceLookup<PlatformComponent> platformComponents() {
- return aggregatingLookup(new Function<CampPlatform, ResourceLookup<PlatformComponent>>() {
- public ResourceLookup<PlatformComponent> apply(@Nullable CampPlatform input) {
- return input.platformComponents();
- }
- });
- }
-
- @Override
- public ResourceLookup<ApplicationComponent> applicationComponents() {
- return aggregatingLookup(new Function<CampPlatform, ResourceLookup<ApplicationComponent>>() {
- public ResourceLookup<ApplicationComponent> apply(@Nullable CampPlatform input) {
- return input.applicationComponents();
- }
- });
- }
-
- public ResourceLookup<Assembly> assemblies() {
- return aggregatingLookup(new Function<CampPlatform, ResourceLookup<Assembly>>() {
- public ResourceLookup<Assembly> apply(@Nullable CampPlatform input) {
- return input.assemblies();
- }
- });
- }
-
- @Override
- public PlatformTransaction transaction() {
- return mainPlatform.transaction();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/BasicCampPlatform.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/BasicCampPlatform.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/BasicCampPlatform.java
deleted file mode 100644
index 34fc6a2..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/BasicCampPlatform.java
+++ /dev/null
@@ -1,142 +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 org.apache.brooklyn.camp;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.brooklyn.camp.spi.ApplicationComponent;
-import org.apache.brooklyn.camp.spi.ApplicationComponentTemplate;
-import org.apache.brooklyn.camp.spi.Assembly;
-import org.apache.brooklyn.camp.spi.AssemblyTemplate;
-import org.apache.brooklyn.camp.spi.PlatformComponent;
-import org.apache.brooklyn.camp.spi.PlatformComponentTemplate;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.PlatformTransaction;
-import org.apache.brooklyn.camp.spi.collection.BasicResourceLookup;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/** A {@link CampPlatform} implementation which is empty but allows adding new items */
-public class BasicCampPlatform extends CampPlatform {
-
- private static final Logger log = LoggerFactory.getLogger(BasicCampPlatform.class);
-
- public BasicCampPlatform() {
- this(PlatformRootSummary.builder().name("CAMP Platform").build());
- }
-
- public BasicCampPlatform(PlatformRootSummary root) {
- super(root);
- }
-
- BasicResourceLookup<PlatformComponentTemplate> platformComponentTemplates = new BasicResourceLookup<PlatformComponentTemplate>();
- BasicResourceLookup<ApplicationComponentTemplate> applicationComponentTemplates = new BasicResourceLookup<ApplicationComponentTemplate>();
- BasicResourceLookup<AssemblyTemplate> assemblyTemplates = new BasicResourceLookup<AssemblyTemplate>();
-
- BasicResourceLookup<PlatformComponent> platformComponents = new BasicResourceLookup<PlatformComponent>();
- BasicResourceLookup<ApplicationComponent> applicationComponents = new BasicResourceLookup<ApplicationComponent>();
- BasicResourceLookup<Assembly> assemblies = new BasicResourceLookup<Assembly>();
-
- public BasicResourceLookup<PlatformComponentTemplate> platformComponentTemplates() {
- return platformComponentTemplates;
- }
-
- @Override
- public BasicResourceLookup<ApplicationComponentTemplate> applicationComponentTemplates() {
- return applicationComponentTemplates;
- }
-
- public BasicResourceLookup<AssemblyTemplate> assemblyTemplates() {
- return assemblyTemplates;
- }
-
- public BasicResourceLookup<PlatformComponent> platformComponents() {
- return platformComponents;
- }
-
- @Override
- public BasicResourceLookup<ApplicationComponent> applicationComponents() {
- return applicationComponents;
- }
-
- public BasicResourceLookup<Assembly> assemblies() {
- return assemblies;
- }
-
- @Override
- public PlatformTransaction transaction() {
- return new BasicPlatformTransaction(this);
- }
-
- public static class BasicPlatformTransaction extends PlatformTransaction {
- private final BasicCampPlatform platform;
- private final AtomicBoolean committed = new AtomicBoolean(false);
-
- public BasicPlatformTransaction(BasicCampPlatform platform) {
- this.platform = platform;
- }
-
- @Override
- public void commit() {
- if (committed.getAndSet(true))
- throw new IllegalStateException("transaction being committed multiple times");
-
- for (Object o: additions) {
- if (o instanceof AssemblyTemplate) {
- platform.assemblyTemplates.add((AssemblyTemplate) o);
- continue;
- }
- if (o instanceof PlatformComponentTemplate) {
- platform.platformComponentTemplates.add((PlatformComponentTemplate) o);
- continue;
- }
- if (o instanceof ApplicationComponentTemplate) {
- platform.applicationComponentTemplates.add((ApplicationComponentTemplate) o);
- continue;
- }
-
- if (o instanceof Assembly) {
- platform.assemblies.add((Assembly) o);
- continue;
- }
- if (o instanceof PlatformComponent) {
- platform.platformComponents.add((PlatformComponent) o);
- continue;
- }
- if (o instanceof ApplicationComponent) {
- platform.applicationComponents.add((ApplicationComponent) o);
- continue;
- }
-
- throw new UnsupportedOperationException("Object "+o+" of type "+o.getClass()+" cannot be added to "+platform);
- }
- }
-
- @Override
- protected void finalize() throws Throwable {
- if (!committed.get()) {
- // normal, in the case of errors (which might occur when catalog tries to figure out the right plan format); shouldn't happen otherwise
- // if we want log.warn visibility of these, then we will have to supply an abandon() method on this interface and ensure that is invoked on errors
- log.debug("transaction "+this+" was never applied");
- }
- super.finalize();
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/CampPlatform.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/CampPlatform.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/CampPlatform.java
deleted file mode 100644
index 817dae8..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/CampPlatform.java
+++ /dev/null
@@ -1,76 +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 org.apache.brooklyn.camp;
-
-import org.apache.brooklyn.camp.spi.ApplicationComponent;
-import org.apache.brooklyn.camp.spi.ApplicationComponentTemplate;
-import org.apache.brooklyn.camp.spi.Assembly;
-import org.apache.brooklyn.camp.spi.AssemblyTemplate;
-import org.apache.brooklyn.camp.spi.PlatformComponent;
-import org.apache.brooklyn.camp.spi.PlatformComponentTemplate;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.PlatformTransaction;
-import org.apache.brooklyn.camp.spi.collection.ResourceLookup;
-import org.apache.brooklyn.camp.spi.resolve.PdpProcessor;
-
-import com.google.common.base.Preconditions;
-
-public abstract class CampPlatform {
-
- private final PlatformRootSummary root;
- private final PdpProcessor pdp;
-
- public CampPlatform(PlatformRootSummary root) {
- this.root = Preconditions.checkNotNull(root, "root");
- pdp = createPdpProcessor();
- }
-
- // --- root
-
- public PlatformRootSummary root() {
- return root;
- }
-
- // --- other aspects
-
- public PdpProcessor pdp() {
- return pdp;
- }
-
-
- // --- required custom implementation hooks
-
- public abstract ResourceLookup<PlatformComponentTemplate> platformComponentTemplates();
- public abstract ResourceLookup<ApplicationComponentTemplate> applicationComponentTemplates();
- public abstract ResourceLookup<AssemblyTemplate> assemblyTemplates();
-
- public abstract ResourceLookup<PlatformComponent> platformComponents();
- public abstract ResourceLookup<ApplicationComponent> applicationComponents();
- public abstract ResourceLookup<Assembly> assemblies();
-
- /** returns object where changes to a PDP can be made; note all changes must be committed */
- public abstract PlatformTransaction transaction();
-
- // --- optional customisation overrides
-
- protected PdpProcessor createPdpProcessor() {
- return new PdpProcessor(this);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/commontypes/RepresentationSkew.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/commontypes/RepresentationSkew.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/commontypes/RepresentationSkew.java
deleted file mode 100644
index 01cece9..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/commontypes/RepresentationSkew.java
+++ /dev/null
@@ -1,23 +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 org.apache.brooklyn.camp.commontypes;
-
-public enum RepresentationSkew {
- CREATING, NONE, DESTROYING, UNKNOWN
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/AbstractResource.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/AbstractResource.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/AbstractResource.java
deleted file mode 100644
index c24eab1..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/AbstractResource.java
+++ /dev/null
@@ -1,195 +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 org.apache.brooklyn.camp.spi;
-
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.brooklyn.camp.commontypes.RepresentationSkew;
-import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.text.Identifiers;
-import org.apache.brooklyn.util.time.Time;
-
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.collect.ImmutableList;
-
-/** Superclass of CAMP resource implementation objects.
- * Typically used to hold common state of implementation objects
- * and to populate the DTO's used by the REST API.
- * <p>
- * These class instances are typically created using the
- * static {@link #builder()} methods they contain.
- * The resulting instances are typically immutable,
- * so where fields can change callers should use a new builder
- * (or update an underlying data store).
- * <p>
- * This class is not meant to be instantiated directly, as
- * CAMP only uses defined subclasses (ie containing these fields).
- * It is instantiable for testing.
- */
-public class AbstractResource {
-
- public static final String CAMP_TYPE = "Resource";
-
- private String id = Identifiers.makeRandomId(8);
- private String name;
- private String type;
- private String description;
- private String sourceCode;
- private Date created = Time.dropMilliseconds(new Date());
- private List<String> tags = Collections.emptyList();
- private RepresentationSkew representationSkew;
-
- private Map<String,Object> customAttributes = new MutableMap<String, Object>();
-
- /** Use {@link #builder()} to create */
- protected AbstractResource() {}
-
- // getters
-
- public String getId() {
- return id;
- }
- public String getName() {
- return name;
- }
- public String getType() {
- return type;
- }
- public String getDescription() {
- return description;
- }
- public String getSourceCode() {
- return sourceCode;
- }
- public Date getCreated() {
- return created;
- }
- public List<String> getTags() {
- return tags;
- }
- public RepresentationSkew getRepresentationSkew() {
- return representationSkew;
- }
- public Map<String, Object> getCustomAttributes() {
- return MutableMap.copyOf(customAttributes).asUnmodifiable();
- }
-
- // setters
-
- private void setId(String id) {
- this.id = id;
- }
- private void setName(String name) {
- this.name = name;
- }
- private void setDescription(String description) {
- this.description = description;
- }
- private void setSourceCode(String sourceCode) {
- this.sourceCode = sourceCode;
- }
- private void setCreated(Date created) {
- // precision beyond seconds breaks equals check
- this.created = Time.dropMilliseconds(created);
- }
- private void setTags(List<String> tags) {
- this.tags = ImmutableList.copyOf(tags);
- }
- private void setType(String type) {
- this.type = type;
- }
- private void setRepresentationSkew(RepresentationSkew representationSkew) {
- this.representationSkew = representationSkew;
- }
- public void setCustomAttribute(String key, Object value) {
- this.customAttributes.put(key, value);
- }
-
- // builder
- @SuppressWarnings("rawtypes")
- public static Builder<? extends AbstractResource,? extends Builder> builder() {
- return new AbstractResource().new AbstractResourceBuilder(CAMP_TYPE);
- }
-
- /** Builder creates the instance up front to avoid repetition of fields in the builder;
- * but prevents object leakage until build and prevents changes after build,
- * so effectively immutable.
- * <p>
- * Similarly setters in the class are private so those objects are also typically effectively immutable. */
- public abstract class Builder<T extends AbstractResource,U extends Builder<T,U>> {
-
- private boolean built = false;
- private String type = null;
- private boolean initialized = false;
-
- protected Builder(String type) {
- this.type = type;
- }
-
- protected final synchronized void check() {
- if (built)
- throw new IllegalStateException("Builder instance from "+this+" cannot be access after build");
- if (!initialized) {
- initialized = true;
- initialize();
- }
- }
-
- protected void initialize() {
- if (type!=null) type(type);
- }
-
- @SuppressWarnings("unchecked")
- public synchronized T build() {
- check();
- built = true;
- return (T) AbstractResource.this;
- }
-
- @SuppressWarnings("unchecked")
- protected U thisBuilder() { return (U)this; }
-
- public U type(String x) { check(); AbstractResource.this.setType(x); return thisBuilder(); }
- public U id(String x) { check(); AbstractResource.this.setId(x); return thisBuilder(); }
- public U name(String x) { check(); AbstractResource.this.setName(x); return thisBuilder(); }
- public U description(String x) { check(); AbstractResource.this.setDescription(x); return thisBuilder(); }
- public U created(Date x) { check(); AbstractResource.this.setCreated(x); return thisBuilder(); }
- public U tags(List<String> x) { check(); AbstractResource.this.setTags(x); return thisBuilder(); }
- public U representationSkew(RepresentationSkew x) { check(); AbstractResource.this.setRepresentationSkew(x); return thisBuilder(); }
- public U customAttribute(String key, Object value) { check(); AbstractResource.this.setCustomAttribute(key, value); return thisBuilder(); }
- public U sourceCode(String x) { check(); AbstractResource.this.setSourceCode(x); return thisBuilder(); }
-
-// public String type() { return instance().type; }
- }
-
- @VisibleForTesting
- protected class AbstractResourceBuilder extends Builder<AbstractResource,AbstractResourceBuilder> {
- protected AbstractResourceBuilder(String type) {
- super(type);
- }
- }
-
- @Override
- public String toString() {
- return super.toString()+"[id="+getId()+"; type="+getType()+"]";
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponent.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponent.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponent.java
deleted file mode 100644
index 6ece4d0..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponent.java
+++ /dev/null
@@ -1,93 +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 org.apache.brooklyn.camp.spi;
-
-import org.apache.brooklyn.camp.spi.collection.BasicResourceLookup;
-import org.apache.brooklyn.camp.spi.collection.ResourceLookup;
-import org.apache.brooklyn.camp.spi.collection.ResourceLookup.EmptyResourceLookup;
-
-
-/** Holds the metadata (name, description, etc) for a PCT
- * as well as fields pointing to behaviour (eg creation of PlatformComponent).
- * <p>
- * See {@link AbstractResource} for more general information.
- */
-public class ApplicationComponent extends AbstractResource {
-
- public static final String CAMP_TYPE = "ApplicationComponent";
- static { assert CAMP_TYPE.equals(ApplicationComponent.class.getSimpleName()); }
-
- /** Use {@link #builder()} to create */
- protected ApplicationComponent() {}
-
- ResourceLookup<ApplicationComponent> applicationComponents;
- ResourceLookup<PlatformComponent> platformComponents;
- String externalManagementUri;
-
- public ResourceLookup<ApplicationComponent> getApplicationComponents() {
- return applicationComponents != null ? applicationComponents : new EmptyResourceLookup<ApplicationComponent>();
- }
- public ResourceLookup<PlatformComponent> getPlatformComponents() {
- return platformComponents != null ? platformComponents : new EmptyResourceLookup<PlatformComponent>();
- }
-
- private void setApplicationComponents(ResourceLookup<ApplicationComponent> applicationComponents) {
- this.applicationComponents = applicationComponents;
- }
- private void setPlatformComponents(ResourceLookup<PlatformComponent> platformComponents) {
- this.platformComponents = platformComponents;
- }
-
- // builder
-
- public static Builder<? extends ApplicationComponent> builder() {
- return new ApplicationComponent().new Builder<ApplicationComponent>(CAMP_TYPE);
- }
-
- public class Builder<T extends ApplicationComponent> extends AbstractResource.Builder<T,Builder<T>> {
-
- protected Builder(String type) { super(type); }
-
- public Builder<T> applicationComponentTemplates(ResourceLookup<ApplicationComponent> x) { ApplicationComponent.this.setApplicationComponents(x); return thisBuilder(); }
- public Builder<T> platformComponentTemplates(ResourceLookup<PlatformComponent> x) { ApplicationComponent.this.setPlatformComponents(x); return thisBuilder(); }
-
- public synchronized Builder<T> add(ApplicationComponent x) {
- if (ApplicationComponent.this.applicationComponents==null) {
- ApplicationComponent.this.applicationComponents = new BasicResourceLookup<ApplicationComponent>();
- }
- if (!(ApplicationComponent.this.applicationComponents instanceof BasicResourceLookup)) {
- throw new IllegalStateException("Cannot add to resource lookup "+ApplicationComponent.this.applicationComponents);
- }
- ((BasicResourceLookup<ApplicationComponent>)ApplicationComponent.this.applicationComponents).add(x);
- return thisBuilder();
- }
-
- public synchronized Builder<T> add(PlatformComponent x) {
- if (ApplicationComponent.this.platformComponents==null) {
- ApplicationComponent.this.platformComponents = new BasicResourceLookup<PlatformComponent>();
- }
- if (!(ApplicationComponent.this.platformComponents instanceof BasicResourceLookup)) {
- throw new IllegalStateException("Cannot add to resource lookup "+ApplicationComponent.this.platformComponents);
- }
- ((BasicResourceLookup<PlatformComponent>)ApplicationComponent.this.platformComponents).add(x);
- return thisBuilder();
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponentTemplate.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponentTemplate.java b/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponentTemplate.java
deleted file mode 100644
index bd9d69d..0000000
--- a/brooklyn-server/camp/camp-base/src/main/java/org/apache/brooklyn/camp/spi/ApplicationComponentTemplate.java
+++ /dev/null
@@ -1,54 +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 org.apache.brooklyn.camp.spi;
-
-
-/** Holds the metadata (name, description, etc) for a PCT
- * as well as fields pointing to behaviour (eg creation of PlatformComponent).
- * <p>
- * See {@link AbstractResource} for more general information.
- */
-public class ApplicationComponentTemplate extends AbstractResource {
-
- public static final String CAMP_TYPE = "ApplicationComponentTemplate";
- static { assert CAMP_TYPE.equals(ApplicationComponentTemplate.class.getSimpleName()); }
-
- /** Use {@link #builder()} to create */
- protected ApplicationComponentTemplate() {}
-
-
- // no fields beyond basic resource
-
- // TODO platform component templates, maybe other act's too ?
-
-
- // builder
-
- public static Builder<? extends ApplicationComponentTemplate> builder() {
- return new ApplicationComponentTemplate().new Builder<ApplicationComponentTemplate>(CAMP_TYPE);
- }
-
- public class Builder<T extends ApplicationComponentTemplate> extends AbstractResource.Builder<T,Builder<T>> {
-
- protected Builder(String type) { super(type); }
-
-// public Builder<T> foo(String x) { instance().setFoo(x); return thisBuilder(); }
- }
-
-}