You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by sj...@apache.org on 2015/10/15 16:02:31 UTC
[10/16] incubator-brooklyn git commit: Get
BrooklynServiceTypeResolver back in, used by Clocker
Get BrooklynServiceTypeResolver back in, used by Clocker
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/1c72a209
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/1c72a209
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/1c72a209
Branch: refs/heads/master
Commit: 1c72a209cd0067731f77e8ac72bedad324c2af7d
Parents: 09e9f1a
Author: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Authored: Wed Oct 14 17:58:33 2015 +0300
Committer: Svetoslav Neykov <sv...@cloudsoftcorp.com>
Committed: Wed Oct 14 17:58:33 2015 +0300
----------------------------------------------------------------------
.../service/BrooklynServiceTypeResolver.java | 78 ++++++++++++++++++++
1 file changed, 78 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1c72a209/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java
new file mode 100644
index 0000000..edb1924
--- /dev/null
+++ b/usage/camp/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/creation/service/BrooklynServiceTypeResolver.java
@@ -0,0 +1,78 @@
+/*
+ * 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.creation.service;
+
+import javax.annotation.Nullable;
+
+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.camp.brooklyn.spi.creation.BrooklynComponentTemplateResolver;
+import org.apache.brooklyn.camp.spi.PlatformComponentTemplate;
+import org.apache.brooklyn.core.catalog.internal.CatalogUtils;
+import org.apache.brooklyn.core.mgmt.persist.DeserializingClassRenamesProvider;
+import org.apache.brooklyn.core.resolve.AbstractServiceSpecResolver;
+import org.apache.brooklyn.util.text.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This converts {@link PlatformComponentTemplate} instances whose type is prefixed {@code brooklyn:}
+ * to Brooklyn {@link EntitySpec} instances.
+ *
+ * @deprecated since 0.9.0, use {@link AbstractServiceSpecResolver} instead
+ */
+@Deprecated
+public class BrooklynServiceTypeResolver implements ServiceTypeResolver {
+
+ @SuppressWarnings("unused")
+ private static final Logger LOG = LoggerFactory.getLogger(ServiceTypeResolver.class);
+
+ public BrooklynServiceTypeResolver() {
+ }
+
+ @Override
+ public String getTypePrefix() { return DEFAULT_TYPE_PREFIX; }
+
+ @Override
+ public String getBrooklynType(String serviceType) {
+ return Strings.removeFromStart(serviceType, getTypePrefix() + ":").trim();
+ }
+
+ @Nullable
+ @Override
+ public CatalogItem<Entity,EntitySpec<?>> getCatalogItem(BrooklynComponentTemplateResolver resolver, String serviceType) {
+ String type = getBrooklynType(serviceType);
+ if (type != null) {
+ return getCatalogItemImpl(resolver.getManagementContext(), type);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public <T extends Entity> void decorateSpec(BrooklynComponentTemplateResolver resolver, EntitySpec<T> spec) {
+ }
+
+ protected CatalogItem<Entity,EntitySpec<?>> getCatalogItemImpl(ManagementContext mgmt, String brooklynType) {
+ brooklynType = DeserializingClassRenamesProvider.findMappedName(brooklynType);
+ return CatalogUtils.getCatalogItemOptionalVersion(mgmt, Entity.class, brooklynType);
+ }
+}