From 1371dd17f28f3342d02383df8f80e152c0cdd995 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Fri, 14 Nov 2014 18:21:35 +0000
Subject: [PATCH] #2021 fix - Added MySQL support and bugfixing on angular and url's

---
 securis/src/main/resources/META-INF/persistence.xml                         |   16 ++++----
 securis/src/main/webapp/js/catalogs.js                                      |    2 
 securis/src/main/webapp/header.html                                         |    4 +-
 securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java       |    2 +
 securis/etc/context/securis.xml                                             |    6 ++
 securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java       |    2 +
 securis/src/main/java/net/curisit/securis/db/PackMetadata.java              |    2 +
 securis/src/main/resources/db/schema.sql                                    |   45 +++++++++++-----------
 securis/src/main/java/net/curisit/securis/services/ApplicationResource.java |   12 +++--
 9 files changed, 51 insertions(+), 40 deletions(-)

diff --git a/securis/etc/context/securis.xml b/securis/etc/context/securis.xml
index ffa700c..6d976f4 100644
--- a/securis/etc/context/securis.xml
+++ b/securis/etc/context/securis.xml
@@ -40,9 +40,13 @@
 	        <property name="hibernate.c3p0.acquireRetryAttempts" value="1" />
 	        <property name="hibernate.c3p0.acquireRetryDelay" value="250" />
  -->
-  <Resource name="jdbc/SeCurisDS" auth="Container" type="javax.sql.DataSource"
+  <Resource name="jdbc/SeCurisDSOld" auth="Container" type="javax.sql.DataSource"
                maxActive="100" maxIdle="3" maxWait="5000"
                username="curis" password="cur151T 53curi5" driverClassName="org.h2.Driver"
                url="jdbc:h2:~/.SeCuris/db/securis"/>
+  <Resource name="jdbc/SeCurisDS" auth="Container" type="javax.sql.DataSource"
+               maxActive="100" maxIdle="3" maxWait="5000"
+               username="curis" password="securis" driverClassName="com.mysql.jdbc.Driver"
+               url="jdbc:mysql://localhost:3306/securis?autoReconnect=true"/>
 
 </Context>
\ No newline at end of file
diff --git a/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
index 634cf10..f21baae 100644
--- a/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
@@ -40,6 +40,7 @@
     private Application application;
 
     @Id
+    @Column(name = "\"key\"")
     private String key;
 
     private String value;
@@ -47,6 +48,7 @@
     private boolean mandatory;
 
     @Column(name = "creation_timestamp")
+    @JsonProperty("creation_timestamp")
     private Date creationTimestamp;
 
     public String getKey() {
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java b/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
index c3b5525..d9ba048 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
@@ -2,6 +2,7 @@
 
 import java.io.Serializable;
 
+import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
@@ -38,6 +39,7 @@
     private LicenseType licenseType;
 
     @Id
+    @Column(name = "\"key\"")
     private String key;
 
     private String value;
diff --git a/securis/src/main/java/net/curisit/securis/db/PackMetadata.java b/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
index bb583b5..d65d7a5 100644
--- a/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
@@ -2,6 +2,7 @@
 
 import java.io.Serializable;
 
+import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
@@ -38,6 +39,7 @@
     private Pack pack;
 
     @Id
+    @Column(name = "\"key\"")
     private String key;
 
     private String value;
diff --git a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
index 28f399e..64b4f94 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -127,6 +127,7 @@
                 em.persist(md);
             }
         }
+        LOG.info("Creating application with date: " + app.getCreationTimestamp());
 
         return Response.ok(app).build();
     }
@@ -153,13 +154,14 @@
         currentapp.setName(app.getName());
         currentapp.setDescription(app.getDescription());
         em.persist(currentapp);
-        
-        Set<ApplicationMetadata> newMD = app.getApplicationMetadata(); 
+
+        Set<ApplicationMetadata> newMD = app.getApplicationMetadata();
         for (ApplicationMetadata currentMd : currentapp.getApplicationMetadata()) {
-            if (newMD == null || !newMD.contains(currentMd));
-                em.remove(currentMd);
+            if (newMD == null || !newMD.contains(currentMd))
+                ;
+            em.remove(currentMd);
         }
-        
+
         if (newMD != null) {
             for (ApplicationMetadata md : newMD) {
                 md.setApplication(app);
diff --git a/securis/src/main/resources/META-INF/persistence.xml b/securis/src/main/resources/META-INF/persistence.xml
index ceac0f5..d7daea1 100644
--- a/securis/src/main/resources/META-INF/persistence.xml
+++ b/securis/src/main/resources/META-INF/persistence.xml
@@ -5,17 +5,17 @@
 	<persistence-unit name="localdb" transaction-type="RESOURCE_LOCAL">
 		<description>SeCuris LocalDB</description>
 		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
-		
-	 	<jta-data-source>java:comp/env/jdbc/SeCurisDS</jta-data-source> 
-		
-<!-- 		<class>net.curisit.securis.db.UserSettingsUnits</class>   -->
+
+<!-- 		<jta-data-source>java:comp/env/jdbc/SeCurisDS</jta-data-source>
+ -->
+		<!-- <class>net.curisit.securis.db.UserSettingsUnits</class> -->
 
 		<properties>
-			<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
-	        <property name="hibernate.connection.datasource" value="java:comp/env/jdbc/SeCurisDS"/>
+			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
+			<property name="hibernate.connection.datasource" value="java:comp/env/jdbc/SeCurisDS" />
 
-			<property name="hibernate.show_sql" value="false" />
+			<property name="hibernate.show_sql" value="true" />
 		</properties>
-		
+
 	</persistence-unit>
 </persistence>
diff --git a/securis/src/main/resources/db/schema.sql b/securis/src/main/resources/db/schema.sql
index cac2f67..4f69276 100644
--- a/securis/src/main/resources/db/schema.sql
+++ b/securis/src/main/resources/db/schema.sql
@@ -1,9 +1,10 @@
+
 drop table IF EXISTS settings;
 CREATE  TABLE IF NOT EXISTS settings (
-  key VARCHAR(100) NOT NULL ,
+  `key` VARCHAR(100) NOT NULL ,
   value VARCHAR(2000) NULL ,
-  timestamp DATETIME NOT NULL DEFAULT now() ,
-  PRIMARY KEY (key) );
+  creation_timestamp DATETIME NOT NULL default now(),  
+  PRIMARY KEY (``key``) );
  
 drop table IF EXISTS user;
 CREATE  TABLE IF NOT EXISTS user (
@@ -15,7 +16,7 @@
   last_login DATETIME NULL ,
   lang VARCHAR(10) NULL ,
   email VARCHAR(150) NULL ,
-  creation_timestamp DATETIME NULL ,  
+  creation_timestamp DATETIME NOT NULL default now(),  
   modification_timestamp DATETIME NULL ,  
   PRIMARY KEY (username));
 
@@ -25,17 +26,17 @@
   name VARCHAR(45) NOT NULL ,
   license_filename VARCHAR(100) NOT NULL ,
   description VARCHAR(500) NULL ,
-  creation_timestamp DATETIME NULL ,  
+  creation_timestamp DATETIME NOT NULL default now(),  
   PRIMARY KEY (id));
 
 drop table IF EXISTS application_metadata;
 CREATE TABLE IF NOT EXISTS application_metadata (
   application_id INT NOT NULL ,
-  key VARCHAR(100) NOT NULL ,
+  `key` VARCHAR(100) NOT NULL ,
   value VARCHAR(200) NULL ,
   mandatory BOOLEAN NOT NULL default true,
-  creation_timestamp DATETIME NOT NULL ,  
-  PRIMARY KEY (application_id, key));
+  creation_timestamp DATETIME NOT NULL default now(),  
+  PRIMARY KEY (application_id, `key`));
 
 
 drop table IF EXISTS license_type;
@@ -45,16 +46,16 @@
   name VARCHAR(45) NOT NULL ,
   description VARCHAR(100) NULL ,
   application_id INT NULL ,
-  creation_timestamp DATETIME NULL ,  
+  creation_timestamp DATETIME NOT NULL default now(),  
   PRIMARY KEY (id));
 
 drop table IF EXISTS licensetype_metadata;
 CREATE TABLE IF NOT EXISTS licensetype_metadata (
   license_type_id INT NOT NULL ,
-  key VARCHAR(100) NOT NULL ,
+  `key` VARCHAR(100) NOT NULL ,
   value VARCHAR(200) NULL ,
   mandatory BOOLEAN NOT NULL default true,
-  PRIMARY KEY (license_type_id, key));
+  PRIMARY KEY (license_type_id, `key`));
 
 drop table IF EXISTS organization;
 CREATE  TABLE IF NOT EXISTS organization (
@@ -63,7 +64,7 @@
   name VARCHAR(45) NOT NULL ,
   description VARCHAR(100) NULL ,
   org_parent_id INT NULL ,
-  creation_timestamp DATETIME NULL ,  
+  creation_timestamp DATETIME NOT NULL default now(),  
   PRIMARY KEY (id));
   
 drop table IF EXISTS user_organization;
@@ -77,8 +78,8 @@
   id INT NOT NULL auto_increment,
   code VARCHAR(50) NOT NULL ,
   num_licenses INT NOT NULL ,
-  init_valid_date DATE NOT NULL default today(),
-  end_valid_date DATE NOT NULL default today(),
+  init_valid_date DATE NOT NULL,
+  end_valid_date DATE NOT NULL,
   status VARCHAR(2) NOT NULL default 'CR',
   comments VARCHAR(1024) NULL ,
   license_type_id INT NOT NULL,  
@@ -86,17 +87,17 @@
   license_preactivation BOOLEAN NOT NULL DEFAULT true,  
   default_valid_period INT NOT NULL DEFAULT 60,  
   created_by varchar(45) NULL ,  
-  creation_timestamp DATETIME NOT NULL ,  
+  creation_timestamp DATETIME NOT NULL default now(),
   PRIMARY KEY (id));
   
 drop table IF EXISTS pack_metadata;
 CREATE TABLE IF NOT EXISTS pack_metadata (
   pack_id INT NOT NULL ,
-  key VARCHAR(100) NOT NULL ,
+  `key` VARCHAR(100) NOT NULL ,
   value VARCHAR(200) NULL ,
   readonly BOOlEAN NOT NULL default false,
   mandatory BOOLEAN NOT NULL default true,
-  PRIMARY KEY (pack_id, key));
+  PRIMARY KEY (pack_id, `key`));
   
   
 drop table IF EXISTS license;
@@ -110,24 +111,22 @@
   full_name VARCHAR(150) NULL,  
   email VARCHAR(100)  NOT NULL,  
   comments VARCHAR(1024) NULL ,
-  creation_timestamp DATETIME NOT NULL ,  
+  creation_timestamp DATETIME NOT NULL default now(),  
   modification_timestamp DATETIME NULL ,  
   last_access_timestamp DATETIME NULL ,  
   expiration_date DATETIME NULL ,  
   cancelled_by varchar(45) NULL ,  
   created_by varchar(45) NULL ,  
   status VARCHAR(2) NOT NULL default 'CR',  
-  PRIMARY KEY (id));
-
-create index if not exists lic_hash_req_idx on license(request_data_hash);  
-create index if not exists lic_pack_idx on license(pack_id);  
+  PRIMARY KEY (id),
+  index(request_data_hash, pack_id));
   
 drop table IF EXISTS license_history;
 CREATE TABLE IF NOT EXISTS license_history (
   id INT NOT NULL auto_increment,
   license_id INT NOT NULL,
   username VARCHAR(45) NOT NULL,
-  timestamp DATETIME NOT NULL ,
+  creation_timestamp DATETIME NOT NULL default now(),  
   action VARCHAR(40) , 
   comments VARCHAR(512) ,
   PRIMARY KEY (id));
diff --git a/securis/src/main/webapp/header.html b/securis/src/main/webapp/header.html
index a8233f4..c5b0e23 100644
--- a/securis/src/main/webapp/header.html
+++ b/securis/src/main/webapp/header.html
@@ -4,8 +4,8 @@
 			<div class="navbar-header">
 				<ul class="nav navbar-nav navbar-left">
 					<li i18n style="color: white; padding-top: 15px;">SeCuris</li>
-					<li><a i18n href="/licenses">Licenses</a></li>
-					<li><a i18n href="/admin">Admin</a></li>
+					<li><a i18n href="licenses">Licenses</a></li>
+					<li><a i18n href="admin">Admin</a></li>
 				</ul>
 			</div>
 			<div class="navbar-collapse collapse">
diff --git a/securis/src/main/webapp/js/catalogs.js b/securis/src/main/webapp/js/catalogs.js
index e437ddd..f0dd291 100644
--- a/securis/src/main/webapp/js/catalogs.js
+++ b/securis/src/main/webapp/js/catalogs.js
@@ -21,7 +21,7 @@
 											'application/:appId', {
 												appId : '@id'
 											}),
-									user : $resource('/user/:userId', {
+									user : $resource('user/:userId', {
 										userId : '@username'
 									}),
 									organization : $resource(

--
Gitblit v1.3.2