You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2014/11/20 18:01:04 UTC
[1/4] incubator-brooklyn git commit: Fix OSGi no_version, so it’s a valid OSGi version number
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master 068de703a -> 0f50c58b6
Fix OSGi no_version, so it’s a valid OSGi version number
- 0.0.0_SNAPSHOT is not a valid OSGi version.
It needs to be 0.0.0.SNAPSHOT.
This is important for when one passes in
“my.symbolic.name:0.0.0.SNAPSHOT”, rather than expecting them
to pass an illegal OSGi version.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/e84b5853
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/e84b5853
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/e84b5853
Branch: refs/heads/master
Commit: e84b5853f1ffc3e85ac9dfc8952d351b4abbc524
Parents: 6933be6
Author: Aled Sage <al...@gmail.com>
Authored: Tue Nov 18 23:21:14 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 20 15:26:02 2014 +0000
----------------------------------------------------------------------
.../catalog/internal/BasicBrooklynCatalog.java | 2 +-
.../catalog/internal/CatalogItemComparatorTest.java | 13 +++++++++++--
.../camp/brooklyn/catalog/CatalogYamlEntityTest.java | 4 ++--
usage/jsgui/src/main/webapp/assets/js/model/entity.js | 2 +-
4 files changed, 15 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e84b5853/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java b/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
index 3a46f8b..0e26b5f 100644
--- a/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
+++ b/core/src/main/java/brooklyn/catalog/internal/BasicBrooklynCatalog.java
@@ -73,7 +73,7 @@ import com.google.common.collect.Iterables;
public class BasicBrooklynCatalog implements BrooklynCatalog {
private static final String POLICIES_KEY = "brooklyn.policies";
- public static final String NO_VERSION = "0.0.0_SNAPSHOT";
+ public static final String NO_VERSION = "0.0.0.SNAPSHOT";
private static final Logger log = LoggerFactory.getLogger(BasicBrooklynCatalog.class);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e84b5853/core/src/test/java/brooklyn/catalog/internal/CatalogItemComparatorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/catalog/internal/CatalogItemComparatorTest.java b/core/src/test/java/brooklyn/catalog/internal/CatalogItemComparatorTest.java
index fc4d261..dffd32b 100644
--- a/core/src/test/java/brooklyn/catalog/internal/CatalogItemComparatorTest.java
+++ b/core/src/test/java/brooklyn/catalog/internal/CatalogItemComparatorTest.java
@@ -34,15 +34,24 @@ public class CatalogItemComparatorTest {
compare("0.0.1", "0.0.2", 1);
compare("0.0.2", "0.0.1", -1);
compare("0.0.1-qual", "0.0.2", 1);
+ compare("0.0.1.qual", "0.0.2", 1);
compare("0.0.1-qual", "0.0.1_qual", 0);
+ compare("0.0.1.qual", "0.0.1.qual", 0);
compare("0.0.1", "0.0.2-SNAPSHOT", -1);
+ compare("0.0.1", "0.0.2.SNAPSHOT", -1);
compare("0.0.0_SNAPSHOT", "0.0.1-SNAPSHOT-20141111114709760", 1);
+ compare("0.0.0.SNAPSHOT", "0.0.1.SNAPSHOT-20141111114709760", 1);
compare("2.0", "2.0.1-BUILD", 1);
+ compare("2.0", "2.0.1.BUILD", 1);
compare("2.0.1", "2.0-BUILD", -1);
+ compare("2.0.1", "2.0.0.BUILD", -1);
compare("2.0", "2.0-BUILD", -1);
+ // Note not true for .qualifier: compare("2.0", "2.0.0.BUILD", -1);
compare("2.1", "2.0-BUILD", -1);
+ compare("2.1", "2.0.0.BUILD", -1);
compare("1", "1.3", 1);
compare("1-beta", "1-rc2", 1);
+ // Note not true for .qualifier: compare("1.0.0.beta", "1.0.0.rc2", 1);
compare("1-beta1", "1-beta10", 1);
compare(STABLE, "10.5", -1);
@@ -51,8 +60,8 @@ public class CatalogItemComparatorTest {
compare(STABLE, "10.6", 1);
compare(STABLE, "10.5.8.1", 1);
- compare(RC2, "10.5.8-rc3", 1) ;
- compare(RC2, "10.5.8-rc1", -1);
+ compare("10.5.8-rc2", "10.5.8-rc3", 1) ;
+ compare("10.5.8-rc2", "10.5.8-rc1", -1);
compare(STABLE, RC2, -1);
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e84b5853/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
----------------------------------------------------------------------
diff --git a/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java b/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
index a980fc4..fe09586 100644
--- a/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
+++ b/usage/camp/src/test/java/io/brooklyn/camp/brooklyn/catalog/CatalogYamlEntityTest.java
@@ -63,8 +63,8 @@ public class CatalogYamlEntityTest extends AbstractYamlTest {
"services:",
"- type: " + SIMPLE_ENTITY_TYPE);
CatalogItem<?, ?> catalogItem = mgmt().getCatalog().getCatalogItem(id, BrooklynCatalog.DEFAULT_VERSION);
- assertEquals(catalogItem.getVersion(), "0.0.0_SNAPSHOT");
- mgmt().getCatalog().deleteCatalogItem(id, "0.0.0_SNAPSHOT");
+ assertEquals(catalogItem.getVersion(), "0.0.0.SNAPSHOT");
+ mgmt().getCatalog().deleteCatalogItem(id, "0.0.0.SNAPSHOT");
}
@Test
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e84b5853/usage/jsgui/src/main/webapp/assets/js/model/entity.js
----------------------------------------------------------------------
diff --git a/usage/jsgui/src/main/webapp/assets/js/model/entity.js b/usage/jsgui/src/main/webapp/assets/js/model/entity.js
index 18e1773..fc83743 100644
--- a/usage/jsgui/src/main/webapp/assets/js/model/entity.js
+++ b/usage/jsgui/src/main/webapp/assets/js/model/entity.js
@@ -31,7 +31,7 @@ define(["underscore", "backbone"], function (_, Backbone) {
getVersionedAttr: function(name) {
var attr = this.get(name);
var version = this.get('version');
- if (version && version != '0.0.0_SNAPSHOT') {
+ if (version && version != '0.0.0.SNAPSHOT') {
return attr + ':' + version;
} else {
return attr;
[2/4] incubator-brooklyn git commit: Fix + test
Osgis.parseOsgiIdentifier
Posted by al...@apache.org.
Fix + test Osgis.parseOsgiIdentifier
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/6933be6e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/6933be6e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/6933be6e
Branch: refs/heads/master
Commit: 6933be6ef9ef408fde948052e9799a74c0096a71
Parents: 068de70
Author: Aled Sage <al...@gmail.com>
Authored: Tue Nov 18 23:18:50 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 20 15:26:02 2014 +0000
----------------------------------------------------------------------
.../src/main/java/brooklyn/util/osgi/Osgis.java | 33 +++++++++++-----
.../test/java/brooklyn/util/osgi/OsgisTest.java | 41 ++++++++++++++++++++
2 files changed, 64 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6933be6e/core/src/main/java/brooklyn/util/osgi/Osgis.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/osgi/Osgis.java b/core/src/main/java/brooklyn/util/osgi/Osgis.java
index c6c9d9a..4fe25f9 100644
--- a/core/src/main/java/brooklyn/util/osgi/Osgis.java
+++ b/core/src/main/java/brooklyn/util/osgi/Osgis.java
@@ -74,6 +74,7 @@ import brooklyn.util.time.Time;
import com.google.common.annotations.Beta;
import com.google.common.base.Joiner;
+import com.google.common.base.Objects;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.base.Stopwatch;
@@ -93,8 +94,8 @@ public class Osgis {
private static final Set<String> SYSTEM_BUNDLES = MutableSet.of();
public static class VersionedName {
- private String symbolicName;
- private Version version;
+ private final String symbolicName;
+ private final Version version;
public VersionedName(Bundle b) {
this.symbolicName = b.getSymbolicName();
this.version = b.getVersion();
@@ -112,12 +113,22 @@ public class Osgis {
public boolean equals(String sn, Version v) {
return symbolicName.equals(sn) && (version == null && v == null || version != null && version.equals(v));
}
- protected String getSymbolicName() {
+ public String getSymbolicName() {
return symbolicName;
}
- protected Version getVersion() {
+ public Version getVersion() {
return version;
}
+ @Override
+ public int hashCode() {
+ return Objects.hashCode(symbolicName, version);
+ }
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof VersionedName)) return false;
+ VersionedName o = (VersionedName) other;
+ return Objects.equal(symbolicName, o.symbolicName) && Objects.equal(version, o.version);
+ }
}
public static class BundleFinder {
@@ -610,8 +621,8 @@ public class Osgis {
}
/** Takes a string which might be of the form "symbolic-name" or "symbolic-name:version" (or something else entirely)
- * and returns an array of 1 or 2 string items being the symbolic name or symbolic name and version if possible
- * (or returning {@link Maybe#absent()} if not, with a suitable error message). */
+ * and returns a VersionedName. The versionedName.getVersion() will be null if if there was no version in the input
+ * (or returning {@link Maybe#absent()} if not valid, with a suitable error message). */
public static Maybe<VersionedName> parseOsgiIdentifier(String symbolicNameOptionalWithVersion) {
if (Strings.isBlank(symbolicNameOptionalWithVersion))
return Maybe.absent("OSGi identifier is blank");
@@ -621,10 +632,12 @@ public class Osgis {
return Maybe.absent("OSGi identifier has too many parts; max one ':' symbol");
Version v = null;
- try {
- v = Version.parseVersion(parts[1]);
- } catch (IllegalArgumentException e) {
- return Maybe.absent("OSGi identifier has invalid version string");
+ if (parts.length == 2) {
+ try {
+ v = Version.parseVersion(parts[1]);
+ } catch (IllegalArgumentException e) {
+ return Maybe.absent("OSGi identifier has invalid version string ("+e.getMessage()+")");
+ }
}
return Maybe.of(new VersionedName(parts[0], v));
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/6933be6e/core/src/test/java/brooklyn/util/osgi/OsgisTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/brooklyn/util/osgi/OsgisTest.java b/core/src/test/java/brooklyn/util/osgi/OsgisTest.java
new file mode 100644
index 0000000..49f8017
--- /dev/null
+++ b/core/src/test/java/brooklyn/util/osgi/OsgisTest.java
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package brooklyn.util.osgi;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+
+import org.osgi.framework.Version;
+import org.testng.annotations.Test;
+
+import brooklyn.util.osgi.Osgis.VersionedName;
+
+public class OsgisTest {
+
+ @Test
+ public void testParseOsgiIdentifier() throws Exception {
+ assertEquals(Osgis.parseOsgiIdentifier("a.b").get(), new VersionedName("a.b", null));
+ assertEquals(Osgis.parseOsgiIdentifier("a.b:0.1.2").get(), new VersionedName("a.b", Version.parseVersion("0.1.2")));
+ assertEquals(Osgis.parseOsgiIdentifier("a.b:0.0.0.SNAPSHOT").get(), new VersionedName("a.b", Version.parseVersion("0.0.0.SNAPSHOT")));
+ assertFalse(Osgis.parseOsgiIdentifier("a.b:0.notanumber.2").isPresent()); // invalid version
+ assertFalse(Osgis.parseOsgiIdentifier("a.b:0.1.2:3.4.5").isPresent()); // too many colons
+ assertFalse(Osgis.parseOsgiIdentifier("a.b:0.0.0_SNAPSHOT").isPresent()); // invalid version
+ assertFalse(Osgis.parseOsgiIdentifier("").isPresent());
+ }
+}
[3/4] incubator-brooklyn git commit: Add test for
CatalogResource.getEntity(entityId)
Posted by al...@apache.org.
Add test for CatalogResource.getEntity(entityId)
- The id could be in the form symbolicName or symbolicName:version
If the latter, then parse it.
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/7888f828
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/7888f828
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/7888f828
Branch: refs/heads/master
Commit: 7888f828425646d588f7e2c7ae214ea955a32898
Parents: e84b585
Author: Aled Sage <al...@gmail.com>
Authored: Tue Nov 18 23:22:00 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 20 16:59:25 2014 +0000
----------------------------------------------------------------------
.../brooklyn/rest/resources/CatalogResourceTest.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/7888f828/usage/rest-server/src/test/java/brooklyn/rest/resources/CatalogResourceTest.java
----------------------------------------------------------------------
diff --git a/usage/rest-server/src/test/java/brooklyn/rest/resources/CatalogResourceTest.java b/usage/rest-server/src/test/java/brooklyn/rest/resources/CatalogResourceTest.java
index 5eae763..8e358e1 100644
--- a/usage/rest-server/src/test/java/brooklyn/rest/resources/CatalogResourceTest.java
+++ b/usage/rest-server/src/test/java/brooklyn/rest/resources/CatalogResourceTest.java
@@ -194,6 +194,19 @@ public class CatalogResourceTest extends BrooklynRestResourceTest {
}
@Test
+ @Deprecated
+ //If we move to using a yaml catalog item, the details will be of the wrapping app,
+ //not of the entity itself, so the test won't make sense any more.
+ public void testGetCatalogEntityPlusVersionDetails() {
+ CatalogEntitySummary details = client().resource(
+ URI.create("/v1/catalog/entities/brooklyn.entity.nosql.redis.RedisStore:0.0.0.SNAPSHOT"))
+ .get(CatalogEntitySummary.class);
+ assertTrue(details.toString().contains("redis.port"), "expected more config, only got: "+details);
+ String expectedIconUrl = "/v1/catalog/icon/" + details.getSymbolicName() + "/" + details.getVersion();
+ assertEquals(details.getIconUrl(), expectedIconUrl, "expected brooklyn URL for icon image ("+expectedIconUrl+"), but got: "+details.getIconUrl());
+ }
+
+ @Test
public void testGetCatalogEntityIconDetails() throws IOException {
String catalogItemId = "testGetCatalogEntityIconDetails";
addTestCatalogItem(catalogItemId);
[4/4] incubator-brooklyn git commit: This closes #346
Posted by al...@apache.org.
This closes #346
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/0f50c58b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/0f50c58b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/0f50c58b
Branch: refs/heads/master
Commit: 0f50c58b678e7a7a53768f03ef4824cddc1fdb86
Parents: 068de70 7888f82
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 20 17:00:50 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 20 17:00:50 2014 +0000
----------------------------------------------------------------------
.../catalog/internal/BasicBrooklynCatalog.java | 2 +-
.../src/main/java/brooklyn/util/osgi/Osgis.java | 33 +++++++++++-----
.../internal/CatalogItemComparatorTest.java | 13 ++++++-
.../test/java/brooklyn/util/osgi/OsgisTest.java | 41 ++++++++++++++++++++
.../brooklyn/catalog/CatalogYamlEntityTest.java | 4 +-
.../src/main/webapp/assets/js/model/entity.js | 2 +-
.../rest/resources/CatalogResourceTest.java | 13 +++++++
7 files changed, 92 insertions(+), 16 deletions(-)
----------------------------------------------------------------------