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:18 UTC
[36/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/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/methods/DslComponent.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/methods/DslComponent.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/methods/DslComponent.java
deleted file mode 100644
index 40fd757..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/methods/DslComponent.java
+++ /dev/null
@@ -1,331 +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.brooklyn.spi.dsl.methods;
-
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.concurrent.Callable;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.Task;
-import org.apache.brooklyn.api.sensor.AttributeSensor;
-import org.apache.brooklyn.api.sensor.Sensor;
-import org.apache.brooklyn.camp.brooklyn.BrooklynCampConstants;
-import org.apache.brooklyn.camp.brooklyn.spi.dsl.BrooklynDslDeferredSupplier;
-import org.apache.brooklyn.core.config.ConfigKeys;
-import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.entity.EntityInternal;
-import org.apache.brooklyn.core.entity.EntityPredicates;
-import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
-import org.apache.brooklyn.core.mgmt.internal.EntityManagerInternal;
-import org.apache.brooklyn.core.sensor.DependentConfiguration;
-import org.apache.brooklyn.core.sensor.Sensors;
-import org.apache.brooklyn.util.core.task.TaskBuilder;
-import org.apache.brooklyn.util.core.task.Tasks;
-import org.apache.brooklyn.util.guava.Maybe;
-import org.apache.brooklyn.util.text.StringEscapes.JavaStringEscapes;
-
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-public class DslComponent extends BrooklynDslDeferredSupplier<Entity> {
-
- private static final long serialVersionUID = -7715984495268724954L;
-
- private final String componentId;
- private final DslComponent scopeComponent;
- private final Scope scope;
-
- public DslComponent(String componentId) {
- this(Scope.GLOBAL, componentId);
- }
-
- public DslComponent(Scope scope, String componentId) {
- this(null, scope, componentId);
- }
-
- public DslComponent(DslComponent scopeComponent, Scope scope, String componentId) {
- Preconditions.checkNotNull(scope, "scope");
- this.scopeComponent = scopeComponent;
- this.componentId = componentId;
- this.scope = scope;
- }
-
- // ---------------------------
-
- @Override
- public Task<Entity> newTask() {
- return TaskBuilder.<Entity>builder().displayName(toString()).tag(BrooklynTaskTags.TRANSIENT_TASK_TAG)
- .body(new EntityInScopeFinder(scopeComponent, scope, componentId)).build();
- }
-
- protected static class EntityInScopeFinder implements Callable<Entity> {
- protected final DslComponent scopeComponent;
- protected final Scope scope;
- protected final String componentId;
-
- public EntityInScopeFinder(DslComponent scopeComponent, Scope scope, String componentId) {
- this.scopeComponent = scopeComponent;
- this.scope = scope;
- this.componentId = componentId;
- }
-
- protected EntityInternal getEntity() {
- if (scopeComponent!=null) {
- return (EntityInternal)scopeComponent.get();
- } else {
- return entity();
- }
- }
-
- @Override
- public Entity call() throws Exception {
- Iterable<Entity> entitiesToSearch = null;
- switch (scope) {
- case THIS:
- return getEntity();
- case PARENT:
- return getEntity().getParent();
- case GLOBAL:
- entitiesToSearch = ((EntityManagerInternal)getEntity().getManagementContext().getEntityManager())
- .getAllEntitiesInApplication( entity().getApplication() );
- break;
- case ROOT:
- return getEntity().getApplication();
- case SCOPE_ROOT:
- return Entities.catalogItemScopeRoot(getEntity());
- case DESCENDANT:
- entitiesToSearch = Entities.descendants(getEntity());
- break;
- case ANCESTOR:
- entitiesToSearch = Entities.ancestors(getEntity());
- break;
- case SIBLING:
- entitiesToSearch = getEntity().getParent().getChildren();
- break;
- case CHILD:
- entitiesToSearch = getEntity().getChildren();
- break;
- default:
- throw new IllegalStateException("Unexpected scope "+scope);
- }
-
- Optional<Entity> result = Iterables.tryFind(entitiesToSearch, EntityPredicates.configEqualTo(BrooklynCampConstants.PLAN_ID, componentId));
-
- if (result.isPresent())
- return result.get();
-
- // TODO may want to block and repeat on new entities joining?
- throw new NoSuchElementException("No entity matching id " + componentId+
- (scope==Scope.GLOBAL ? "" : ", in scope "+scope+" wrt "+getEntity()+
- (scopeComponent!=null ? " ("+scopeComponent+" from "+entity()+")" : "")));
- }
- }
-
- // -------------------------------
-
- // DSL words which move to a new component
-
- public DslComponent entity(String scopeOrId) {
- return new DslComponent(this, Scope.GLOBAL, scopeOrId);
- }
- public DslComponent child(String scopeOrId) {
- return new DslComponent(this, Scope.CHILD, scopeOrId);
- }
- public DslComponent sibling(String scopeOrId) {
- return new DslComponent(this, Scope.SIBLING, scopeOrId);
- }
- public DslComponent descendant(String scopeOrId) {
- return new DslComponent(this, Scope.DESCENDANT, scopeOrId);
- }
- public DslComponent ancestor(String scopeOrId) {
- return new DslComponent(this, Scope.ANCESTOR, scopeOrId);
- }
- public DslComponent root() {
- return new DslComponent(this, Scope.ROOT, "");
- }
- public DslComponent scopeRoot() {
- return new DslComponent(this, Scope.SCOPE_ROOT, "");
- }
-
- @Deprecated /** @deprecated since 0.7.0 */
- public DslComponent component(String scopeOrId) {
- return new DslComponent(this, Scope.GLOBAL, scopeOrId);
- }
-
- public DslComponent parent() {
- return new DslComponent(this, Scope.PARENT, "");
- }
-
- public DslComponent component(String scope, String id) {
- if (!DslComponent.Scope.isValid(scope)) {
- throw new IllegalArgumentException(scope + " is not a vlaid scope");
- }
- return new DslComponent(this, DslComponent.Scope.fromString(scope), id);
- }
-
- // DSL words which return things
-
- public BrooklynDslDeferredSupplier<?> attributeWhenReady(final String sensorName) {
- return new AttributeWhenReady(this, sensorName);
- }
- // class simply makes the memento XML files nicer
- protected static class AttributeWhenReady extends BrooklynDslDeferredSupplier<Object> {
- private static final long serialVersionUID = 1740899524088902383L;
- private final DslComponent component;
- private final String sensorName;
- public AttributeWhenReady(DslComponent component, String sensorName) {
- this.component = Preconditions.checkNotNull(component);
- this.sensorName = sensorName;
- }
- @SuppressWarnings("unchecked")
- @Override
- public Task<Object> newTask() {
- Entity targetEntity = component.get();
- Sensor<?> targetSensor = targetEntity.getEntityType().getSensor(sensorName);
- if (!(targetSensor instanceof AttributeSensor<?>)) {
- targetSensor = Sensors.newSensor(Object.class, sensorName);
- }
- return (Task<Object>) DependentConfiguration.attributeWhenReady(targetEntity, (AttributeSensor<?>)targetSensor);
- }
- @Override
- public String toString() {
- return (component.scope==Scope.THIS ? "" : component.toString()+".") +
- "attributeWhenReady("+JavaStringEscapes.wrapJavaString(sensorName)+")";
- }
- }
-
- public BrooklynDslDeferredSupplier<?> config(final String keyName) {
- return new DslConfigSupplier(this, keyName);
- }
- protected final static class DslConfigSupplier extends BrooklynDslDeferredSupplier<Object> {
- private final DslComponent component;
- private final String keyName;
- private static final long serialVersionUID = -4735177561947722511L;
-
- public DslConfigSupplier(DslComponent component, String keyName) {
- this.component = Preconditions.checkNotNull(component);
- this.keyName = keyName;
- }
-
- @Override
- public Task<Object> newTask() {
- return Tasks.builder().displayName("retrieving config for "+keyName).tag(BrooklynTaskTags.TRANSIENT_TASK_TAG).dynamic(false).body(new Callable<Object>() {
- @Override
- public Object call() throws Exception {
- Entity targetEntity = component.get();
- return targetEntity.getConfig(ConfigKeys.newConfigKey(Object.class, keyName));
- }
- }).build();
- }
-
- @Override
- public String toString() {
- return (component.scope==Scope.THIS ? "" : component.toString()+".") +
- "config("+JavaStringEscapes.wrapJavaString(keyName)+")";
- }
- }
-
- public BrooklynDslDeferredSupplier<Sensor<?>> sensor(final String sensorName) {
- return new DslSensorSupplier(this, sensorName);
- }
- protected final static class DslSensorSupplier extends BrooklynDslDeferredSupplier<Sensor<?>> {
- private final DslComponent component;
- private final String sensorName;
- private static final long serialVersionUID = -4735177561947722511L;
-
- public DslSensorSupplier(DslComponent component, String sensorName) {
- this.component = Preconditions.checkNotNull(component);
- this.sensorName = sensorName;
- }
-
- @Override
- public Task<Sensor<?>> newTask() {
- return Tasks.<Sensor<?>>builder().displayName("looking up sensor for "+sensorName).dynamic(false).body(new Callable<Sensor<?>>() {
- @Override
- public Sensor<?> call() throws Exception {
- Entity targetEntity = component.get();
- Sensor<?> result = null;
- if (targetEntity!=null) {
- result = targetEntity.getEntityType().getSensor(sensorName);
- }
- if (result!=null) return result;
- return Sensors.newSensor(Object.class, sensorName);
- }
- }).build();
- }
-
- @Override
- public String toString() {
- return (component.scope==Scope.THIS ? "" : component.toString()+".") +
- "sensor("+JavaStringEscapes.wrapJavaString(sensorName)+")";
- }
- }
-
- public static enum Scope {
- GLOBAL ("global"),
- CHILD ("child"),
- PARENT ("parent"),
- SIBLING ("sibling"),
- DESCENDANT ("descendant"),
- ANCESTOR("ancestor"),
- ROOT("root"),
- SCOPE_ROOT("scopeRoot"),
- THIS ("this");
-
- public static final Set<Scope> VALUES = ImmutableSet.of(GLOBAL, CHILD, PARENT, SIBLING, DESCENDANT, ANCESTOR, ROOT, SCOPE_ROOT, THIS);
-
- private final String name;
-
- private Scope(String name) {
- this.name = name;
- }
-
- public static Scope fromString(String name) {
- return tryFromString(name).get();
- }
-
- public static Maybe<Scope> tryFromString(String name) {
- for (Scope scope : VALUES)
- if (scope.name.toLowerCase().equals(name.toLowerCase()))
- return Maybe.of(scope);
- return Maybe.absent(new IllegalArgumentException(name + " is not a valid scope"));
- }
-
- public static boolean isValid(String name) {
- for (Scope scope : VALUES)
- if (scope.name.toLowerCase().equals(name.toLowerCase()))
- return true;
- return false;
- }
- }
-
-
- @Override
- public String toString() {
- return "$brooklyn:entity("+
- (scopeComponent==null ? "" : JavaStringEscapes.wrapJavaString(scopeComponent.toString())+", ")+
- (scope==Scope.GLOBAL ? "" : JavaStringEscapes.wrapJavaString(scope.toString())+", ")+
- JavaStringEscapes.wrapJavaString(componentId)+
- ")";
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/DslParser.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/DslParser.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/DslParser.java
deleted file mode 100644
index 7b0f359..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/DslParser.java
+++ /dev/null
@@ -1,144 +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.brooklyn.spi.dsl.parse;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.brooklyn.util.collections.MutableList;
-
-public class DslParser {
- private final String expression;
- int index = -1;
-
- public DslParser(String expression) {
- this.expression = expression;
- }
-
- public synchronized Object parse() {
- if (index>=0)
- throw new IllegalStateException("Parser can only be used once");
-
- index++;
- Object result = next();
-
- if (index < expression.length())
- throw new IllegalStateException("Unexpected character at position "+index+" in "+expression);
-
- return result;
- }
-
- @SuppressWarnings("unchecked")
- public Object next() {
- int start = index;
-
- skipWhitespace();
- if (index >= expression.length())
- throw new IllegalStateException("Unexpected end of expression to parse, looking for content since position "+start);
-
- if (expression.charAt(index)=='"') {
- // assume a string
- int stringStart = index;
- index++;
- do {
- if (index >= expression.length())
- throw new IllegalStateException("Unexpected end of expression to parse, looking for close quote since position "+stringStart);
- char c = expression.charAt(index);
- if (c=='"') break;
- if (c=='\\') index++;
- index++;
- } while (true);
- index++;
- return new QuotedString(expression.substring(stringStart, index));
- }
-
- // not a string, must be a function (or chain thereof)
- List<FunctionWithArgs> result = new MutableList<FunctionWithArgs>();
-
- int fnStart = index;
- do {
- if (index >= expression.length())
- break;
- char c = expression.charAt(index);
- if (Character.isJavaIdentifierPart(c)) ;
- // these chars also permitted
- else if (".:".indexOf(c)>=0) ;
- // other things e.g. whitespace, parentheses, etc, skip
- else break;
- index++;
- } while (true);
- String fn = expression.substring(fnStart, index);
- if (fn.length()==0)
- throw new IllegalStateException("Expected a function name at position "+start);
- skipWhitespace();
-
- if (index < expression.length() && expression.charAt(index)=='(') {
- // collect arguments
- int parenStart = index;
- List<Object> args = new MutableList<Object>();
- index ++;
- do {
- skipWhitespace();
- if (index >= expression.length())
- throw new IllegalStateException("Unexpected end of arguments to function '"+fn+"', no close parenthesis matching character at position "+parenStart);
- char c = expression.charAt(index);
- if (c==')') break;
- if (c==',') {
- if (args.isEmpty())
- throw new IllegalStateException("Invalid character at position"+index);
- index++;
- } else {
- if (!args.isEmpty())
- throw new IllegalStateException("Expected , before position"+index);
- }
- args.add(next());
- } while (true);
- result.add(new FunctionWithArgs(fn, args));
- index++;
- skipWhitespace();
- if (index >= expression.length())
- return result;
- char c = expression.charAt(index);
- if (c=='.') {
- // chained expression
- int chainStart = index;
- index++;
- Object next = next();
- if (next instanceof List) {
- result.addAll((Collection<? extends FunctionWithArgs>) next);
- return result;
- } else {
- throw new IllegalStateException("Expected functions following position"+chainStart);
- }
- } else {
- // following word not something handled at this level; assume parent will handle (or throw) - e.g. a , or extra )
- return result;
- }
- } else {
- // it is just a word; return it with args as null
- return new FunctionWithArgs(fn, null);
- }
- }
-
- private void skipWhitespace() {
- while (index<expression.length() && Character.isWhitespace(expression.charAt(index)))
- index++;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/FunctionWithArgs.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/FunctionWithArgs.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/FunctionWithArgs.java
deleted file mode 100644
index 41bc837..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/FunctionWithArgs.java
+++ /dev/null
@@ -1,57 +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.brooklyn.spi.dsl.parse;
-
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-
-public class FunctionWithArgs {
- private final String function;
- private final List<Object> args;
-
- public FunctionWithArgs(String function, List<Object> args) {
- this.function = function;
- this.args = args==null ? null : ImmutableList.copyOf(args);
- }
-
- public String getFunction() {
- return function;
- }
-
- /**
- * arguments (typically {@link QuotedString} or more {@link FunctionWithArgs}).
- *
- * null means it is a function in a map key which expects map value to be the arguments -- specified without parentheses;
- * empty means parentheses already applied, with 0 args.
- */
- public List<Object> getArgs() {
- return args;
- }
-
- @Override
- public String toString() {
- return function+(args==null ? "" : args);
- }
-
- public Object arg(int i) {
- return args.get(i);
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/QuotedString.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/QuotedString.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/QuotedString.java
deleted file mode 100644
index cf1b67d..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/parse/QuotedString.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.camp.brooklyn.spi.dsl.parse;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
-import org.apache.brooklyn.util.text.StringEscapes.JavaStringEscapes;
-
-import com.google.common.base.Objects;
-
-public class QuotedString {
- private final String s;
-
- public QuotedString(String s) {
- this.s = checkNotNull(s, "string");
- }
- @Override
- public String toString() {
- return s;
- }
- public String unwrapped() {
- return JavaStringEscapes.unwrapJavaString(s);
- }
-
- @Override
- public boolean equals(Object obj) {
- return (obj instanceof QuotedString) && ((QuotedString)obj).toString().equals(toString());
- }
-
- @Override
- public int hashCode() {
- return Objects.hashCode(s);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractBrooklynResourceLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractBrooklynResourceLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractBrooklynResourceLookup.java
deleted file mode 100644
index b0514e6..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractBrooklynResourceLookup.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.camp.brooklyn.spi.lookup;
-
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.camp.spi.AbstractResource;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.collection.AbstractResourceLookup;
-
-public abstract class AbstractBrooklynResourceLookup<T extends AbstractResource> extends AbstractResourceLookup<T> {
-
- protected final PlatformRootSummary root;
- protected final ManagementContext bmc;
-
- public AbstractBrooklynResourceLookup(PlatformRootSummary root, ManagementContext bmc) {
- this.root = root;
- this.bmc = bmc;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java
deleted file mode 100644
index f038e0f..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AbstractTemplateBrooklynLookup.java
+++ /dev/null
@@ -1,56 +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.brooklyn.spi.lookup;
-
-import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.api.typereg.RegisteredType;
-import org.apache.brooklyn.camp.spi.AbstractResource;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.collection.ResolvableLink;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class AbstractTemplateBrooklynLookup<T extends AbstractResource> extends AbstractBrooklynResourceLookup<T> {
-
- private static final Logger log = LoggerFactory.getLogger(AbstractTemplateBrooklynLookup.class);
-
- public AbstractTemplateBrooklynLookup(PlatformRootSummary root, ManagementContext bmc) {
- super(root, bmc);
- }
-
- @Override
- public T get(String id) {
- RegisteredType item = bmc.getTypeRegistry().get(id);
- if (item==null) {
- log.warn("Could not find item '"+id+"' in Brooklyn catalog; returning null");
- return null;
- }
- return adapt(item);
- }
-
- public abstract T adapt(RegisteredType item);
-
- protected ResolvableLink<T> newLink(CatalogItem<? extends Entity,EntitySpec<?>> li) {
- return newLink(li.getId(), li.getDisplayName());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyBrooklynLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyBrooklynLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyBrooklynLookup.java
deleted file mode 100644
index 1ab2585..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyBrooklynLookup.java
+++ /dev/null
@@ -1,68 +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.brooklyn.spi.lookup;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.brooklyn.api.entity.Application;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.camp.spi.Assembly;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.collection.ResolvableLink;
-
-
-public class AssemblyBrooklynLookup extends AbstractBrooklynResourceLookup<Assembly> {
-
- private PlatformComponentBrooklynLookup pcs;
-
- public AssemblyBrooklynLookup(PlatformRootSummary root, ManagementContext bmc, PlatformComponentBrooklynLookup pcs) {
- super(root, bmc);
- this.pcs = pcs;
- }
-
- @Override
- public Assembly get(String id) {
- Entity entity = bmc.getEntityManager().getEntity(id);
- if (!(entity instanceof Application))
- throw new IllegalArgumentException("Element for "+id+" is not an Application ("+entity+")");
- Assembly.Builder<? extends Assembly> builder = Assembly.builder()
- .created(new Date(entity.getCreationTime()))
- .id(entity.getId())
- .name(entity.getDisplayName());
-
- builder.customAttribute("externalManagementUri", BrooklynUrlLookup.getUrl(bmc, entity));
-
- for (Entity child: entity.getChildren())
- // FIXME this walks the whole damn tree!
- builder.add( pcs.get(child.getId() ));
- return builder.build();
- }
-
- @Override
- public List<ResolvableLink<Assembly>> links() {
- List<ResolvableLink<Assembly>> result = new ArrayList<ResolvableLink<Assembly>>();
- for (Application app: bmc.getApplications())
- result.add(newLink(app.getId(), app.getDisplayName()));
- return result;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java
deleted file mode 100644
index e30d9c6..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/AssemblyTemplateBrooklynLookup.java
+++ /dev/null
@@ -1,70 +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.brooklyn.spi.lookup;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.api.entity.Application;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.api.typereg.RegisteredType;
-import org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynAssemblyTemplateInstantiator;
-import org.apache.brooklyn.camp.spi.AssemblyTemplate;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.collection.ResolvableLink;
-import org.apache.brooklyn.core.catalog.CatalogPredicates;
-
-public class AssemblyTemplateBrooklynLookup extends AbstractTemplateBrooklynLookup<AssemblyTemplate> {
-
- public AssemblyTemplateBrooklynLookup(PlatformRootSummary root, ManagementContext bmc) {
- super(root, bmc);
- }
-
- @Override
- public AssemblyTemplate adapt(RegisteredType item) {
- return AssemblyTemplate.builder().
- name(item.getDisplayName()).
- id(item.getId()).
- description(item.getDescription()).
- created(root.getCreated()).
- instantiator(BrooklynAssemblyTemplateInstantiator.class).
- build();
- }
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- // why can I not pass an EntitySpec<? extends Application> to newLink(EntitySpec<?> spec) ?
- // feels to me (alexheneveld) that `? extends Application` should be both covariant and contravariant to `?` ..
- // but it's not, so we introduce this conversion method
- protected ResolvableLink<AssemblyTemplate> newApplicationLink(CatalogItem<? extends Entity, EntitySpec<? extends Application>> li) {
- return super.newLink((CatalogItem)li);
- }
-
- @Override
- public List<ResolvableLink<AssemblyTemplate>> links() {
- Iterable<CatalogItem<Application,EntitySpec<? extends Application>>> l = bmc.getCatalog().getCatalogItems(CatalogPredicates.IS_TEMPLATE);
- List<ResolvableLink<AssemblyTemplate>> result = new ArrayList<ResolvableLink<AssemblyTemplate>>();
- for (CatalogItem<Application,EntitySpec<? extends Application>> li: l)
- result.add(newApplicationLink(li));
- return result;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/BrooklynUrlLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/BrooklynUrlLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/BrooklynUrlLookup.java
deleted file mode 100644
index 97ad8cc..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/BrooklynUrlLookup.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.camp.brooklyn.spi.lookup;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.config.ConfigKey;
-import org.apache.brooklyn.core.config.ConfigKeys;
-import org.apache.brooklyn.util.net.Urls;
-
-public class BrooklynUrlLookup {
-
- public static ConfigKey<String> BROOKLYN_ROOT_URL = ConfigKeys.newStringConfigKey("brooklyn.root.url");
-
- public static String getUrl(ManagementContext bmc, Entity entity) {
- String root = bmc.getConfig().getConfig(BROOKLYN_ROOT_URL);
- if (root==null) return null;
- return Urls.mergePaths(root, "#/",
- "/v1/applications/"+entity.getApplicationId()+"/entities/"+entity.getId());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentBrooklynLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentBrooklynLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentBrooklynLookup.java
deleted file mode 100644
index 6705b10..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentBrooklynLookup.java
+++ /dev/null
@@ -1,60 +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.brooklyn.spi.lookup;
-
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.camp.spi.PlatformComponent;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.PlatformComponent.Builder;
-import org.apache.brooklyn.camp.spi.collection.ResolvableLink;
-
-
-public class PlatformComponentBrooklynLookup extends AbstractBrooklynResourceLookup<PlatformComponent> {
-
- public PlatformComponentBrooklynLookup(PlatformRootSummary root, ManagementContext bmc) {
- super(root, bmc);
- }
-
- @Override
- public PlatformComponent get(String id) {
- Entity entity = bmc.getEntityManager().getEntity(id);
- Builder<? extends PlatformComponent> builder = PlatformComponent.builder()
- .created(new Date(entity.getCreationTime()))
- .id(entity.getId())
- .name(entity.getDisplayName())
- .externalManagementUri(BrooklynUrlLookup.getUrl(bmc, entity));
-
- for (Entity child: entity.getChildren())
- // FIXME this walks the whole damn tree!
- builder.add( get(child.getId() ));
- return builder.build();
- }
-
- // platform components are not listed at the top level -- you have to walk the assemblies
- @Override
- public List<ResolvableLink<PlatformComponent>> links() {
- return Collections.emptyList();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.java
deleted file mode 100644
index d70129a..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/lookup/PlatformComponentTemplateBrooklynLookup.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 org.apache.brooklyn.camp.brooklyn.spi.lookup;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.api.typereg.RegisteredType;
-import org.apache.brooklyn.camp.spi.PlatformComponentTemplate;
-import org.apache.brooklyn.camp.spi.PlatformRootSummary;
-import org.apache.brooklyn.camp.spi.collection.ResolvableLink;
-import org.apache.brooklyn.core.catalog.CatalogPredicates;
-
-public class PlatformComponentTemplateBrooklynLookup extends AbstractTemplateBrooklynLookup<PlatformComponentTemplate> {
-
- public PlatformComponentTemplateBrooklynLookup(PlatformRootSummary root, ManagementContext bmc) {
- super(root, bmc);
- }
-
- @Override
- public PlatformComponentTemplate adapt(RegisteredType item) {
- return PlatformComponentTemplate.builder().
- name(item.getDisplayName()).
- id(item.getId()).
- description(item.getDescription()).
- created(root.getCreated()).
- build();
- }
-
- @Override
- public List<ResolvableLink<PlatformComponentTemplate>> links() {
- Iterable<CatalogItem<Entity,EntitySpec<?>>> l = bmc.getCatalog().getCatalogItems(CatalogPredicates.IS_ENTITY);
- List<ResolvableLink<PlatformComponentTemplate>> result = new ArrayList<ResolvableLink<PlatformComponentTemplate>>();
- for (CatalogItem<Entity,EntitySpec<?>> li: l)
- result.add(newLink(li));
- return result;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/platform/BrooklynImmutableCampPlatform.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/platform/BrooklynImmutableCampPlatform.java b/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/platform/BrooklynImmutableCampPlatform.java
deleted file mode 100644
index 7135480..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/platform/BrooklynImmutableCampPlatform.java
+++ /dev/null
@@ -1,108 +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.brooklyn.spi.platform;
-
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.camp.CampPlatform;
-import org.apache.brooklyn.camp.brooklyn.spi.lookup.AssemblyBrooklynLookup;
-import org.apache.brooklyn.camp.brooklyn.spi.lookup.AssemblyTemplateBrooklynLookup;
-import org.apache.brooklyn.camp.brooklyn.spi.lookup.PlatformComponentBrooklynLookup;
-import org.apache.brooklyn.camp.brooklyn.spi.lookup.PlatformComponentTemplateBrooklynLookup;
-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.apache.brooklyn.camp.spi.collection.ResourceLookup;
-import org.apache.brooklyn.camp.spi.collection.ResourceLookup.EmptyResourceLookup;
-import org.apache.brooklyn.core.mgmt.HasBrooklynManagementContext;
-
-/** Immutable CAMP platform which reflects things in the underlying Brooklyn system */
-public class BrooklynImmutableCampPlatform extends CampPlatform implements HasBrooklynManagementContext {
-
- private final ManagementContext bmc;
- private final AssemblyTemplateBrooklynLookup ats;
- private final PlatformComponentTemplateBrooklynLookup pcts;
- private final BasicResourceLookup<ApplicationComponentTemplate> acts;
- private final PlatformComponentBrooklynLookup pcs;
- private final AssemblyBrooklynLookup assemblies;
-
- public BrooklynImmutableCampPlatform(PlatformRootSummary root, ManagementContext managementContext) {
- super(root);
- this.bmc = managementContext;
-
- // these come from brooklyn
- pcts = new PlatformComponentTemplateBrooklynLookup(root(), getBrooklynManagementContext());
- ats = new AssemblyTemplateBrooklynLookup(root(), getBrooklynManagementContext());
- pcs = new PlatformComponentBrooklynLookup(root(), getBrooklynManagementContext());
- assemblies = new AssemblyBrooklynLookup(root(), getBrooklynManagementContext(), pcs);
-
- // ACT's are not known in brooklyn (everything comes in as config) -- to be extended to support!
- acts = new BasicResourceLookup<ApplicationComponentTemplate>();
- }
-
- // --- brooklyn setup
-
- @Override
- public ManagementContext getBrooklynManagementContext() {
- return bmc;
- }
-
- // --- camp comatibility setup
-
- @Override
- public ResourceLookup<PlatformComponentTemplate> platformComponentTemplates() {
- return pcts;
- }
-
- @Override
- public ResourceLookup<ApplicationComponentTemplate> applicationComponentTemplates() {
- return acts;
- }
-
- @Override
- public ResourceLookup<AssemblyTemplate> assemblyTemplates() {
- return ats;
- }
-
- @Override
- public ResourceLookup<PlatformComponent> platformComponents() {
- return pcs;
- }
-
- @Override
- public ResourceLookup<ApplicationComponent> applicationComponents() {
- return new EmptyResourceLookup<ApplicationComponent>();
- }
-
- @Override
- public ResourceLookup<Assembly> assemblies() {
- return assemblies;
- }
-
- @Override
- public PlatformTransaction transaction() {
- throw new IllegalStateException(this+" does not support adding new items");
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.plan.PlanToSpecTransformer
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.plan.PlanToSpecTransformer b/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.plan.PlanToSpecTransformer
deleted file mode 100644
index e93291e..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.plan.PlanToSpecTransformer
+++ /dev/null
@@ -1,19 +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.
-#
-org.apache.brooklyn.camp.brooklyn.spi.creation.CampToSpecTransformer
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.typereg.BrooklynTypePlanTransformer
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.typereg.BrooklynTypePlanTransformer b/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.typereg.BrooklynTypePlanTransformer
deleted file mode 100644
index 0c6fab3..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/main/resources/META-INF/services/org.apache.brooklyn.core.typereg.BrooklynTypePlanTransformer
+++ /dev/null
@@ -1,19 +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.
-#
-org.apache.brooklyn.camp.brooklyn.spi.creation.CampTypePlanTransformer
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java
deleted file mode 100644
index 6982507..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlRebindTest.java
+++ /dev/null
@@ -1,207 +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.brooklyn;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Set;
-
-import org.apache.brooklyn.api.catalog.CatalogItem;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.api.mgmt.Task;
-import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatform;
-import org.apache.brooklyn.camp.brooklyn.BrooklynCampPlatformLauncherNoServer;
-import org.apache.brooklyn.camp.spi.Assembly;
-import org.apache.brooklyn.camp.spi.AssemblyTemplate;
-import org.apache.brooklyn.core.catalog.internal.CatalogUtils;
-import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.entity.StartableApplication;
-import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
-import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
-import org.apache.brooklyn.core.mgmt.rebind.RebindOptions;
-import org.apache.brooklyn.core.mgmt.rebind.RebindTestFixture;
-import org.apache.brooklyn.util.core.ResourceUtils;
-import org.apache.brooklyn.util.core.config.ConfigBag;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-
-import com.google.common.base.Joiner;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterables;
-
-public class AbstractYamlRebindTest extends RebindTestFixture<StartableApplication> {
-
- private static final Logger LOG = LoggerFactory.getLogger(AbstractYamlTest.class);
- protected static final String TEST_VERSION = "0.1.2";
-
- protected BrooklynCampPlatform platform;
- protected BrooklynCampPlatformLauncherNoServer launcher;
- private boolean forceUpdate;
-
- @BeforeMethod(alwaysRun = true)
- @Override
- public void setUp() throws Exception {
- super.setUp();
- launcher = new BrooklynCampPlatformLauncherNoServer() {
- @Override
- protected LocalManagementContext newMgmtContext() {
- return (LocalManagementContext) mgmt();
- }
- };
- launcher.launch();
- platform = launcher.getCampPlatform();
- }
-
- @AfterMethod(alwaysRun = true)
- @Override
- public void tearDown() throws Exception {
- try {
- super.tearDown();
- } finally {
- if (launcher != null) launcher.stopServers();
- }
- }
-
- protected StartableApplication rebind(RebindOptions options) throws Exception {
- StartableApplication result = super.rebind(options);
- if (launcher != null) {
- launcher.stopServers();
- launcher = new BrooklynCampPlatformLauncherNoServer() {
- @Override
- protected LocalManagementContext newMgmtContext() {
- return (LocalManagementContext) mgmt();
- }
- };
- launcher.launch();
- platform = launcher.getCampPlatform();
- }
- return result;
- }
-
- @Override
- protected StartableApplication createApp() {
- return null;
- }
-
- protected ManagementContext mgmt() {
- return (newManagementContext != null) ? newManagementContext : origManagementContext;
- }
-
- ///////////////////////////////////////////////////
- // TODO code below is duplicate of AbstractYamlTest
- ///////////////////////////////////////////////////
-
- protected void waitForApplicationTasks(Entity app) {
- Set<Task<?>> tasks = BrooklynTaskTags.getTasksInEntityContext(mgmt().getExecutionManager(), app);
- getLogger().info("Waiting on " + tasks.size() + " task(s)");
- for (Task<?> t : tasks) {
- t.blockUntilEnded();
- }
- }
-
- protected Reader loadYaml(String yamlFileName, String ...extraLines) throws Exception {
- String input = new ResourceUtils(this).getResourceAsString(yamlFileName).trim();
- StringBuilder builder = new StringBuilder(input);
- for (String l: extraLines)
- builder.append("\n").append(l);
- return new StringReader(builder.toString());
- }
-
- protected Entity createAndStartApplication(String... multiLineYaml) throws Exception {
- return createAndStartApplication(joinLines(multiLineYaml));
- }
-
- protected Entity createAndStartApplication(String input) throws Exception {
- return createAndStartApplication(new StringReader(input));
- }
-
- protected Entity createAndStartApplication(Reader input) throws Exception {
- AssemblyTemplate at = platform.pdp().registerDeploymentPlan(input);
- Assembly assembly;
- try {
- assembly = at.getInstantiator().newInstance().instantiate(at, platform);
- } catch (Exception e) {
- getLogger().warn("Unable to instantiate " + at + " (rethrowing): " + e);
- throw e;
- }
- getLogger().info("Test - created " + assembly);
- final Entity app = mgmt().getEntityManager().getEntity(assembly.getId());
- getLogger().info("App - " + app);
-
- // wait for app to have started
- Set<Task<?>> tasks = mgmt().getExecutionManager().getTasksWithAllTags(ImmutableList.of(
- BrooklynTaskTags.EFFECTOR_TAG,
- BrooklynTaskTags.tagForContextEntity(app),
- BrooklynTaskTags.tagForEffectorCall(app, "start", ConfigBag.newInstance(ImmutableMap.of("locations", ImmutableMap.of())))));
- Iterables.getOnlyElement(tasks).get();
-
- return app;
- }
-
- protected Entity createStartWaitAndLogApplication(Reader input) throws Exception {
- Entity app = createAndStartApplication(input);
- waitForApplicationTasks(app);
-
- getLogger().info("App started:");
- Entities.dumpInfo(app);
-
- return app;
- }
-
- protected void addCatalogItems(Iterable<String> catalogYaml) {
- addCatalogItems(joinLines(catalogYaml));
- }
-
- protected void addCatalogItems(String... catalogYaml) {
- addCatalogItems(joinLines(catalogYaml));
- }
-
- protected Iterable<? extends CatalogItem<?,?>> addCatalogItems(String catalogYaml) {
- return mgmt().getCatalog().addItems(catalogYaml, forceUpdate);
- }
-
- protected void deleteCatalogEntity(String catalogItem) {
- mgmt().getCatalog().deleteCatalogItem(catalogItem, TEST_VERSION);
- }
-
- protected Logger getLogger() {
- return LOG;
- }
-
- private String joinLines(Iterable<String> catalogYaml) {
- return Joiner.on("\n").join(catalogYaml);
- }
-
- private String joinLines(String[] catalogYaml) {
- return Joiner.on("\n").join(catalogYaml);
- }
-
- protected String ver(String id) {
- return CatalogUtils.getVersionedId(id, TEST_VERSION);
- }
-
- public void forceCatalogUpdate() {
- forceUpdate = true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java
deleted file mode 100644
index 4478f2b..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AbstractYamlTest.java
+++ /dev/null
@@ -1,176 +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.brooklyn;
-
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.brooklyn.api.catalog.BrooklynCatalog;
-import org.apache.brooklyn.api.entity.Application;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.api.entity.EntitySpec;
-import org.apache.brooklyn.api.mgmt.ManagementContext;
-import org.apache.brooklyn.api.mgmt.Task;
-import org.apache.brooklyn.camp.brooklyn.spi.creation.CampTypePlanTransformer;
-import org.apache.brooklyn.core.catalog.internal.CatalogUtils;
-import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.entity.trait.Startable;
-import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
-import org.apache.brooklyn.core.mgmt.EntityManagementUtils;
-import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
-import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
-import org.apache.brooklyn.core.typereg.RegisteredTypeLoadingContexts;
-import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.ResourceUtils;
-import org.apache.brooklyn.util.stream.Streams;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-
-import com.google.common.base.Joiner;
-
-public abstract class AbstractYamlTest {
-
- private static final Logger LOG = LoggerFactory.getLogger(AbstractYamlTest.class);
- protected static final String TEST_VERSION = "0.1.2";
-
- private ManagementContext brooklynMgmt;
- protected BrooklynCatalog catalog;
- protected BrooklynCampPlatform platform;
- protected BrooklynCampPlatformLauncherNoServer launcher;
- private boolean forceUpdate;
-
- public AbstractYamlTest() {
- super();
- }
-
- protected ManagementContext mgmt() { return brooklynMgmt; }
-
- @BeforeMethod(alwaysRun = true)
- public void setUp() {
- forceUpdate = false;
- launcher = new BrooklynCampPlatformLauncherNoServer() {
- @Override
- protected LocalManagementContext newMgmtContext() {
- return newTestManagementContext();
- }
- };
- launcher.launch();
- brooklynMgmt = launcher.getBrooklynMgmt();
- catalog = brooklynMgmt.getCatalog();
- platform = launcher.getCampPlatform();
- }
-
- protected LocalManagementContext newTestManagementContext() {
- // TODO they don't all need osgi, just a few do, so could speed it up by specifying when they do
- return LocalManagementContextForTests.newInstanceWithOsgi();
- }
-
- @AfterMethod(alwaysRun = true)
- public void tearDown() {
- if (brooklynMgmt != null) Entities.destroyAll(brooklynMgmt);
- if (launcher != null) launcher.stopServers();
- }
-
- protected void waitForApplicationTasks(Entity app) {
- Set<Task<?>> tasks = BrooklynTaskTags.getTasksInEntityContext(brooklynMgmt.getExecutionManager(), app);
- getLogger().info("Waiting on " + tasks.size() + " task(s)");
- for (Task<?> t : tasks) {
- t.blockUntilEnded();
- }
- }
-
- protected Reader loadYaml(String yamlFileName, String ...extraLines) throws Exception {
- String input = new ResourceUtils(this).getResourceAsString(yamlFileName).trim();
- StringBuilder builder = new StringBuilder(input);
- for (String l: extraLines)
- builder.append("\n").append(l);
- return new StringReader(builder.toString());
- }
-
- protected Entity createAndStartApplication(String... multiLineYaml) throws Exception {
- return createAndStartApplication(joinLines(multiLineYaml));
- }
-
- protected Entity createAndStartApplication(Reader input) throws Exception {
- return createAndStartApplication(Streams.readFully(input));
- }
-
- protected Entity createAndStartApplication(String input) throws Exception {
- return createAndStartApplication(input, MutableMap.<String,String>of());
- }
- protected Entity createAndStartApplication(String input, Map<String,String> startParameters) throws Exception {
- EntitySpec<?> spec =
- mgmt().getTypeRegistry().createSpecFromPlan(CampTypePlanTransformer.FORMAT, input, RegisteredTypeLoadingContexts.spec(Application.class), EntitySpec.class);
- final Entity app = brooklynMgmt.getEntityManager().createEntity(spec);
- // start the app (happens automatically if we use camp to instantiate, but not if we use crate spec approach)
- app.invoke(Startable.START, startParameters).get();
- return app;
- }
-
- protected Entity createStartWaitAndLogApplication(Reader input) throws Exception {
- Entity app = createAndStartApplication(input);
- waitForApplicationTasks(app);
- getLogger().info("App started: "+app);
- return app;
- }
-
- protected EntitySpec<?> createAppEntitySpec(String... yaml) {
- return EntityManagementUtils.createEntitySpecForApplication(mgmt(), joinLines(yaml));
- }
-
- protected void addCatalogItems(Iterable<String> catalogYaml) {
- addCatalogItems(joinLines(catalogYaml));
- }
-
- protected void addCatalogItems(String... catalogYaml) {
- addCatalogItems(joinLines(catalogYaml));
- }
-
- protected void addCatalogItems(String catalogYaml) {
- mgmt().getCatalog().addItems(catalogYaml, forceUpdate);
- }
-
- protected void deleteCatalogEntity(String catalogItem) {
- mgmt().getCatalog().deleteCatalogItem(catalogItem, TEST_VERSION);
- }
-
- protected Logger getLogger() {
- return LOG;
- }
-
- protected String joinLines(Iterable<String> catalogYaml) {
- return Joiner.on("\n").join(catalogYaml);
- }
-
- protected String joinLines(String... catalogYaml) {
- return Joiner.on("\n").join(catalogYaml);
- }
-
- protected String ver(String id) {
- return CatalogUtils.getVersionedId(id, TEST_VERSION);
- }
-
- public void forceCatalogUpdate() {
- forceUpdate = true;
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AppYamlTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AppYamlTest.java b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AppYamlTest.java
deleted file mode 100644
index c462889..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/AppYamlTest.java
+++ /dev/null
@@ -1,121 +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.brooklyn;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
-import java.io.StringReader;
-
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.core.mgmt.EntityManagementUtils;
-import org.apache.brooklyn.core.test.entity.TestApplication;
-import org.apache.brooklyn.core.test.entity.TestEntity;
-import org.apache.brooklyn.entity.stock.BasicApplication;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
-
-import com.google.api.client.repackaged.com.google.common.base.Joiner;
-import com.google.common.collect.Iterables;
-
-@Test
-public class AppYamlTest extends AbstractYamlTest {
- private static final Logger log = LoggerFactory.getLogger(AppYamlTest.class);
-
- @Test
- public void testAutoWrapsEntityInApp() throws Exception {
- String yaml = Joiner.on("\n").join(
- "services:",
- "- serviceType: org.apache.brooklyn.core.test.entity.TestEntity");
-
- BasicApplication app = (BasicApplication) createStartWaitAndLogApplication(new StringReader(yaml));
- @SuppressWarnings("unused")
- TestEntity entity = (TestEntity) Iterables.getOnlyElement(app.getChildren());
- }
-
- @Test
- public void testDoesNotAutoWrapApp() throws Exception {
- String yaml = Joiner.on("\n").join(
- "services:",
- "- serviceType: org.apache.brooklyn.core.test.entity.TestApplication");
-
- TestApplication app = (TestApplication) createStartWaitAndLogApplication(new StringReader(yaml));
- assertTrue(app.getChildren().isEmpty());
- }
-
- @Test
- public void testWrapsAppIfNameAtTopLevelAndOnApp() throws Exception {
- String yaml = Joiner.on("\n").join(
- "name: myTopLevelName",
- "services:",
- "- serviceType: org.apache.brooklyn.core.test.entity.TestApplication",
- " name: myEntityName");
-
- Entity app = createStartWaitAndLogApplication(new StringReader(yaml));
- assertNull(app.getConfig(EntityManagementUtils.WRAPPER_APP_MARKER));
- assertEquals(app.getDisplayName(), "myTopLevelName");
- assertEquals(app.getChildren().size(), 0);
- }
-
- @Test
- public void testDoesNotWrapAppIfNoConflictingNameOnApp() throws Exception {
- String yaml = Joiner.on("\n").join(
- "name: myTopLevelName",
- "services:",
- "- serviceType: org.apache.brooklyn.core.test.entity.TestApplication");
-
- TestApplication app = (TestApplication) createStartWaitAndLogApplication(new StringReader(yaml));
- assertTrue(app.getChildren().isEmpty());
- assertEquals(app.getDisplayName(), "myTopLevelName");
- }
-
- @Test
- public void testDoesNotWrapAppWithDefaultDisplayName() throws Exception {
- String yaml = Joiner.on("\n").join(
- "name: myTopLevelName",
- "services:",
- "- serviceType: org.apache.brooklyn.core.test.entity.TestApplication",
- " brooklyn.config:",
- " defaultDisplayName: myDefaultEntityName");
-
- TestApplication app = (TestApplication) createStartWaitAndLogApplication(new StringReader(yaml));
- assertTrue(app.getChildren().isEmpty());
- assertEquals(app.getDisplayName(), "myTopLevelName");
- }
-
- @Test
- public void testUsesDefaultDisplayNameIfNoOther() throws Exception {
- String yaml = Joiner.on("\n").join(
- "services:",
- "- serviceType: org.apache.brooklyn.core.test.entity.TestApplication",
- " brooklyn.config:",
- " defaultDisplayName: myDefaultEntityName");
-
- TestApplication app = (TestApplication) createStartWaitAndLogApplication(new StringReader(yaml));
- assertTrue(app.getChildren().isEmpty());
- assertEquals(app.getDisplayName(), "myDefaultEntityName");
- }
-
- @Override
- protected Logger getLogger() {
- return log;
- }
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d03f254b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java
----------------------------------------------------------------------
diff --git a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java b/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java
deleted file mode 100644
index 374df13..0000000
--- a/brooklyn-server/camp/camp-brooklyn/src/test/java/org/apache/brooklyn/camp/brooklyn/ApplicationsYamlTest.java
+++ /dev/null
@@ -1,253 +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.brooklyn;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNull;
-import static org.testng.Assert.assertTrue;
-
-import org.apache.brooklyn.api.entity.Application;
-import org.apache.brooklyn.api.entity.Entity;
-import org.apache.brooklyn.camp.brooklyn.TestSensorAndEffectorInitializer.TestConfigurableInitializer;
-import org.apache.brooklyn.core.mgmt.EntityManagementUtils;
-import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
-import org.apache.brooklyn.core.test.entity.LocalManagementContextForTests;
-import org.apache.brooklyn.core.test.policy.TestEnricher;
-import org.apache.brooklyn.core.test.policy.TestPolicy;
-import org.apache.brooklyn.entity.stock.BasicApplication;
-import org.apache.brooklyn.entity.stock.BasicEntity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.Iterables;
-
-@Test
-public class ApplicationsYamlTest extends AbstractYamlTest {
- private static final Logger log = LoggerFactory.getLogger(ApplicationsYamlTest.class);
-
- @Override
- protected LocalManagementContext newTestManagementContext() {
- // Don't need osgi
- return LocalManagementContextForTests.newInstance();
- }
-
- @Test
- public void testWrapsEntity() throws Exception {
- Entity app = createAndStartApplication(
- "services:",
- "- type: " + BasicEntity.class.getName());
- assertWrapped(app, BasicEntity.class);
- }
-
- @Test
- public void testWrapsMultipleApps() throws Exception {
- Entity app = createAndStartApplication(
- "services:",
- "- type: " + BasicApplication.class.getName(),
- "- type: " + BasicApplication.class.getName());
- assertTrue(app.getConfig(EntityManagementUtils.WRAPPER_APP_MARKER));
- assertTrue(app instanceof BasicApplication);
- assertEquals(app.getChildren().size(), 2);
- }
-
- @Test
- public void testWrapsWhenEnrichers() throws Exception {
- Entity app = createAndStartApplication(
- "brooklyn.enrichers:",
- "- type: " + TestEnricher.class.getName(),
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertWrapped(app, BasicApplication.class);
- }
-
- @Test
- public void testWrapsWhenPolicy() throws Exception {
- Entity app = createAndStartApplication(
- "brooklyn.policies:",
- "- type: " + TestPolicy.class.getName(),
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertWrapped(app, BasicApplication.class);
- }
-
- @Test
- public void testWrapsWhenInitializer() throws Exception {
- Entity app = createAndStartApplication(
- "brooklyn.initializers:",
- "- type: " + TestConfigurableInitializer.class.getName(),
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertWrapped(app, BasicApplication.class);
- }
-
- @Test
- public void testWrapsAppIfForced() throws Exception {
- Entity app = createAndStartApplication(
- "wrappedApp: true",
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertWrapped(app, BasicApplication.class);
- }
-
- @Test
- public void testDoesNotWrapApp() throws Exception {
- Entity app = createAndStartApplication(
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertDoesNotWrap(app, BasicApplication.class, null);
- }
-
- @Test
- public void testDoesNotWrapAppIfUnforced() throws Exception {
- Entity app = createAndStartApplication(
- "wrappedApp: false",
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertDoesNotWrap(app, BasicApplication.class, null);
- }
-
- @Test
- public void testDoesNotWrapEntityIfDifferentTopLevelName() throws Exception {
- Entity app = createAndStartApplication(
- "name: topLevel",
- "services:",
- "- type: " + BasicApplication.class.getName(),
- " name: bottomLevel");
- assertDoesNotWrap(app, BasicApplication.class, "topLevel");
- }
-
- @Test
- public void testDoesNotWrapsEntityIfNoNameOnService() throws Exception {
- Entity app = createAndStartApplication(
- "name: topLevel",
- "services:",
- "- type: " + BasicApplication.class.getName());
- assertDoesNotWrap(app, BasicApplication.class, "topLevel");
- }
-
- @Test
- public void testDoesNotWrapCatalogItemWithDisplayName() throws Exception {
- addCatalogItems(
- "brooklyn.catalog:",
- " id: simple",
- " version: " + TEST_VERSION,
- " displayName: catalogLevel",
- " item:",
- " services:",
- " - type: " + BasicApplication.class.getName());
- Entity app = createAndStartApplication(
- "name: topLevel",
- "services:",
- "- type: simple:" + TEST_VERSION);
- assertDoesNotWrap(app, BasicApplication.class, "topLevel");
- }
-
- @Test
- public void testDoesNotWrapCatalogItemWithServiceName() throws Exception {
- addCatalogItems(
- "brooklyn.catalog:",
- " id: simple",
- " version: " + TEST_VERSION,
- " displayName: catalogLevel",
- " item:",
- " services:",
- " - type: " + BasicApplication.class.getName(),
- " defaultDisplayName: defaultServiceName",
- " displayName: explicitServiceName");
- Entity app = createAndStartApplication(
- "name: topLevel",
- "services:",
- "- type: simple:" + TEST_VERSION);
- assertDoesNotWrap(app, BasicApplication.class, "topLevel");
- }
-
- @Test
- public void testDoesNotWrapCatalogItemAndOverridesName() throws Exception {
- addCatalogItems(
- "brooklyn.catalog:",
- " id: simple",
- " version: " + TEST_VERSION,
- " displayName: catalogLevel",
- " item:",
- " services:",
- " - type: " + BasicApplication.class.getName());
- Entity app = createAndStartApplication(
- "services:",
- "- type: simple:" + TEST_VERSION,
- " name: serviceLevel");
- assertDoesNotWrap(app, BasicApplication.class, "serviceLevel");
- }
-
- @Test
- public void testDoesNotWrapCatalogItemAndUsesCatalogName() throws Exception {
- addCatalogItems(
- "brooklyn.catalog:",
- " id: simple",
- " version: " + TEST_VERSION,
- " displayName: catalogLevel",
- " item:",
- " services:",
- " - type: " + BasicApplication.class.getName());
- Entity app = createAndStartApplication(
- "services:",
- "- type: simple:" + TEST_VERSION);
- assertDoesNotWrap(app, BasicApplication.class, "catalogLevel");
- }
-
- @Test
- public void testDoesNotWrapCatalogItemAndUsesCatalogServiceName() throws Exception {
- addCatalogItems(
- "brooklyn.catalog:",
- " id: simple",
- " version: " + TEST_VERSION,
- " displayName: catalogLevel",
- " item:",
- " services:",
- " - type: " + BasicApplication.class.getName(),
- " name: catalogServiceLevel");
- Entity app = createAndStartApplication(
- "services:",
- "- type: simple:" + TEST_VERSION);
- assertDoesNotWrap(app, BasicApplication.class, "catalogServiceLevel");
- }
-
- @Override
- protected Logger getLogger() {
- return log;
- }
-
- private void assertWrapped(Entity app, Class<? extends Entity> wrappedEntityType) {
- assertTrue(app.getConfig(EntityManagementUtils.WRAPPER_APP_MARKER));
- assertTrue(app instanceof BasicApplication);
- Entity child = Iterables.getOnlyElement(app.getChildren());
- assertTrue(wrappedEntityType.isInstance(child));
- assertTrue(child.getChildren().isEmpty());
- }
-
- private void assertDoesNotWrap(Entity app, Class<? extends Application> entityType, String displayName) {
- assertNull(app.getConfig(EntityManagementUtils.WRAPPER_APP_MARKER));
- assertTrue(entityType.isInstance(app));
- if (displayName != null) {
- assertEquals(app.getDisplayName(), displayName);
- }
- assertEquals(app.getChildren().size(), 0);
- }
-
-}