diff --git a/client/WEB-INF/web.xml b/client/WEB-INF/web.xml
index 7972024451e..50f2455e848 100644
--- a/client/WEB-INF/web.xml
+++ b/client/WEB-INF/web.xml
@@ -20,12 +20,6 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
-
- DB Connection Pooling
- jdbc/VmopsDB
- javax.sql.DataSource
- Container
-
cloudStartupServlet
diff --git a/client/cloudstack-ui.launch b/client/cloudstack-ui.launch
new file mode 100644
index 00000000000..153eaa1cba4
--- /dev/null
+++ b/client/cloudstack-ui.launch
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/client/pom.xml b/client/pom.xml
new file mode 100644
index 00000000000..c5371100c02
--- /dev/null
+++ b/client/pom.xml
@@ -0,0 +1,235 @@
+
+
+ 4.0.0
+ cloud-client-ui
+ Apache CloudStack Client UI
+ war
+
+ org.apache.cloudstack
+ cloudstack
+ 4.0.0-SNAPSHOT
+
+
+
+ org.apache.cloudstack
+ cloud-server
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-user-authenticator-ldap
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-user-authenticator-md5
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-user-authenticator-plaintext
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-network-nvp
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-network-ovs
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-network-elb
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-hypervisor-xen
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-hypervisor-ovm
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-storage-allocator-random
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-planner-user-dispersing
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-planner-user-concentrated-pod
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-host-allocator-random
+ ${project.version}
+
+
+ mysql
+ mysql-connector-java
+ 5.1.21
+ runtime
+
+
+
+ org.apache.cloudstack
+ cloud-plugin-hypervisor-vmware
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-network-srx
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-hypervisor-kvm
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-netapp
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-network-f5
+ ${project.version}
+
+
+ org.apache.cloudstack
+ cloud-plugin-network-netscaler
+ ${project.version}
+
+
+
+ install
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 2.2
+
+ ./WEB-INF/web.xml
+ ./target/generated-webapp
+
+
+
+ org.mortbay.jetty
+ maven-jetty-plugin
+ 6.1.26
+
+
+
+ 8080
+ 60000
+
+
+ /client
+ ./WEB-INF/web.xml
+ ./target/generated-webapp
+
+
+
+ maven-antrun-plugin
+ 1.7
+
+
+ generate-resources
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.m2e
+ lifecycle-mapping
+ 1.0.0
+
+
+
+
+
+
+ org.apache.maven.plugins
+
+
+ maven-antrun-plugin
+
+ [1.7,)
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/server/src/com/cloud/maint/Version.java b/server/src/com/cloud/maint/Version.java
index 184b9a6c952..73175474edc 100644
--- a/server/src/com/cloud/maint/Version.java
+++ b/server/src/com/cloud/maint/Version.java
@@ -47,7 +47,15 @@ public class Version {
}
public static String trimToPatch(String version) {
+ int index = version.indexOf("-");
+
+ if ( index > 0 )
+ version = version.substring(0, index);
+
String[] tokens = version.split("[.]");
+
+ if ( tokens.length < 3 )
+ return "0";
return tokens[0] + "." + tokens[1]+ "." + tokens[2];
}
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index 38734997b47..9cd2b487623 100755
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -3165,7 +3165,7 @@ public class ManagementServerImpl implements ManagementServer {
public String getVersion() {
final Class> c = ManagementServer.class;
String fullVersion = c.getPackage().getImplementationVersion();
- if (fullVersion.length() > 0) {
+ if (fullVersion != null && fullVersion.length() > 0) {
return fullVersion;
}
diff --git a/server/src/com/cloud/upgrade/DatabaseIntegrityChecker.java b/server/src/com/cloud/upgrade/DatabaseIntegrityChecker.java
index 2d0ce5c0977..24f6aeb07e3 100755
--- a/server/src/com/cloud/upgrade/DatabaseIntegrityChecker.java
+++ b/server/src/com/cloud/upgrade/DatabaseIntegrityChecker.java
@@ -167,6 +167,10 @@ public class DatabaseIntegrityChecker implements SystemIntegrityChecker {
txn.start();
try {
String dbVersion = _dao.getCurrentVersion();
+
+ if ( dbVersion == null )
+ return false;
+
if (Version.compare(Version.trimToPatch(dbVersion), Version.trimToPatch("2.2.8")) != 0) {
return true;
}
diff --git a/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java b/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
index 4759746913b..047bb3eec21 100755
--- a/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
+++ b/server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
@@ -334,6 +334,9 @@ public class DatabaseUpgradeChecker implements SystemIntegrityChecker {
currentVersion = this.getClass().getSuperclass().getPackage().getImplementationVersion();
}
+ if ( currentVersion == null )
+ return;
+
s_logger.info("DB version = " + dbVersion + " Code Version = " + currentVersion);
if (Version.compare(Version.trimToPatch(dbVersion), Version.trimToPatch(currentVersion)) > 0) {
diff --git a/utils/src/com/cloud/utils/script/Script.java b/utils/src/com/cloud/utils/script/Script.java
index a9b48b452d0..0662e612607 100755
--- a/utils/src/com/cloud/utils/script/Script.java
+++ b/utils/src/com/cloud/utils/script/Script.java
@@ -343,6 +343,12 @@ public class Script implements Callable {
return file.getAbsolutePath();
}
+ url = Script.class.getClassLoader().getResource(path);
+ if (url != null) {
+ file = new File(url.getFile());
+ return file.getAbsolutePath();
+ }
+
if (path.endsWith(File.separator)) {
path = path.substring(0, path.lastIndexOf(File.separator));
}