From 182ddf022ebb56af558c82dd466b206097fea7c9 Mon Sep 17 00:00:00 2001
From: rsanchez <rsanchez@curisit.net>
Date: Wed, 01 Oct 2014 18:18:12 +0000
Subject: [PATCH] #2021 config - Added Metadata hibernate entities
---
securis/src/main/java/net/curisit/securis/SeCurisServer.java | 13 +
securis/src/main/java/net/curisit/securis/db/Application.java | 14 +
securis/src/main/java/net/curisit/securis/beans/MetadataType.java | 16 ++
securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java | 116 ++++++++++++++
securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java | 123 +++++++++++++++
securis/src/main/java/net/curisit/securis/db/LicenseType.java | 33 +++
securis/src/main/java/net/curisit/securis/db/PackMetadata.java | 114 ++++++++++++++
7 files changed, 419 insertions(+), 10 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/SeCurisServer.java b/securis/src/main/java/net/curisit/securis/SeCurisServer.java
index 961da24..1e7bb8d 100644
--- a/securis/src/main/java/net/curisit/securis/SeCurisServer.java
+++ b/securis/src/main/java/net/curisit/securis/SeCurisServer.java
@@ -118,7 +118,7 @@
Properties props = new Properties();
props.put("javax.persistence.jdbc.password", securisModule.getPassword());
props.put("javax.persistence.jdbc.url", securisModule.getUrl(securisModule.getAppDir()));
- LOG.info("BD Url: {} {}", securisModule.getUrl(securisModule.getAppDir()), securisModule.getPassword());
+ //LOG.info("BD Url: {} {}", securisModule.getUrl(securisModule.getAppDir()), securisModule.getPassword());
jpaPersistModule.properties(props);
injector = Guice.createInjector(securisModule, new RequestsModule(), jpaPersistModule);
@@ -150,7 +150,13 @@
QueuedThreadPool threadPool = new QueuedThreadPool();
threadPool.setMaxThreads(50);
- server = new Server(Config.getInt(Config.KEYS.SERVER_PORT, 9080));
+ server = new Server();
+
+ ServerConnector httpConnector = new ServerConnector(server);
+ httpConnector.setPort(Config.getInt(Config.KEYS.SERVER_PORT, 9080));
+ httpConnector.setHost(Config.get(Config.KEYS.SERVER_HOSTNAME, "0.0.0.0"));
+ server.addConnector(httpConnector);
+
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addEventListener(injector.getInstance(GuiceResteasyBootstrapServletContextListener.class));
@@ -176,7 +182,6 @@
ErrorPageErrorHandler errorHandler = new ErrorPageErrorHandler();
context.setErrorHandler(errorHandler);
- LOG.info("Error Handlers: " + context.getErrorHandler());
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] {
@@ -204,7 +209,6 @@
// sslContextFactory.setTrustStorePassword("curist3c");
sslContextFactory.checkKeyStore();
sslContextFactory.setNeedClientAuth(false);
- LOG.info("Protocol: {}", sslContextFactory.getProtocol());
ServerConnector sslConnector = new ServerConnector(server, new SslConnectionFactory(sslContextFactory,HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(https_config));
sslConnector.setPort(Config.getInt(Config.KEYS.SERVER_SSL_PORT, 9443));
@@ -217,6 +221,7 @@
try {
server.start();
savePID();
+ CONSOLE.info("Server running in: {}", String.format("http://%s:%d", httpConnector.getHost(), httpConnector.getPort()));
server.join();
} catch (Exception e) {
LOG.error("Error starting SeCurisServer", e);
diff --git a/securis/src/main/java/net/curisit/securis/beans/MetadataType.java b/securis/src/main/java/net/curisit/securis/beans/MetadataType.java
new file mode 100644
index 0000000..a48734c
--- /dev/null
+++ b/securis/src/main/java/net/curisit/securis/beans/MetadataType.java
@@ -0,0 +1,16 @@
+package net.curisit.securis.beans;
+
+public enum MetadataType {
+
+ NUMBER(1),
+ STRING(2),
+ BOOLEAN(3);
+
+ private final int id;
+ MetadataType(int id) {
+ this.id = id;
+ }
+ public int getId() {
+ return id;
+ }
+}
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 e32417f..055a12a 100644
--- a/securis/src/main/java/net/curisit/securis/db/Application.java
+++ b/securis/src/main/java/net/curisit/securis/db/Application.java
@@ -49,6 +49,12 @@
@OneToMany(fetch = FetchType.LAZY, mappedBy = "application")
private Set<LicenseType> licenseTypes;
+ @JsonIgnore
+ // We don't include the referenced entities to limit the size of each row at
+ // the listing
+ @OneToMany(fetch = FetchType.LAZY, mappedBy = "application")
+ private Set<ApplicationMetadata> metadata;
+
public int getId() {
return id;
}
@@ -89,4 +95,12 @@
this.licenseTypes = licenseTypes;
}
+ public Set<ApplicationMetadata> getApplicationMetadata() {
+ return metadata;
+ }
+
+ public void setApplicationMetadata(Set<ApplicationMetadata> metadata) {
+ this.metadata = metadata;
+ }
+
}
diff --git a/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
new file mode 100644
index 0000000..d8094c2
--- /dev/null
+++ b/securis/src/main/java/net/curisit/securis/db/ApplicationMetadata.java
@@ -0,0 +1,123 @@
+package net.curisit.securis.db;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Set;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import net.curisit.securis.beans.MetadataType;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+/**
+ * Entity implementation class for Entity: application_metadata
+ *
+ */
+@JsonAutoDetect
+@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@Entity
+@Table(name = "application_metadata")
+@NamedQueries({
+ @NamedQuery(name = "list-application-metadata", query = "SELECT a FROM ApplicationMetadata a where a.application.id = :applicationId")
+})
+public class ApplicationMetadata implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ private String key;
+
+ private String description;
+
+ private MetadataType dataType;
+
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "application_id")
+ private Application application;
+
+ @Column(name = "creation_timestamp")
+ private Date creationTimestamp;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public MetadataType getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(MetadataType dataType) {
+ this.dataType = dataType;
+ }
+
+ public Application getApplication() {
+ return application;
+ }
+
+ public void setApplication(Application application) {
+ this.application = application;
+ }
+
+ public Date getCreationTimestamp() {
+ return creationTimestamp;
+ }
+
+ public void setCreationTimestamp(Date creationTimestamp) {
+ this.creationTimestamp = creationTimestamp;
+ }
+
+
+ @JsonProperty("application_id")
+ public Integer getApplicationId() {
+ return application == null ? null : application.getId();
+ }
+
+ @JsonProperty("application_id")
+ public void setApplicationId(Integer idApplication) {
+ if (idApplication == null) {
+ application = null;
+ } else {
+ application = new Application();
+ application.setId(idApplication);
+ }
+ }
+
+}
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseType.java b/securis/src/main/java/net/curisit/securis/db/LicenseType.java
index c3e378c..a38deb9 100644
--- a/securis/src/main/java/net/curisit/securis/db/LicenseType.java
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseType.java
@@ -2,15 +2,18 @@
import java.io.Serializable;
import java.util.Date;
+import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.apache.logging.log4j.LogManager;
@@ -31,10 +34,12 @@
@Entity
@Table(name = "license_type")
@NamedQueries({
- @NamedQuery(name = "list-license_types", query = "SELECT lt FROM LicenseType lt")
+ @NamedQuery(name = "list-license_types", query = "SELECT lt FROM LicenseType lt"),
+ @NamedQuery(name = "list-application-license_types", query = "SELECT lt FROM LicenseType lt where lt.application.id = :appId")
})
public class LicenseType implements Serializable {
+ @SuppressWarnings("unused")
private static final Logger LOG = LogManager.getLogger(LicenseType.class);
private static final long serialVersionUID = 1L;
@@ -53,6 +58,20 @@
@ManyToOne
@JoinColumn(name = "application_id")
private Application application;
+
+ @JsonIgnore
+ // We don't include the referenced entities to limit the size of each row at
+ // the listing
+ @OneToMany(fetch = FetchType.LAZY, mappedBy = "license_type")
+ private Set<LicenseTypeMetadata> metadata;
+
+ public Set<LicenseTypeMetadata> getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(Set<LicenseTypeMetadata> metadata) {
+ this.metadata = metadata;
+ }
public int getId() {
return id;
@@ -91,21 +110,23 @@
}
@JsonProperty("application_name")
- public String getParentOrgName() {
+ public String getApplicationName() {
return application == null ? null : application.getName();
}
@JsonProperty("application_id")
public Integer getApplicationId() {
- LOG.info("application " + application);
return application == null ? null : application.getId();
}
@JsonProperty("application_id")
public void setApplicationId(Integer appId) {
- LOG.info("setApplicationId(Integer appId) " + appId);
- application = new Application();
- application.setId(appId);
+ if (appId == null) {
+ application = null;
+ } else {
+ application = new Application();
+ application.setId(appId);
+ }
}
public void setApplication(Application application) {
diff --git a/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java b/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
new file mode 100644
index 0000000..350788d
--- /dev/null
+++ b/securis/src/main/java/net/curisit/securis/db/LicenseTypeMetadata.java
@@ -0,0 +1,116 @@
+package net.curisit.securis.db;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+
+import net.curisit.securis.beans.MetadataType;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+/**
+ * Entity implementation class for Entity: licensetype_metadata
+ *
+ */
+@JsonAutoDetect
+@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@Entity
+@Table(name = "licensetype_metadata")
+@NamedQueries({
+ @NamedQuery(name = "list-licensetype-metadata", query = "SELECT a FROM LicenseTypeMetadata a where a.licenseType.id = :licenseTypeId")
+})
+public class LicenseTypeMetadata implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ private String value;
+
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "metadata_id")
+ private ApplicationMetadata metadata;
+
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "licensetype_id")
+ private LicenseType licenseType;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @JsonProperty("licensetype_id")
+ public Integer getLicenseTypeId() {
+ return licenseType == null ? null : licenseType.getId();
+ }
+
+ @JsonProperty("licensetype_id")
+ public void setLicenseTypeId(Integer idLicenseType) {
+ if (idLicenseType == null) {
+ licenseType = null;
+ } else {
+ licenseType = new LicenseType();
+ licenseType.setId(idLicenseType);
+ }
+ }
+
+ @JsonProperty("metadata_id")
+ public Integer getMetadataId() {
+ return metadata == null ? null : metadata.getId();
+ }
+
+ @JsonProperty("metadata_id")
+ public void setMetadataId(Integer idMetadata) {
+ if (idMetadata == null) {
+ metadata = null;
+ } else {
+ metadata = new ApplicationMetadata();
+ metadata.setId(idMetadata);
+ }
+ }
+
+ public ApplicationMetadata getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(ApplicationMetadata metadata) {
+ this.metadata = metadata;
+ }
+
+ public LicenseType getLicenseType() {
+ return licenseType;
+ }
+
+ public void setLicenseType(LicenseType licenseType) {
+ this.licenseType = licenseType;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = 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
new file mode 100644
index 0000000..d1f01d6
--- /dev/null
+++ b/securis/src/main/java/net/curisit/securis/db/PackMetadata.java
@@ -0,0 +1,114 @@
+package net.curisit.securis.db;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Table;
+
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonIgnore;
+import org.codehaus.jackson.annotate.JsonProperty;
+import org.codehaus.jackson.map.annotate.JsonSerialize;
+
+/**
+ * Entity implementation class for Entity: pack_metadata
+ *
+ */
+@JsonAutoDetect
+@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+@Entity
+@Table(name = "pack_metadata")
+@NamedQueries({
+ @NamedQuery(name = "list-pack-metadata", query = "SELECT a FROM PackMetadata a where a.pack.id = :packId")
+})
+public class PackMetadata implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ private String value;
+
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "metadata_id")
+ private ApplicationMetadata metadata;
+
+ @JsonIgnore
+ @ManyToOne
+ @JoinColumn(name = "pack_id")
+ private Pack pack;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @JsonProperty("pack_id")
+ public Integer getPackId() {
+ return pack == null ? null : pack.getId();
+ }
+
+ @JsonProperty("pack_id")
+ public void setLicenseTypeId(Integer idPack) {
+ if (idPack == null) {
+ pack = null;
+ } else {
+ pack = new Pack();
+ pack.setId(idPack);
+ }
+ }
+
+ @JsonProperty("metadata_id")
+ public Integer getMetadataId() {
+ return metadata == null ? null : metadata.getId();
+ }
+
+ @JsonProperty("metadata_id")
+ public void setMetadataId(Integer idMetadata) {
+ if (idMetadata == null) {
+ metadata = null;
+ } else {
+ metadata = new ApplicationMetadata();
+ metadata.setId(idMetadata);
+ }
+ }
+
+ public ApplicationMetadata getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(ApplicationMetadata metadata) {
+ this.metadata = metadata;
+ }
+
+ public Pack getPack() {
+ return pack;
+ }
+
+ public void setPack(Pack pack) {
+ this.pack = pack;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
--
Gitblit v1.3.2