Improve RT CMS configuration
[gpl/argeo-slc.git] / org.argeo.slc.api / src / org / argeo / slc / DefaultNameVersion.java
index fe230e66e8247e7fd8cc4595bcc61d48a1fc36f7..61cc66e2a141eaf505031a4a843212335821ce4e 100644 (file)
@@ -1,18 +1,3 @@
-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed 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.argeo.slc;
 
 
@@ -25,6 +10,18 @@ public class DefaultNameVersion implements NameVersion,
        public DefaultNameVersion() {
        }
 
+       /** Interprets string in OSGi-like format my.module.name;version=0.0.0 */
+       public DefaultNameVersion(String nameVersion) {
+               int index = nameVersion.indexOf(";version=");
+               if (index < 0) {
+                       setName(nameVersion);
+                       setVersion(null);
+               } else {
+                       setName(nameVersion.substring(0, index));
+                       setVersion(nameVersion.substring(index + ";version=".length()));
+               }
+       }
+
        public DefaultNameVersion(String name, String version) {
                this.name = name;
                this.version = version;
@@ -63,7 +60,7 @@ public class DefaultNameVersion implements NameVersion,
 
        @Override
        public int hashCode() {
-               return name.hashCode() + version.hashCode();
+               return name.hashCode();
        }
 
        @Override