From 5beef4e86aa5355342e4e128752f40c51a493765 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Fri, 14 Nov 2014 20:08:22 +0000
Subject: [PATCH] #2021 fix - Problem with MySQL y NOT NULL creation_timestamp column
---
securis/src/main/resources/META-INF/persistence.xml | 4 +
securis/src/main/resources/db/create_db.sql | 7 +++
securis/src/main/resources/log4j2.xml | 77 +++++++++++++++++++++-----------------
securis/src/main/java/net/curisit/securis/db/Application.java | 6 +++
securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java | 6 +++
securis/src/main/resources/db/schema.sql | 2
securis/src/main/java/net/curisit/securis/services/ApplicationResource.java | 3 +
7 files changed, 67 insertions(+), 38 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/db/Application.java b/securis/src/main/java/net/curisit/securis/db/Application.java
index 17885c8..49dd65c 100644
--- a/securis/src/main/java/net/curisit/securis/db/Application.java
+++ b/securis/src/main/java/net/curisit/securis/db/Application.java
@@ -15,6 +15,9 @@
import javax.persistence.OneToMany;
import javax.persistence.Table;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -33,6 +36,8 @@
@NamedQuery(name = "list-applications", query = "SELECT a FROM Application a")
})
public class Application implements Serializable {
+
+ private static final Logger LOG = LogManager.getLogger(Application.class);
private static final long serialVersionUID = 1L;
@@ -85,6 +90,7 @@
}
public Date getCreationTimestamp() {
+ LOG.info("APP {} TS: {}", this.id, this.creationTimestamp);
return creationTimestamp;
}
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 f21baae..80cc688 100644
--- a/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
+++ b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
@@ -12,6 +12,9 @@
import javax.persistence.NamedQuery;
import javax.persistence.Table;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
@@ -30,6 +33,8 @@
@NamedQuery(name = "list-application-metadata", query = "SELECT a FROM ApplicationMetadata a where a.application.id = :applicationId")
})
public class ApplicationMetadata implements Serializable {
+
+ private static final Logger LOG = LogManager.getLogger(ApplicationMetadata.class);
private static final long serialVersionUID = 1L;
@@ -68,6 +73,7 @@
}
public Date getCreationTimestamp() {
+ LOG.info("APP_MD (app: {}) {} TS: {}", this.application.getId(), this.key, this.creationTimestamp);
return creationTimestamp;
}
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 64b4f94..c399160 100644
--- a/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
+++ b/securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
@@ -123,8 +123,9 @@
if (app.getApplicationMetadata() != null) {
for (ApplicationMetadata md : app.getApplicationMetadata()) {
md.setApplication(app);
- md.setCreationTimestamp(app.getCreationTimestamp());
+ md.setCreationTimestamp(new Date());
em.persist(md);
+ LOG.info("Creating METADATA: '{}' -> {}", md.getKey(), md.getCreationTimestamp());
}
}
LOG.info("Creating application with date: " + app.getCreationTimestamp());
diff --git a/securis/src/main/resources/META-INF/persistence.xml b/securis/src/main/resources/META-INF/persistence.xml
index d7daea1..69af565 100644
--- a/securis/src/main/resources/META-INF/persistence.xml
+++ b/securis/src/main/resources/META-INF/persistence.xml
@@ -14,7 +14,9 @@
<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="true" />
+<!-- <property name="hibernate.show_sql" value="true" />
+ <property name="hibernate.format_sql" value="true"/>
+ -->
</properties>
</persistence-unit>
diff --git a/securis/src/main/resources/db/create_db.sql b/securis/src/main/resources/db/create_db.sql
new file mode 100644
index 0000000..5f45075
--- /dev/null
+++ b/securis/src/main/resources/db/create_db.sql
@@ -0,0 +1,7 @@
+create database securis CHARACTER SET utf8 COLLATE utf8_bin;
+create user securis identified by 'securis';
+create user securis@localhost identified by 'securis';
+grant all on securis.* to securis;
+grant all on securis.* to securis@localhost;
+#Update passwords
+flush privileges;
\ No newline at end of file
diff --git a/securis/src/main/resources/db/schema.sql b/securis/src/main/resources/db/schema.sql
index 4f69276..1eb3bb6 100644
--- a/securis/src/main/resources/db/schema.sql
+++ b/securis/src/main/resources/db/schema.sql
@@ -35,7 +35,7 @@
`key` VARCHAR(100) NOT NULL ,
value VARCHAR(200) NULL ,
mandatory BOOLEAN NOT NULL default true,
- creation_timestamp DATETIME NOT NULL default now(),
+ creation_timestamp DATETIME NULL default now(),
PRIMARY KEY (application_id, `key`));
diff --git a/securis/src/main/resources/log4j2.xml b/securis/src/main/resources/log4j2.xml
index 90895bd..c78efd8 100644
--- a/securis/src/main/resources/log4j2.xml
+++ b/securis/src/main/resources/log4j2.xml
@@ -1,42 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
- <Appenders>
+ <Appenders>
- <RollingFile name="defaultFile" fileName="${sys:user.home}/.SeCuris/logs/securis-server.log" append="true"
- filePattern="${sys:user.home}/.SeCuris/logs/securis-server-%d{yyyy-MM-dd-HH}.log.gz">
- <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
- <Policies>
- <TimeBasedTriggeringPolicy interval="1" modulate="true" />
- </Policies>
- <DefaultRolloverStrategy max="10"/>
- </RollingFile>
- <Async name="defaultFileAsync" includeLocation="true">
- <AppenderRef ref="defaultFile"/>
- </Async>
-
- <Console name="stdout" target="SYSTEM_OUT">
- <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
- </Console>
+ <RollingFile name="defaultFile"
+ fileName="${sys:user.home}/.SeCuris/logs/securis-server.log" append="true"
+ filePattern="${sys:user.home}/.SeCuris/logs/securis-server-%d{yyyy-MM-dd-HH}.log.gz">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
+ <Policies>
+ <TimeBasedTriggeringPolicy interval="1"
+ modulate="true" />
+ </Policies>
+ <DefaultRolloverStrategy max="10" />
+ </RollingFile>
+ <Async name="defaultFileAsync" includeLocation="true">
+ <AppenderRef ref="defaultFile" />
+ </Async>
- <Console name="console" target="SYSTEM_OUT">
- <PatternLayout pattern="%m%n"/>
- </Console>
+ <Console name="stdout" target="SYSTEM_OUT">
+ <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
+ </Console>
- </Appenders>
- <Loggers>
-
- <Logger name="net.curisit" level="INFO" additivity="false">
- <AppenderRef ref="defaultFileAsync"/>
- <AppenderRef ref="stdout"/>
- </Logger>
-
- <Logger name="console" level="INFO" additivity="false">
- <AppenderRef ref="console"/>
- </Logger>
-
- <Root level="INFO" >
- <AppenderRef ref="stdout"/>
- </Root>
+ <Console name="console" target="SYSTEM_OUT">
+ <PatternLayout pattern="%m%n" />
+ </Console>
- </Loggers>
+ </Appenders>
+ <Loggers>
+
+ <Logger name="net.curisit" level="INFO" additivity="false">
+ <AppenderRef ref="defaultFileAsync" />
+ <AppenderRef ref="stdout" />
+ </Logger>
+
+ <Logger name="console" level="INFO" additivity="false">
+ <AppenderRef ref="console" />
+ </Logger>
+
+<!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder"
+ level="TRACE" additivity="false">
+ <appender-ref ref="stdout" />
+ </logger> -->
+
+ <Root level="INFO">
+ <AppenderRef ref="stdout" />
+ </Root>
+
+ </Loggers>
</Configuration>
--
Gitblit v1.3.2