diff options
author | Dominik Mizyn <d.mizyn@samsung.com> | 2019-09-02 13:37:43 +0200 |
---|---|---|
committer | Dominik Mizyn <d.mizyn@samsung.com> | 2019-09-10 11:35:29 +0200 |
commit | f51a049146c96181b43ca3f72c1cf715f07d24a9 (patch) | |
tree | f1462f34f0dc0d793ddc6faa7e3ab9d3d49fd675 /portal-BE | |
parent | 0dd6f1189815079526c3f5211f01650bbe5e665b (diff) |
Docker-compose up
Docker-compose for Portal-APP and MaridDB
Signed-off-by: Dominik Mizyn <d.mizyn@samsung.com>
Change-Id: I5031c524ef109da044f484555fb1319f2ad7092f
Issue-ID: PORTAL-710
Signed-off-by: Dominik Mizyn <d.mizyn@samsung.com>
Diffstat (limited to 'portal-BE')
-rw-r--r-- | portal-BE/Dockerfile | 6 | ||||
-rwxr-xr-x | portal-BE/build.sh | 6 | ||||
-rw-r--r-- | portal-BE/docker-compose.yml | 36 | ||||
-rw-r--r-- | portal-BE/dockerfile.mariadb | 7 | ||||
-rw-r--r-- | portal-BE/my.cnf | 192 | ||||
-rw-r--r-- | portal-BE/pom.xml | 354 | ||||
-rw-r--r-- | portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java | 3 | ||||
-rw-r--r-- | portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java | 68 | ||||
-rw-r--r-- | portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java | 6 | ||||
-rw-r--r-- | portal-BE/src/main/resources/application.properties | 13 |
10 files changed, 496 insertions, 195 deletions
diff --git a/portal-BE/Dockerfile b/portal-BE/Dockerfile index e69de29b..99275dca 100644 --- a/portal-BE/Dockerfile +++ b/portal-BE/Dockerfile @@ -0,0 +1,6 @@ +FROM openjdk:8-jdk-alpine +VOLUME /tmp +EXPOSE 8080 +ARG DEPENDENCY=target +ADD ${DEPENDENCY}/portal-0.0.1-SNAPSHOT.jar portal-0.0.1-SNAPSHOT.jar +ENTRYPOINT ["java","-jar","portal-0.0.1-SNAPSHOT.jar"]
\ No newline at end of file diff --git a/portal-BE/build.sh b/portal-BE/build.sh new file mode 100755 index 00000000..5c940365 --- /dev/null +++ b/portal-BE/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +mvn clean install +docker build -t portal_mariadb -f dockerfile.mariadb . +docker build -t portal_app . +docker-compose up diff --git a/portal-BE/docker-compose.yml b/portal-BE/docker-compose.yml new file mode 100644 index 00000000..7c44e82f --- /dev/null +++ b/portal-BE/docker-compose.yml @@ -0,0 +1,36 @@ +# docker-compose for ONAP portal containers: database, microservice, portal apps. +# Relies on .env file, which CANNOT be specified via command-line option +# Works in multiple environments; does not pull from a Nexus registry. +# Exposes the portal apps docker (but not DB nor WMS dockers) on the host network. +# Images must be pulled from ONAP Nexus registry after logging in like this: +# docker login -u USER -p PASS nexus3.onap.org:10001 +# Uses healthcheck feature added in docker-compose v2.1 + +version: '2.1' + +services: + portal-db: + image: portal_mariadb + container_name: portal_mariaDB + environment: + MYSQL_DATABASE: testdb + healthcheck: + test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"] + networks: + - backend + + portal-app: + image: portal_app + container_name: portal_APP + restart: on-failure + ports: + - 8080:8080 + depends_on: + portal-db: + condition: service_healthy + networks: + - backend + +networks: + backend: + driver: bridge diff --git a/portal-BE/dockerfile.mariadb b/portal-BE/dockerfile.mariadb new file mode 100644 index 00000000..f8fb49f1 --- /dev/null +++ b/portal-BE/dockerfile.mariadb @@ -0,0 +1,7 @@ +FROM mariadb:latest + +ADD my.cnf /etc/mysql/my.cnf +ENV MYSQL_USER portal +ENV MYSQL_PASSWORD Test123456 +ENV MYSQL_ROOT_PASSWORD klasjfhaskrigudsb +EXPOSE 3306
\ No newline at end of file diff --git a/portal-BE/my.cnf b/portal-BE/my.cnf new file mode 100644 index 00000000..d58210f7 --- /dev/null +++ b/portal-BE/my.cnf @@ -0,0 +1,192 @@ +# MariaDB database server configuration file. +# +# You can copy this file to one of: +# - "/etc/mysql/my.cnf" to set global options, +# - "~/.my.cnf" to set user-specific options. +# +# One can use all long options that the program supports. +# Run program with --help to get a list of available options and with +# --print-defaults to see which it would actually understand and use. +# +# For explanations see +# http://dev.mysql.com/doc/mysql/en/server-system-variables.html + +# This will be passed to all mysql clients +# It has been reported that passwords should be enclosed with ticks/quotes +# escpecially if they contain "#" chars... +# Remember to edit /etc/mysql/debian.cnf when changing the socket location. +[client] +port = 3306 +socket = /var/run/mysqld/mysqld.sock + +# Here is entries for some specific programs +# The following values assume you have at least 32M ram + +# This was formally known as [safe_mysqld]. Both versions are currently parsed. +[mysqld_safe] +socket = /var/run/mysqld/mysqld.sock +nice = 0 + +[mysqld] +skip-host-cache +skip-name-resolve +# +# * Basic Settings +# +#user = mysql +pid-file = /var/run/mysqld/mysqld.pid +socket = /var/run/mysqld/mysqld.sock +port = 3306 +basedir = /usr +datadir = /var/lib/mysql +tmpdir = /tmp +lc_messages_dir = /usr/share/mysql +lc_messages = en_US +lower_case_table_names = 1 +skip-external-locking +# +# Instead of skip-networking the default is now to listen only on +# localhost which is more compatible and is not less secure. +bind-address = 0.0.0.0 +# +# * Fine Tuning +# +max_connections = 100 +connect_timeout = 5 +wait_timeout = 600 +max_allowed_packet = 16M +thread_cache_size = 128 +sort_buffer_size = 4M +bulk_insert_buffer_size = 16M +tmp_table_size = 32M +max_heap_table_size = 32M +# +# * MyISAM +# +# This replaces the startup script and checks MyISAM tables if needed +# the first time they are touched. On error, make copy and try a repair. +myisam_recover_options = BACKUP +key_buffer_size = 128M +#open-files-limit = 2000 +table_open_cache = 400 +myisam_sort_buffer_size = 512M +concurrent_insert = 2 +read_buffer_size = 2M +read_rnd_buffer_size = 1M +# +# * Query Cache Configuration +# +# Cache only tiny result sets, so we can fit more in the query cache. +query_cache_limit = 128K +query_cache_size = 64M +# for more write intensive setups, set to DEMAND or OFF +#query_cache_type = DEMAND +# +# * Logging and Replication +# +# Both location gets rotated by the cronjob. +# Be aware that this log type is a performance killer. +# As of 5.1 you can enable the log at runtime! +#general_log_file = /var/log/mysql/mysql.log +#general_log = 1 +# +# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. +# +# we do want to know about network errors and such +#log_warnings = 2 +# +# Enable the slow query log to see queries with especially long duration +#slow_query_log[={0|1}] +slow_query_log_file = /var/log/mysql/mariadb-slow.log +long_query_time = 10 +#log_slow_rate_limit = 1000 +#log_slow_verbosity = query_plan + +#log-queries-not-using-indexes +#log_slow_admin_statements +# +# The following can be used as easy to replay backup logs or for replication. +# note: if you are setting up a replication slave, see README.Debian about +# other settings you may need to change. +#server-id = 1 +#report_host = master1 +#auto_increment_increment = 2 +#auto_increment_offset = 1 +#log_bin = /var/log/mysql/mariadb-bin +#log_bin_index = /var/log/mysql/mariadb-bin.index +# not fab for performance, but safer +#sync_binlog = 1 +expire_logs_days = 10 +max_binlog_size = 100M +# slaves +#relay_log = /var/log/mysql/relay-bin +#relay_log_index = /var/log/mysql/relay-bin.index +#relay_log_info_file = /var/log/mysql/relay-bin.info +#log_slave_updates +#read_only +# +# If applications support it, this stricter sql_mode prevents some +# mistakes like inserting invalid dates etc. +#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL +# +# * InnoDB +# +# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. +# Read the manual for more InnoDB related options. There are many! +default_storage_engine = InnoDB +# you can't just change log file size, requires special procedure +#innodb_log_file_size = 50M +innodb_buffer_pool_size = 256M +innodb_log_buffer_size = 8M +innodb_file_per_table = 1 +innodb_open_files = 400 +innodb_io_capacity = 400 +innodb_flush_method = O_DIRECT +# +# * Security Features +# +# Read the manual, too, if you want chroot! +# chroot = /var/lib/mysql/ +# +# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". +# +# ssl-ca=/etc/mysql/cacert.pem +# ssl-cert=/etc/mysql/server-cert.pem +# ssl-key=/etc/mysql/server-key.pem + +# +# * Galera-related settings +# +[galera] +# Mandatory settings +#wsrep_on=ON +#wsrep_provider= +#wsrep_cluster_address= +#binlog_format=row +#default_storage_engine=InnoDB +#innodb_autoinc_lock_mode=2 +# +# Allow server to accept connections on all interfaces. +# +#bind-address=0.0.0.0 +# +# Optional setting +#wsrep_slave_threads=1 +#innodb_flush_log_at_trx_commit=0 + +[mysqldump] +quick +quote-names +max_allowed_packet = 16M + +[mysql] +#no-auto-rehash # faster start of mysql but no tab completion + +[isamchk] +key_buffer = 16M + +# +# * IMPORTANT: Additional settings that can override those from this file! +# The files must end with '.cnf', otherwise they'll be ignored. +# +#!includedir /etc/mysql/conf.d/ diff --git a/portal-BE/pom.xml b/portal-BE/pom.xml index a63fb4c8..c291c028 100644 --- a/portal-BE/pom.xml +++ b/portal-BE/pom.xml @@ -1,131 +1,133 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-parent</artifactId> - <version>2.2.0.M4</version> - <relativePath/> <!-- lookup parent from repository --> - </parent> - <groupId>org.onap</groupId> - <artifactId>portal</artifactId> - <version>0.0.1-SNAPSHOT</version> - <name>portal-BE</name> - <description></description> + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.2.0.M4</version> + <relativePath/> <!-- lookup parent from repository --> + </parent> + <groupId>org.onap</groupId> + <artifactId>portal</artifactId> + <version>0.0.1-SNAPSHOT</version> + <name>portal-BE</name> + <packaging>jar</packaging> + <description></description> - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-actuator</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-data-jpa</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-security</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-thymeleaf</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-web</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.session</groupId> - <artifactId>spring-session-core</artifactId> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-devtools</artifactId> - <scope>runtime</scope> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-aop</artifactId> - <version>2.1.6.RELEASE</version> - </dependency> - <dependency> - <groupId>com.h2database</groupId> - <artifactId>h2</artifactId> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>mysql</groupId> - <artifactId>mysql-connector-java</artifactId> - <scope>runtime</scope> - </dependency> - <!-- https://mvnrepository.com/artifact/org.glassfish/javax.el --> - <dependency> - <groupId>org.glassfish</groupId> - <artifactId>javax.el</artifactId> - <version>3.0.1-b11</version> - </dependency> - <!-- https://mvnrepository.com/artifact/javax.el/el-api --> - <dependency> - <groupId>javax.el</groupId> - <artifactId>el-api</artifactId> - <version>2.2.1-b04</version> - </dependency> - <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> - <dependency> - <groupId>org.jsoup</groupId> - <artifactId>jsoup</artifactId> - <version>1.12.1</version> - </dependency> - <dependency> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <optional>true</optional> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>2.0.0</version> - <scope>test</scope> - </dependency> + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-jpa</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-security</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-thymeleaf</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.session</groupId> + <artifactId>spring-session-core</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-devtools</artifactId> + <scope>runtime</scope> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-aop</artifactId> + <version>2.1.6.RELEASE</version> + </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <scope>runtime</scope> + </dependency> + <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>8.0.17</version> + </dependency> + <!-- https://mvnrepository.com/artifact/org.glassfish/javax.el --> + <dependency> + <groupId>org.glassfish</groupId> + <artifactId>javax.el</artifactId> + <version>3.0.1-b11</version> + </dependency> + <!-- https://mvnrepository.com/artifact/javax.el/el-api --> + <dependency> + <groupId>javax.el</groupId> + <artifactId>el-api</artifactId> + <version>2.2.1-b04</version> + </dependency> + <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup --> + <dependency> + <groupId>org.jsoup</groupId> + <artifactId>jsoup</artifactId> + <version>1.12.1</version> + </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <optional>true</optional> + </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-module-junit4</artifactId> + <version>2.0.0</version> + <scope>test</scope> + </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito2</artifactId> - <version>2.0.0</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.onap.portal.sdk</groupId> - <artifactId>epsdk-logger</artifactId> - <version>2.6.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.onap.portal.sdk</groupId> - <artifactId>epsdk-core</artifactId> - <version>2.6.0-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> - <exclusions> - <exclusion> - <groupId>org.junit.vintage</groupId> - <artifactId>junit-vintage-engine</artifactId> - </exclusion> - <exclusion> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.springframework.security</groupId> - <artifactId>spring-security-test</artifactId> - <scope>test</scope> - </dependency> + <dependency> + <groupId>org.powermock</groupId> + <artifactId>powermock-api-mockito2</artifactId> + <version>2.0.0</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.onap.portal.sdk</groupId> + <artifactId>epsdk-logger</artifactId> + <version>2.6.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.onap.portal.sdk</groupId> + <artifactId>epsdk-core</artifactId> + <version>2.6.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> + </exclusion> + <exclusion> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.springframework.security</groupId> + <artifactId>spring-security-test</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> @@ -133,34 +135,82 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs <scope>compile</scope> </dependency> </dependencies> + <properties> + <docker.image.prefix>portal</docker.image.prefix> + </properties> + <build> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>com.spotify</groupId> + <artifactId>dockerfile-maven-plugin</artifactId> + <version>1.4.9</version> + <configuration> + <repository>${docker.image.prefix}/${project.version}</repository> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <configuration> + <!-- DO NOT include log4j.properties file in your Jar --> + <excludes> + <exclude>**/log4j.properties</exclude> + </excludes> + <archive> + <manifest> + <!-- Jar file entry point --> + <mainClass>org.onap.portal.PortalApplication</mainClass> + </manifest> + </archive> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>unpack</id> + <phase>package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>${project.groupId}</groupId> + <artifactId>${project.artifactId}</artifactId> + <version>${project.version}</version> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + <resources> + <resource> + <directory>src/main/resources</directory> + </resource> + </resources> + </build> - <build> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - </plugin> - </plugins> - <resources> - <resource> - <directory>src/main/resources</directory> - </resource> - </resources> - </build> - - <repositories> - <repository> - <id>spring-milestones</id> - <name>Spring Milestones</name> - <url>https://repo.spring.io/milestone</url> - </repository> - </repositories> - <pluginRepositories> - <pluginRepository> - <id>spring-milestones</id> - <name>Spring Milestones</name> - <url>https://repo.spring.io/milestone</url> - </pluginRepository> - </pluginRepositories> + <repositories> + <repository> + <id>spring-milestones</id> + <name>Spring Milestones</name> + <url>https://repo.spring.io/milestone</url> + </repository> + </repositories> + <pluginRepositories> + <pluginRepository> + <id>spring-milestones</id> + <name>Spring Milestones</name> + <url>https://repo.spring.io/milestone</url> + </pluginRepository> + </pluginRepositories> </project> diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java index 310c3619..9dea65ed 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnOrg.java @@ -76,7 +76,6 @@ CREATE TABLE `fn_org` ( }) @NoArgsConstructor @AllArgsConstructor - @Getter @Setter @Entity @@ -91,7 +90,7 @@ public class FnOrg implements Serializable { @SafeHtml @NotNull private String orgName; - @Column(name = "access_cd", length = 10, columnDefinition = "varchar(10) DEFAULT NULL") + @Column(name = "access_cd", length = 10) @Size(max = 10) @SafeHtml private String accessCd; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java index 029420d3..afd70b03 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/db/fn/FnUser.java @@ -190,70 +190,70 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { @Digits(integer = 11, fraction = 0) private Long userId; @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - @JoinColumn(name = "org_id", columnDefinition = "int(11) DEFAULT NULL") + @JoinColumn(name = "org_id") private FnOrg orgId; @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "manager_id") private FnUser managerId; - @Column(name = "first_name", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "first_name", length = 50) @Size(max = 50) @SafeHtml private String firstName; - @Column(name = "middle_name", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "middle_name", length = 50) @Size(max = 50) @SafeHtml private String middleName; - @Column(name = "last_name", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "last_name", length = 50) @Size(max = 50) @SafeHtml private String lastName; - @Column(name = "phone", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "phone", length = 25) @Size(max = 25) @SafeHtml private String phone; - @Column(name = "fax", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "fax", length = 25) @Size(max = 25) @SafeHtml private String fax; - @Column(name = "cellular", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "cellular", length = 25) @Size(max = 25) @SafeHtml private String cellular; - @Column(name = "email", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "email", length = 50) @Size(max = 50) @Email @SafeHtml private String email; - @Column(name = "address_id", columnDefinition = "decimal(11,0) DEFAULT NULL") + @Column(name = "address_id") @Digits(integer = 11, fraction = 0) private Long addressId; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "alert_method_cd", columnDefinition = "varchar(10) DEFAULT NULL") + @JoinColumn(name = "alert_method_cd") private FnLuAlertMethod alertMethodCd; - @Column(name = "hrid", length = 20, columnDefinition = "varchar(20) DEFAULT NULL") + @Column(name = "hrid", length = 20) @Size(max = 20) @SafeHtml private String hrid; - @Column(name = "org_user_id", length = 20, columnDefinition = "varchar(20) DEFAULT NULL") + @Column(name = "org_user_id", length = 20) @Size(max = 20) @SafeHtml private String orgUserId; - @Column(name = "org_code", length = 30, columnDefinition = "varchar(30) DEFAULT NULL") + @Column(name = "org_code", length = 30) @Size(max = 30) @SafeHtml private String org_code; - @Column(name = "login_id", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "login_id", length = 25) @Size(max = 25) @SafeHtml private String loginId; - @Column(name = "login_pwd", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "login_pwd", length = 100) @Size(max = 100) @SafeHtml private String loginPwd; @Column(name = "last_login_date", nullable = false, columnDefinition = "datetime DEFAULT current_timestamp() ON UPDATE current_timestamp()") @PastOrPresent protected LocalDateTime lastLoginDate; - @Column(name = "active_yn", length = 1, columnDefinition = "character varying(1) default 'y'", nullable = false) + @Column(name = "active_yn", length = 1, nullable = false) @Size(max = 1) @SafeHtml @NotNull(message = "activeYn must not be null") @@ -275,74 +275,74 @@ public class FnUser extends DomainVo implements UserDetails, Serializable { @SafeHtml @NotNull(message = "isInternalYn must not be null") private String isInternalYn; - @Column(name = "address_line_1", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "address_line_1", length = 100) @Size(max = 100) @SafeHtml private String addressLine1; - @Column(name = "address_line_2", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "address_line_2", length = 100) @Size(max = 100) @SafeHtml private String addressLine2; - @Column(name = "city", length = 50, columnDefinition = "varchar(50) DEFAULT NULL") + @Column(name = "city", length = 50) @Size(max = 50) @SafeHtml private String city; - @Column(name = "state_cd", length = 3, columnDefinition = "varchar(3) DEFAULT NULL") + @Column(name = "state_cd", length = 3) @Size(max = 3) @SafeHtml private String stateCd; - @Column(name = "zip_code", length = 11, columnDefinition = "varchar(11) DEFAULT NULL") + @Column(name = "zip_code", length = 11) @Size(max = 11) @SafeHtml private String zipCode; - @Column(name = "country_cd", length = 3, columnDefinition = "varchar(3) DEFAULT NULL") + @Column(name = "country_cd", length = 3) @Size(max = 3) @SafeHtml private String countryCd; - @Column(name = "location_clli", length = 8, columnDefinition = "varchar(8) DEFAULT NULL") + @Column(name = "location_clli", length = 8) @Size(max = 8) @SafeHtml private String locationClli; - @Column(name = "org_manager_userid", length = 20, columnDefinition = "varchar(20) DEFAULT NULL") + @Column(name = "org_manager_userid", length = 20) @Size(max = 20) @SafeHtml private String orgManagerUserId; - @Column(name = "company", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "company", length = 100) @Size(max = 100) @SafeHtml private String company; - @Column(name = "department_name", length = 200, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "department_name", length = 200) @Size(max = 200) @SafeHtml private String departmentName; - @Column(name = "job_title", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "job_title", length = 100) @Size(max = 100) @SafeHtml private String jobTitle; @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) - @JoinColumn(name = "timezone", columnDefinition = "int(11) DEFAULT NULL") + @JoinColumn(name = "timezone") private FnLuTimezone timezone; - @Column(name = "department", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "department", length = 25) @Size(max = 25) @SafeHtml private String department; - @Column(name = "business_unit", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "business_unit", length = 25) @Size(max = 25) @SafeHtml private String businessUnit; - @Column(name = "business_unit_name", length = 100, columnDefinition = "varchar(100) DEFAULT NULL") + @Column(name = "business_unit_name", length = 100) @Size(max = 100) @SafeHtml private String businessUnitName; - @Column(name = "cost_center", length = 25, columnDefinition = "varchar(25) DEFAULT NULL") + @Column(name = "cost_center", length = 25) @Size(max = 25) @SafeHtml private String cost_center; - @Column(name = "fin_loc_code", length = 10, columnDefinition = "varchar(10) DEFAULT NULL") + @Column(name = "fin_loc_code", length = 10) @Size(max = 10) @SafeHtml private String finLocCode; - @Column(name = "silo_status", length = 10, columnDefinition = "varchar(10) DEFAULT NULL") + @Column(name = "silo_status", length = 10) @Size(max = 10) @SafeHtml private String siloStatus; diff --git a/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java b/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java index 98a0d05b..6901aeef 100644 --- a/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java +++ b/portal-BE/src/main/java/org/onap/portal/domain/dto/DomainVo.java @@ -45,7 +45,7 @@ import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; -import java.util.Date; +import java.time.LocalDateTime; import java.util.Set; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @@ -66,8 +66,8 @@ public class DomainVo extends FusionVo implements Serializable, Cloneable, Compa private static final long serialVersionUID = 1L; protected Long id; - protected Date created; - protected Date modified; + protected LocalDateTime created; + protected LocalDateTime modified; protected FnUser createdId; protected FnUser modifiedId; protected Long rowNum; diff --git a/portal-BE/src/main/resources/application.properties b/portal-BE/src/main/resources/application.properties index e31dcc30..30c0beeb 100644 --- a/portal-BE/src/main/resources/application.properties +++ b/portal-BE/src/main/resources/application.properties @@ -1,16 +1,21 @@ server.port=8080 -spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC +spring.datasource.url=jdbc:mysql://portal-db:3306/testdb?createDatabaseIfNotExist=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.initialization-mode=always spring.session.jdbc.initialize-schema=always spring.datasource.continueOnError=true -spring.datasource.username=root -spring.datasource.password=root +spring.datasource.username=portal +spring.datasource.password=Test123456 +log4j.logger.org.hibernate=info + +#H2 config +spring.h2.console.settings.web-allow-others=true +spring.h2.console.enabled=true spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect spring.jpa.hibernate.ddl-auto=update spring.jpa.database=mysql spring.jpa.show-sql=true -spring.jooq.sql-dialect=MARIADB +spring.jooq.sql-dialect=MARIADB
\ No newline at end of file |