pax_global_header 0000666 0000000 0000000 00000000064 13455576415 0014531 g ustar 00root root 0000000 0000000 52 comment=cfba9e8109e686715c8d2a8e47fdc2db76bc5a51
gitlab-playground-innovation-feature/ 0000775 0000000 0000000 00000000000 13455576415 0020334 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/.gitignore 0000664 0000000 0000000 00000000057 13455576415 0022326 0 ustar 00root root 0000000 0000000 # Created by .ignore support plugin (hsz.mobi)
gitlab-playground-innovation-feature/Dockerfile 0000664 0000000 0000000 00000000432 13455576415 0022325 0 ustar 00root root 0000000 0000000 FROM openjdk:8-jre-alpine3.7
ADD /target/#ARTIFACT# //
ADD /src/main/resources/application.properties //
ADD /src/main/resources/logback.xml //
ADD /src/main/resources/db-config.properties //
ADD /src/main/resources/service.properties //
ENTRYPOINT ["java", "-jar", "/#ARTIFACT#"]
gitlab-playground-innovation-feature/Jenkinsfile 0000664 0000000 0000000 00000015317 13455576415 0022527 0 ustar 00root root 0000000 0000000 pipeline {
agent any
environment {
BRANCHES="${env.GIT_BRANCH}"
COMMIT="${env.GIT_COMMIT}"
}
stages {
stage('Set variables') {
steps {
script {
BRANCH = "${BRANCHES}".tokenize('/')[-1]
def data = readJSON file:'metadata.json'
DOCKERHOST="""${data.hosting."${BRANCH}".dockerHost}"""
DOCKERPORT="""${data.hosting."${BRANCH}".dockerPort}"""
HOSTPORT="""${data.hosting."${BRANCH}".hostPort}"""
DOCKERREPO="docker.artifactory"
VALIDATIONURL="""${data.'application.properties'."${BRANCH}".validationURL}"""
VALIDATIONSLEEP="""${data.'application.properties'."${BRANCH}".validationSleep}"""
DBNODEPRIMARY="""${data.'db-config.properties'."${BRANCH}".DBNODEPRIMARY}"""
DBNODESECONDARY1="""${data.'db-config.properties'."${BRANCH}".DBNODESECONDARY1}"""
DBNODESECONDARY2="""${data.'db-config.properties'."${BRANCH}".DBNODESECONDARY2}"""
DBREPLICASET="""${data.'db-config.properties'."${BRANCH}".DBREPLICASET}"""
DBSCHEMA="""${data."db-config.properties"."${BRANCH}".DBSCHEMA}"""
DBUSR="""${data."db-config.properties"."${BRANCH}".DBUSR}"""
DBPW="""${data."db-config.properties"."${BRANCH}".DBPW}"""
PLAYGROUNDSERVICEURL="""${data."application.properties"."${BRANCH}".PLAYGROUNDSERVICEURL}"""
USESWAGGER="""${data."application.properties"."${BRANCH}".USESWAGGER}"""
def (NS, ENV2, JOB)="${JOB_NAME}".tokenize('/')
def (NET1, B1, B2)="${NS}".tokenize('.')
JOBENV="${ENV2}"
NET="${NET1}"
ORG="${NET}-${JOBENV}"
OLDBUILD=(BUILD_ID as int) - 1
def pom=readMavenPom file: 'pom.xml'
ARTIFACTID="${pom.artifactId}"
ARTIFACTVERSION="${pom.version}"
ARTIFACTPACKAGING="${pom.packaging}"
ARTIFACT="${ARTIFACTID}-${ARTIFACTVERSION}.${ARTIFACTPACKAGING}"
sh "sed -i s/#DBNODEPRIMARY#/${DBNODEPRIMARY}/g ./src/main/resources/db-config.properties"
sh "sed -i s/#DBNODESECONDARY1#/${DBNODESECONDARY1}/g ./src/main/resources/db-config.properties"
sh "sed -i s/#DBNODESECONDARY2#/${DBNODESECONDARY2}/g ./src/main/resources/db-config.properties"
sh "sed -i s/#DBREPLICASET#/${DBREPLICASET}/g ./src/main/resources/db-config.properties"
sh "sed -i s/#DBSCHEMA#/${DBSCHEMA}/g ./src/main/resources/db-config.properties"
sh "sed -i s/#DBUSR#/${DBUSR}/g ./src/main/resources/db-config.properties"
sh "set +x && sed -i s/#DBPW#/${DBPW}/g ./src/main/resources/db-config.properties"
sh "sed -i s/#PLAYGROUNDSERVICEURL#/${PLAYGROUNDSERVICEURL}/g ./src/main/resources/application.properties"
sh "sed -i s/#PLAYGROUNDSERVICEURL#/${PLAYGROUNDSERVICEURL}/g ./src/test/resources/application-test.properties"
sh "sed -i s/#USESWAGGER#/${USESWAGGER}/g ./src/main/resources/application.properties"
}
}
}
stage('Maven build') {
steps {
sh 'mvn clean package'
}
}
stage('Jacoco Coverage') {
steps {
jacoco changeBuildStatus: false, maximumClassCoverage: '50', maximumComplexityCoverage: '50', maximumLineCoverage: '50'
}
}
stage('Sonarqube') {
steps {
script {
def scannerHome=tool 'sonarqube'
withSonarQubeEnv('sonarqube_local') {
sh "${scannerHome}/bin/sonar-scanner -Dsonar.projectKey=${JOB_BASE_NAME} -Dsonar.sources='.' -Dsonar.java.binaries='.' -Dsonar.exclusions='target/**/*' -Dsonar.projectVersion=${JOBENV}.${BUILD_ID} -Dsonar.branch=${BRANCH} "
}
}
}
}
stage('Build docker image') {
steps {
script {
sh "sed -i s/#ARTIFACT#/${ARTIFACT}/g Dockerfile"
withDockerRegistry([credentialsId: 'dockeraws_pw', url: "http://docker.artifactory/"]) {
TAG="docker.artifactory/${ORG}/${JOB_BASE_NAME}:${BUILD_ID}"
def image=docker.build("${TAG}", "--no-cache -f Dockerfile .")
stage('Push docker image') {
image.push "${BUILD_ID}"
}
}
}
}
}
stage('Deploy docker image') {
steps {
script {
println "ENV: ${JOBENV}"
if (("${JOBENV}"=="3dash") || ("${JOBENV}"=="prod")) {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'dockeraws_pw', usernameVariable: '_DOCKERUSER', passwordVariable: '_DOCKERPWD']]) {
sh """
ssh centos@${DOCKERHOST} "docker login -u $_DOCKERUSER -p $_DOCKERPWD ${DOCKERREPO} && docker pull ${DOCKERREPO}/${ORG}/${JOB_BASE_NAME}:${BUILD_ID}"
ssh centos@${DOCKERHOST} "docker stop ${JOB_BASE_NAME} || true && docker rm ${JOB_BASE_NAME} || true"
ssh centos@${DOCKERHOST} "docker run -d --name ${JOB_BASE_NAME} --restart always --network=${NET} -p ${HOSTPORT}:${DOCKERPORT} ${DOCKERREPO}/${ORG}/${JOB_BASE_NAME}:${BUILD_ID}"
ssh centos@${DOCKERHOST} "docker rmi ${DOCKERREPO}/${ORG}/${JOB_BASE_NAME}:${OLDBUILD} || true"
"""
}
}
else {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'dockeraws_pw', usernameVariable: '_DOCKERUSER', passwordVariable: '_DOCKERPWD']]) {
sh """
ssh centos@${DOCKERHOST} "docker login -u $_DOCKERUSER -p $_DOCKERPWD ${DOCKERREPO} && docker pull ${DOCKERREPO}/${ORG}/${JOB_BASE_NAME}:${BUILD_ID}"
ssh centos@${DOCKERHOST} "docker stop ${JOB_BASE_NAME} || true && docker rm ${JOB_BASE_NAME} || true"
ssh centos@${DOCKERHOST} "docker run -d --name ${JOB_BASE_NAME} --restart always -p ${HOSTPORT}:${DOCKERPORT} ${DOCKERREPO}/${ORG}/${JOB_BASE_NAME}:${BUILD_ID}"
ssh centos@${DOCKERHOST} "docker rmi ${DOCKERREPO}/${ORG}/${JOB_BASE_NAME}:${OLDBUILD} || true"
"""
}
}
}
}
}
stage ('Validate End-Point') {
steps {
script {
sh """sleep "${VALIDATIONSLEEP}" && curl -H "Content-Type: application/json" "${VALIDATIONURL}" """
def connection=new URL("${VALIDATIONURL}").openConnection() as HttpURLConnection
connection.setRequestProperty('User-Agent', 'groovy-2.4.4')
connection.setRequestProperty('Content-Type', 'application/json')
RESULT=connection.inputStream.text
//if $RESULT
}
}
}
stage('Send results to Slack') {
steps {
slackSend(color: '#439FE0', message: "'${env.JOB_NAME}' #'${env.BUILD_ID}' '${COMMIT}' ", channel: '#pg-svcs')
}
}
}
post {
always {
script {
currentBuild.result = currentBuild.result ?: 'SUCCESS'
notifyBitbucket()
}
}
}
}
gitlab-playground-innovation-feature/README.md 0000664 0000000 0000000 00000000764 13455576415 0021622 0 ustar 00root root 0000000 0000000 ## Description ##
The template used in creating this service has the configuration inclusive of
1. `Consul` - Service Registry and Discovery
2. `Hystrix` - Circuit Breaker
3. `RabbitMQ` - Message Broker
4. `SpringBootAdmin` - Service Monitoring
5. `ElasticSearch` - Log Indexer
6. `Logstash` - Log Collector
7. `Kibana` - Log Visualizer
8. `Zipkin` - Log Trace Collector
9. `SpringCloudSleuth` - Log Tracing
10. `Togglz` - Feature Toggles
11. `Swagger` - API documentation
# Playground Template #
gitlab-playground-innovation-feature/metadata.json 0000664 0000000 0000000 00000004743 13455576415 0023017 0 ustar 00root root 0000000 0000000 {
"hosting": {
"feature": {
"dockerPort": "8080",
"hostPort": "50116",
"dockerHost": "10.101.102.56"
},
"develop": {
"dockerPort": "8080",
"hostPort": "50116",
"dockerHost": "10.101.101.128"
},
"release": {
"dockerPort": "8080",
"hostPort": "50116",
"dockerHost": "10.101.103.65"
},
"master": {
"dockerPort": "8080",
"hostPort": "50116",
"dockerHost": "10.101.102.123"
}
},
"db-config.properties": {
"feature": {
"DBNODEPRIMARY": "cluster0-shard-00-00-q6qiu.azure.mongodb.net:27017",
"DBNODESECONDARY1": "cluster0-shard-00-01-q6qiu.azure.mongodb.net:27017",
"DBNODESECONDARY2": "cluster0-shard-00-02-q6qiu.azure.mongodb.net:27017",
"DBREPLICASET": "Cluster0-shard-0",
"DBSCHEMA": "pg_innovation_dev",
"DBUSR": "pg-dev",
"DBPW": "bek7sgkny5yJIjIS"
},
"develop": {
"DBNODEPRIMARY": "cluster0-shard-00-00-q6qiu.azure.mongodb.net:27017",
"DBNODESECONDARY1": "cluster0-shard-00-01-q6qiu.azure.mongodb.net:27017",
"DBNODESECONDARY2": "cluster0-shard-00-02-q6qiu.azure.mongodb.net:27017",
"DBREPLICASET": "Cluster0-shard-0",
"DBSCHEMA": "pg_innovation_qa",
"DBUSR": "pg-dev",
"DBPW": "bek7sgkny5yJIjIS"
},
"release": {
"DBNODEPRIMARY": "cluster0-shard-00-00-q6qiu.azure.mongodb.net:27017",
"DBNODESECONDARY1": "cluster0-shard-00-01-q6qiu.azure.mongodb.net:27017",
"DBNODESECONDARY2": "cluster0-shard-00-02-q6qiu.azure.mongodb.net:27017",
"DBREPLICASET": "Cluster0-shard-0",
"DBSCHEMA": "pg_innovation_uat",
"DBUSR": "pg-dev",
"DBPW": "bek7sgkny5yJIjIS"
},
"master": {
"DB": "playground-db:3306",
"DBSCHEMA": "pg_innovation",
"DBUSR": "appsupport",
"DBPW": "Oracle@123"
}
},
"application.properties": {
"feature": {
"USESWAGGER": true,
"PLAYGROUNDSERVICEURL": "3-playground.altimetrik.com",
"validationURL": "https://3-playground.altimetrik.com/template/",
"validationSleep": "30"
},
"develop": {
"USESWAGGER": true,
"PLAYGROUNDSERVICEURL": "2-playground.altimetrik.com",
"validationURL": "https://2-playground.altimetrik.com/template/",
"validationSleep": "30"
},
"release": {
"USESWAGGER": true,
"PLAYGROUNDSERVICEURL": "1-playground.altimetrik.com",
"validationURL": "https://1-playground.altimetrik.com/template/",
"validationSleep": "30"
},
"master": {
"USESWAGGER": false,
"PLAYGROUNDSERVICEURL": "playground.altimetrik.com",
"validationURL": "https://playground.altimetrik.com/template/",
"validationSleep": "30"
}
}
}
gitlab-playground-innovation-feature/pom.xml 0000664 0000000 0000000 00000017667 13455576415 0021672 0 ustar 00root root 0000000 0000000
4.0.0com.altimetrikplayground-template1.0.0jarplayground-templatePlayground Templateorg.springframework.bootspring-boot-starter-parent2.1.3.RELEASEUTF-8UTF-81.8Greenwich.RELEASE2.1.01.3.0.RELEASE4.92.9.21.5.202.6.1.Final2.62.8.5Tushar Dastdas@altimetrik.comAltimetrik India Pvt Ltdhttp://www.altimetrik.comorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-actuatorde.codecentricspring-boot-admin-starter-client${spring-boot-admin.version}org.springframework.bootspring-boot-starter-securityorg.springframework.bootspring-boot-starter-testtestorg.springframework.cloudspring-cloud-starter-sleuthorg.springframework.cloudspring-cloud-starter-zipkinorg.springframework.cloudspring-cloud-starter-consul-discoveryorg.springframework.cloudspring-cloud-starter-hystrix${hystrix.version}org.springframework.cloudspring-cloud-starter-hystrix-dashboard${hystrix.version}org.springframework.bootspring-boot-starter-amqporg.springframework.bootspring-boot-starter-data-mongodbnet.logstash.logbacklogstash-logback-encoder${logback-encoder.version}ch.qos.logbacklogback-classicch.qos.logbacklogback-coreio.swaggerswagger-annotations${swagger-annotations.version}io.springfoxspringfox-swagger2${swagger.version}compileio.springfoxspringfox-swagger-ui${swagger.version}compileorg.togglztogglz-spring-boot-starter${togglz.version}org.togglztogglz-console${togglz.version}org.projectlomboklomboktrueorg.apache.commonscommons-lang3commons-iocommons-io${commons-io.version}com.google.code.gsongson${gson.version}com.h2databaseh2testcom.sun.jerseyjersey-coreorg.springframework.cloudspring-cloud-dependencies${spring-cloud.version}pomimportorg.springframework.bootspring-boot-maven-pluginorg.apache.maven.pluginsmaven-surefire-pluginorg.apache.maven.pluginsmaven-javadoc-pluginattach-javadocsjarorg.jacocojacoco-maven-plugin0.8.3prepare-agentreportprepare-packagereport${project.build.directory}/jacocospring-snapshotsSpring Snapshotshttps://repo.spring.io/snapshottruespring-milestonesSpring Milestoneshttps://repo.spring.io/milestonefalse
gitlab-playground-innovation-feature/src/ 0000775 0000000 0000000 00000000000 13455576415 0021123 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/ 0000775 0000000 0000000 00000000000 13455576415 0022047 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/ 0000775 0000000 0000000 00000000000 13455576415 0022770 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/ 0000775 0000000 0000000 00000000000 13455576415 0023546 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/ 0000775 0000000 0000000 00000000000 13455576415 0025713 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/ 0000775 0000000 0000000 00000000000 13455576415 0030077 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/ 0000775 0000000 0000000 00000000000 13455576415 0032263 5 ustar 00root root 0000000 0000000 PlaygroundApplication.java 0000664 0000000 0000000 00000005044 13455576415 0037362 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation;
import java.io.File;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.togglz.core.manager.EnumBasedFeatureProvider;
import org.togglz.core.repository.StateRepository;
import org.togglz.core.repository.file.FileBasedStateRepository;
import org.togglz.core.spi.FeatureProvider;
import org.togglz.core.user.NoOpUserProvider;
import org.togglz.core.user.UserProvider;
import com.altimetrik.playground.innovation.feature.Features;
import com.altimetrik.playground.innovation.properties.ErrorProperties;
import com.altimetrik.playground.innovation.properties.ServiceProperties;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@ServletComponentScan
@SpringBootApplication
@EnableDiscoveryClient
@EnableCircuitBreaker
@EnableHystrixDashboard
@PropertySource(value = { "classpath:db-config.properties", "classpath:service.properties" })
@EnableConfigurationProperties({ ServiceProperties.class, ErrorProperties.class })
public class PlaygroundApplication {
public static void main(String[] args) {
SpringApplication.run(PlaygroundApplication.class, args);
}
@Bean
public FeatureProvider featureProvider() {
return new EnumBasedFeatureProvider(Features.class);
}
@Bean
public UserProvider userProvider() {
return new NoOpUserProvider();
}
@Bean
public StateRepository getStateRepository() {
return new FileBasedStateRepository(new File("src/main/resources/features.properties"), 10_000);
}
@Bean
public Gson gson() {
return new GsonBuilder().serializeNulls().create();
}
}
PlaygroundInnovationApplication.java 0000664 0000000 0000000 00000005070 13455576415 0041426 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation;
import java.io.File;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.togglz.core.manager.EnumBasedFeatureProvider;
import org.togglz.core.repository.StateRepository;
import org.togglz.core.repository.file.FileBasedStateRepository;
import org.togglz.core.spi.FeatureProvider;
import org.togglz.core.user.NoOpUserProvider;
import org.togglz.core.user.UserProvider;
import com.altimetrik.playground.innovation.feature.Features;
import com.altimetrik.playground.innovation.properties.ErrorProperties;
import com.altimetrik.playground.innovation.properties.ServiceProperties;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
@ServletComponentScan
@SpringBootApplication
@EnableDiscoveryClient
@EnableCircuitBreaker
@EnableHystrixDashboard
@PropertySource(value = { "classpath:db-config.properties", "classpath:service.properties" })
@EnableConfigurationProperties({ ServiceProperties.class, ErrorProperties.class })
public class PlaygroundInnovationApplication {
public static void main(String[] args) {
SpringApplication.run(PlaygroundInnovationApplication.class, args);
}
@Bean
public FeatureProvider featureProvider() {
return new EnumBasedFeatureProvider(Features.class);
}
@Bean
public UserProvider userProvider() {
return new NoOpUserProvider();
}
@Bean
public StateRepository getStateRepository() {
return new FileBasedStateRepository(new File("src/main/resources/features.properties"), 10_000);
}
@Bean
public Gson gson() {
return new GsonBuilder().serializeNulls().create();
}
}
gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/annotation/ 0000775 0000000 0000000 00000000000 13455576415 0034435 5 ustar 00root root 0000000 0000000 RolesAllowed.java 0000664 0000000 0000000 00000002272 13455576415 0037620 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/annotation /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.altimetrik.playground.innovation.constants.ActionTypeEnum;
import com.altimetrik.playground.innovation.constants.RoleTypeEnum;
/**
* Custom annotation which is used to tag a web service to specify the roles
* information which is used for validation by the RolesInterceptor.
*
* @author skondapalli.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.TYPE })
public @interface RolesAllowed {
RoleTypeEnum[] roles();
ActionTypeEnum action();
String description() default "";
}
gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/ 0000775 0000000 0000000 00000000000 13455576415 0033170 5 ustar 00root root 0000000 0000000 BaseRequestBean.java 0000664 0000000 0000000 00000001147 13455576415 0036770 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import lombok.Data;
@Data
public class BaseRequestBean {
public BaseRequestBean() {
super();
}
}
BaseResponse.java 0000664 0000000 0000000 00000001321 13455576415 0036342 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
public class BaseResponse extends ResponseModel {
private static final long serialVersionUID = 1L;
public BaseResponse(StatusDetails status) {
super.setStatus(status);
}
public BaseResponse() {
}
}
PgIdeaArtifact.java 0000664 0000000 0000000 00000002670 13455576415 0036570 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.altimetrik.playground.innovation.constants.ArtifactTypeEnum;
import lombok.Data;
@Data
public class PgIdeaArtifact implements Serializable {
private static final long serialVersionUID = -8931921342171547040L;
private String id;
@NotBlank
private String linkName;
@NotNull
private ArtifactTypeEnum artifactType;
@NotBlank
private String linkUrl;
private String fileName;
private String createdBy;
private Date createdOn;
public PgIdeaArtifact(String id, String linkName, ArtifactTypeEnum artifactType, String linkUrl, String fileName, String createdBy, Date createdOn) {
super();
this.id = id;
this.linkName = linkName;
this.artifactType = artifactType;
this.linkUrl = linkUrl;
this.fileName = fileName;
this.createdBy = createdBy;
this.createdOn = createdOn;
}
}
PgIdeaArtifactListResponse.java 0000664 0000000 0000000 00000001565 13455576415 0041145 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaArtifactListResponse extends ResponseModel {
private static final long serialVersionUID = -916706158688154611L;
private String ideaId;
private List result;
public PgIdeaArtifactListResponse() {
super();
}
}
PgIdeaCategoryListResponse.java 0000664 0000000 0000000 00000001332 13455576415 0041155 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.List;
import lombok.Data;
@Data
public class PgIdeaCategoryListResponse extends ResponseModel {
private List result;
public PgIdeaCategoryListResponse() {
super();
}
}
PgIdeaCategoryRequest.java 0000664 0000000 0000000 00000002001 13455576415 0040145 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaCategoryRequest extends BaseRequestBean {
private static final long serialVersionUID = 644473128186417688L;
private String categoryName;
private List mentors;
private List reviewers;
public PgIdeaCategoryRequest() {
super();
}
public PgIdeaCategoryRequest(String categoryName) {
super();
this.categoryName = categoryName;
}
}
PgIdeaCategoryResponse.java 0000664 0000000 0000000 00000002236 13455576415 0040325 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.Date;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaCategoryResponse extends ResponseModel {
private static final long serialVersionUID = 644473128186417688L;
private String categoryId;
private String categoryName;
private List mentors;
private List reviewers;
private String createdBy;
private Date createdDate;
public PgIdeaCategoryResponse() {
super();
}
public PgIdeaCategoryResponse(String categoryId, String categoryName) {
super();
this.categoryId = categoryId;
this.categoryName = categoryName;
}
}
PgIdeaRequest.java 0000664 0000000 0000000 00000002574 13455576415 0036466 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import javax.validation.constraints.NotBlank;
import com.altimetrik.playground.innovation.constants.IdeaStatusEnum;
import com.altimetrik.playground.innovation.constants.IdeaTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaRequest extends BaseRequestBean {
private IdeaTypeEnum ideaType;
@NotBlank
private String title;
private String description;
private String businessRelevance;
private String ideaCategoryId;
private Boolean competenceCenter;
private IdeaStatusEnum status;
private Boolean published;
private Boolean locked;
private String businessDomain;
private String technologyDomain;
private String techStack;
private String novelty;
private String claims;
private String completeness;
private Boolean disclosed;
private String accessLevel;
public PgIdeaRequest() {
super();
}
}
PgIdeaResponse.java 0000664 0000000 0000000 00000002745 13455576415 0036634 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.Date;
import com.altimetrik.playground.innovation.constants.IdeaStatusEnum;
import com.altimetrik.playground.innovation.constants.IdeaTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaResponse extends ResponseModel {
private static final long serialVersionUID = -4426625885342889037L;
private String businessRelevance;
private String description;
private String ideaCategoryId;
private IdeaTypeEnum ideaType;
private Boolean competenceCenter;
private IdeaStatusEnum ideaStatus;
private Boolean published;
private Boolean locked;
private String businessDomain;
private String technologyDomain;
private String novelty;
private String claims;
private String completeness;
private String techStack;
private String title;
private Date createdOn;
private String createdById;
private String ideaId;
private String l0ReviewerId;
private Boolean disclosed;
private String accessLevel;
}
PgIdeaReviewer.java 0000664 0000000 0000000 00000002237 13455576415 0036622 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import com.altimetrik.playground.innovation.constants.RoleTypeEnum;
import com.altimetrik.playground.innovation.constants.TeamMemberRequestModeEnum;
import com.altimetrik.playground.innovation.constants.TeamMemberRequestStatusEnum;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class PgIdeaReviewer {
private Long teamMemberId;
private RoleTypeEnum roleType;
private TeamMemberRequestModeEnum teamMemberRequestMode = TeamMemberRequestModeEnum.STANDARD;
private TeamMemberRequestStatusEnum teamMemberRequestStatus;
private String approvedBy;
private String teamMemberName;
private String emailId;
public PgIdeaReviewer() {
super();
}
}
PgIdeaSearchRequest.java 0000664 0000000 0000000 00000002001 13455576415 0037575 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaSearchRequest extends BaseRequestBean {
private String search;
private Boolean mine;
private Integer offset;
private Integer limit;
private String[] ids;
public PgIdeaSearchRequest() {
super();
}
public PgIdeaSearchRequest(String search, boolean mine, int offset, int limit) {
super();
this.search = search;
this.mine = mine;
this.offset = offset;
this.limit = limit;
}
}
PgIdeaSearchResponse.java 0000664 0000000 0000000 00000001521 13455576415 0037751 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaSearchResponse extends ResponseModel {
private static final long serialVersionUID = 2980698181408879679L;
private List result;
public PgIdeaSearchResponse() {
super();
}
}
PgIdeaStatusChangeRequest.java 0000664 0000000 0000000 00000001565 13455576415 0040777 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import com.altimetrik.playground.innovation.constants.IdeaStatusEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaStatusChangeRequest extends BaseRequestBean {
private String message;
private IdeaStatusEnum level;
private boolean approved;
public PgIdeaStatusChangeRequest() {
super();
}
}
PgIdeaTeamInviteRequest.java 0000664 0000000 0000000 00000002152 13455576415 0040444 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import javax.validation.constraints.NotBlank;
import com.altimetrik.playground.innovation.constants.TeamMemberRequestModeEnum;
import com.altimetrik.playground.innovation.constants.TeamMemberRequestStatusEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaTeamInviteRequest extends BaseRequestBean {
private String id;
@NotBlank
private String role;
private TeamMemberRequestModeEnum type;
private TeamMemberRequestStatusEnum teamMemberRequestStatus;
@NotBlank
private String userId;
public PgIdeaTeamInviteRequest() {
super();
}
}
PgIdeaTeamListResponse.java 0000664 0000000 0000000 00000001530 13455576415 0040266 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaTeamListResponse extends ResponseModel {
private static final long serialVersionUID = 6278872172251374523L;
private List result;
public PgIdeaTeamListResponse() {
super();
}
}
PgIdeaTeamResponse.java 0000664 0000000 0000000 00000002425 13455576415 0037436 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.util.Date;
import com.altimetrik.playground.innovation.constants.RoleTypeEnum;
import com.altimetrik.playground.innovation.constants.TeamMemberRequestModeEnum;
import com.altimetrik.playground.innovation.constants.TeamMemberRequestStatusEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgIdeaTeamResponse extends BaseResponse {
private static final long serialVersionUID = -8642234932548387988L;
private String id;
private RoleTypeEnum role;
private TeamMemberRequestModeEnum mode;
private TeamMemberRequestStatusEnum teamMemberRequestStatus;
private String userId;
private String createdBy;
private Date createdDate;
private String lastModifiedBy;
public PgIdeaTeamResponse() {
super();
}
}
PgMentorResponse.java 0000664 0000000 0000000 00000002063 13455576415 0037227 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgMentorResponse implements Serializable {
private static final long serialVersionUID = -7228617477712740719L;
private Long mentorId;
private String mentorName;
private Long categoryId;
public PgMentorResponse() {
super();
}
public PgMentorResponse(Long mentorId, String mentorName, Long categoryId) {
super();
this.mentorId = mentorId;
this.mentorName = mentorName;
this.categoryId = categoryId;
}
}
PgReviewer.java 0000664 0000000 0000000 00000002252 13455576415 0036034 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.io.Serializable;
import com.altimetrik.playground.innovation.constants.ReviewLevelEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class PgReviewer implements Serializable {
private static final long serialVersionUID = 7282130044652525032L;
private String id;
private String reviewerId;
private String reviewerName;
private ReviewLevelEnum reviewLevel;
public PgReviewer(String reviewerId, String reviewerName, ReviewLevelEnum reviewLevel) {
super();
this.reviewerId = reviewerId;
this.reviewerName = reviewerName;
this.reviewLevel = reviewLevel;
}
public PgReviewer() {
super();
}
}
PgUser.java 0000664 0000000 0000000 00000001275 13455576415 0035166 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import lombok.Getter;
import lombok.Setter;
@Setter
@Getter
public class PgUser {
private Long userId;
private String name;
private String emailId;
public PgUser() {
super();
}
}
Principal.java 0000664 0000000 0000000 00000006066 13455576415 0035705 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean package com.altimetrik.playground.innovation.bean;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
/**
* The Class Principal.
*
* @author Senthilkumar Duraisamy
*/
@JsonInclude(Include.NON_NULL)
public class Principal implements Serializable {
/** The Constant serialVersionUID. */
private static final long serialVersionUID = -1364484672867322008L;
/** The user id. */
private String userId;
/** The user name. */
private String userName;
/** The default realm. */
private String realm;
/** The default roles. */
private String roles;
/** The authenticated. */
private Boolean authenticated;
/** The first name. */
private String firstName;
/** The last name. */
private String lastName;
/** The user info mstr id. */
private String userInfoMstrId;
public String getUserInfoMstrId() {
return userInfoMstrId;
}
public void setUserInfoMstrId(String userInfoMstrId) {
this.userInfoMstrId = userInfoMstrId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
* Gets the user id.
*
* @return the user id
*/
public String getUserId() {
return userId;
}
/**
* Sets the user id.
*
* @param userId the new user id
*/
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
/**
* Gets the realm.
*
* @return the realm
*/
public String getRealm() {
return realm;
}
/**
* Sets the realm.
*
* @param realm the new realm
*/
public void setRealm(String realm) {
this.realm = realm;
}
/**
* Gets the roles.
*
* @return the roles
*/
public String getRoles() {
return roles;
}
/**
* Sets the roles.
*
* @param roles the new roles
*/
public void setRoles(String roles) {
this.roles = roles;
}
/**
* Gets the authenticated.
*
* @return the authenticated
*/
public Boolean getAuthenticated() {
return authenticated;
}
/**
* Sets the authenticated.
*
* @param authenticated the new authenticated
*/
public void setAuthenticated(Boolean authenticated) {
this.authenticated = authenticated;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Principal [userId=");
builder.append(userId);
builder.append(", userName=");
builder.append(userName);
builder.append(", realm=");
builder.append(realm);
builder.append(", roles=");
builder.append(roles);
builder.append(", authenticated=");
builder.append(authenticated);
builder.append(", firstName=");
builder.append(firstName);
builder.append(", lastName=");
builder.append(lastName);
builder.append(", userInfoMstrId=");
builder.append(userInfoMstrId);
builder.append("]");
return builder.toString();
}
}
ResponseModel.java 0000664 0000000 0000000 00000001524 13455576415 0036535 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.io.Serializable;
import lombok.Data;
@Data
public class ResponseModel implements Serializable {
private static final long serialVersionUID = -8769927865634815829L;
private StatusDetails status;
public ResponseModel() {
super();
}
public ResponseModel(StatusDetails status) {
super();
this.status = status;
}
}
StatusDetails.java 0000664 0000000 0000000 00000002314 13455576415 0036545 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.bean;
import java.io.Serializable;
import lombok.Data;
@Data
public class StatusDetails implements Serializable {
private static final long serialVersionUID = -2104867973562059147L;
/**
* Success Status code.
*/
public static final int SUCCESS = 1;
/**
* Failure Status code.
*/
public static final int FAILED = 0;
private Integer statusCode;
private String errorCode;
private String messageDescription;
public StatusDetails() {
super();
}
public StatusDetails(String errorCode, String messageDescription) {
super();
this.errorCode = errorCode;
this.messageDescription = messageDescription;
}
public StatusDetails(Integer statusCode) {
super();
this.statusCode = statusCode;
}
}
usermanagement/ 0000775 0000000 0000000 00000000000 13455576415 0036124 5 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean ErrorBean.java 0000664 0000000 0000000 00000001113 13455576415 0040642 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import lombok.Data;
/**
* @author sghosh
*
*/
@Data
public class ErrorBean {
private String code;
private String message;
private String errorCode;
private String errorMessage;
public ErrorBean() {
}
}
PgLocation.java 0000664 0000000 0000000 00000001362 13455576415 0041030 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import lombok.Data;
/**
* @author sghosh
*
*/
@Data
public class PgLocation {
private Long locationId;
private String status;
private String address;
private String city;
private String state;
private String zipCode;
private String country;
private String createdBy;
private String updatedBy;
private Date createdDt;
private Date updatedDt;
}
PgPrivilegeMstr.java 0000664 0000000 0000000 00000001265 13455576415 0042056 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import lombok.Data;
@Data
public class PgPrivilegeMstr {
private Long privilegeId = null;
private String accessType = null;
private String description = null;
private String createdBy = null;
private Date createdDt = null;
private String updatedBy = null;
private Date updatedDt = null;
}
PgRoleMstr.java 0000664 0000000 0000000 00000001236 13455576415 0041027 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import lombok.Data;
@Data
public class PgRoleMstr {
private Long roleId = null;
private String roleName = null;
private String status;
private String createdBy = null;
private Date createdDt = null;
private String updatedBy = null;
private Date updatedDt = null;
}
PgRolePrivilege.java 0000664 0000000 0000000 00000001321 13455576415 0042023 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import lombok.Data;
@Data
public class PgRolePrivilege {
private Long rolePrivilegeId = null;
private PgRoleMstr pgRoleMstr = null;
private PgPrivilegeMstr pgPrivilegeMstr = null;
private String createdBy = null;
private Date createdDt = null;
private String updatedBy = null;
private Date updatedDt = null;
}
PgRoleUser.java 0000664 0000000 0000000 00000001355 13455576415 0041022 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import lombok.Data;
/**
* @author sghosh
*
*/
@Data
public class PgRoleUser {
private Long roleUserId = null;
private PgRolePrivilege pgRolePrivilege = null;
private Long userInfoMstrId;
private String status;
private String createdBy = null;
private Date createdDt = null;
private String updatedBy = null;
private Date updatedDt = null;
}
PgUserInfoDtls.java 0000664 0000000 0000000 00000003160 13455576415 0041637 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import lombok.Data;
/**
* The Class PgUserInfoDtls.
*/
@Data
public class PgUserInfoDtls {
private Long userInfoDtlsId = null;
private PgUserInfoMstr pgUserInfoMstr = null;
private String adId = null;
private String fullName = null;
private String highestQualificationHeld = null;
private String currentJobTitle = null;
private String experienceInYrs = null;
private String currentEmployer = null;
private String skypeId = null;
private String emailId = null;
private String addressLine1 = null;
private String city = null;
private String zipCode = null;
private String country = null;
private String stateName = null;
private String additionalInfo = null;
private String createdBy = null;
private Date createdDt = null;
private String updatedBy = null;
private Date updatedDt = null;
private Long taId = null;
private String jobTitle;
private String contactNumber;
private String governmentId;
private String alternativeEmail;
private String alternativeContact;
private Long profileId;
private String profileName;
private String employeeNo;
private boolean firstTimeLogin;
private String otherSkills;
/**
* Instantiates a new pg user info dtls.
*/
public PgUserInfoDtls() {
}
}
PgUserInfoMstr.java 0000664 0000000 0000000 00000001747 13455576415 0041667 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import java.util.Date;
import java.util.Set;
import lombok.Data;
@Data
public class PgUserInfoMstr {
private Long userInfoMstrId;
private String firstName = null;
private String lastName = null;
private String fullName = null;
private String emailId = null;
private Set pgRoleUser = null;
private PgLocation pgLocation = null;
private String mobileNo = null;
private String createdBy = null;
private Date createdDt = null;
private String updatedBy = null;
private Date updatedDt = null;
private String socialUserType = null;
private String registrationType = null;
private String status = null;
}
UserResponseBean.java 0000664 0000000 0000000 00000001015 13455576415 0042207 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/bean/usermanagement /**
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
*/
package com.altimetrik.playground.innovation.bean.usermanagement;
import lombok.Data;
/**
* @author sghosh
*
*/
@Data
public class UserResponseBean {
private PgUserInfoDtls infoDetails;
private ErrorBean error;
}
gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/config/ 0000775 0000000 0000000 00000000000 13455576415 0033530 5 ustar 00root root 0000000 0000000 CorsConfig.java 0000664 0000000 0000000 00000001554 13455576415 0036355 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/config package com.altimetrik.playground.innovation.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* CORS configuration.
* @author Tushar Das
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*")
.allowedMethods(HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name(), HttpMethod.OPTIONS.name(), HttpMethod.PATCH.name())
.allowedHeaders(HttpHeaders.CONTENT_TYPE, HttpHeaders.AUTHORIZATION, HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN);
}
}
RabbitConfig.java 0000664 0000000 0000000 00000005562 13455576415 0036655 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/config /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.config;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.amqp.rabbit.annotation.RabbitListenerConfigurer;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.listener.RabbitListenerEndpointRegistrar;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.converter.MappingJackson2MessageConverter;
import org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory;
@Configuration
public class RabbitConfig implements RabbitListenerConfigurer {
public final static String QUEUE_NAME = "playground-innovation";
public final static String EXCHANGE_NAME = "playground.services-exchange";
public final static String ROUTING_KEY_NAME = "playground-innovation";
@Bean
Queue queue() {
return new Queue(QUEUE_NAME, true);
}
@Bean
TopicExchange exchange() {
return new TopicExchange(EXCHANGE_NAME);
}
@Bean
Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY_NAME);
}
@Bean
public RabbitTemplate rabbitTemplate(final ConnectionFactory connectionFactory) {
final RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setMessageConverter(producerJackson2MessageConverter());
return rabbitTemplate;
}
@Bean
public Jackson2JsonMessageConverter producerJackson2MessageConverter() {
return new Jackson2JsonMessageConverter();
}
@Bean
public MappingJackson2MessageConverter consumerJackson2MessageConverter() {
return new MappingJackson2MessageConverter();
}
@Bean
public DefaultMessageHandlerMethodFactory messageHandlerMethodFactory() {
DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
factory.setMessageConverter(consumerJackson2MessageConverter());
return factory;
}
@Override
public void configureRabbitListeners(final RabbitListenerEndpointRegistrar registrar) {
registrar.setMessageHandlerMethodFactory(messageHandlerMethodFactory());
}
}
SecurityConfig.java 0000664 0000000 0000000 00000002700 13455576415 0037250 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/config /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.config;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
/**
* This configuration helps in disabling the authentication provided by spring
* boot admin client. Removing this configuration would result in a login page
* for authorization.
*
* @author skondapalli
*/
// @Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter("redirectTo");
successHandler.setDefaultTargetUrl("/");
http.csrf().disable().authorizeRequests().antMatchers("/**").permitAll();
}
}
SwaggerConfig.java 0000664 0000000 0000000 00000004225 13455576415 0037044 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/config /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.config;
import static springfox.documentation.builders.PathSelectors.regex;
import java.util.Collections;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.altimetrik.playground.innovation.properties.ServiceProperties;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* URL's for api docs and swagger UI are as follows:
* http://localhost:8080/reportsvc//swagger-ui.html
* http://localhost:8080/reportsvc//v2/api-docs
*
* @author skondapalli
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Autowired
ServiceProperties serviceProperties;
@Bean
public Docket serviceEndpoint() {
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("com.altimetrik.playground.innovation.controller")).paths(regex("/.*"))
.build().enable(serviceProperties.isSwaggerEnabled()).apiInfo(metaData());
}
private ApiInfo metaData() {
return new ApiInfo("Playground Innovation Service", "Playground API Services for Innovation Service", "1.0", "https://www.altimetrik.com/privacy-policy/",
new Contact("Playground", "https://playground.altimetrik.com", "pg-mgr1@altimetrik.com"), "Apache License Version 2.0",
"https://www.apache.org/licenses/LICENSE-2.0", Collections.emptyList());
}
}
WebMvcConfig.java 0000664 0000000 0000000 00000002172 13455576415 0036627 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/config /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import com.altimetrik.playground.innovation.webmvc.RolesInterceptor;
//@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private RolesInterceptor rolesInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(rolesInterceptor).addPathPatterns("/v1/role/**");
}
}
gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants/ 0000775 0000000 0000000 00000000000 13455576415 0034277 5 ustar 00root root 0000000 0000000 ActionTypeEnum.java 0000664 0000000 0000000 00000001555 13455576415 0037775 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
/**
* Indicates different possible actions across the service.
*
* @author skondapalli.
*/
public enum ActionTypeEnum {
UPDATE_IDEA("UPDATE_IDEA"), UPDATE_IDEA_STATUS("UPDATE_IDEA_STATUS");
private final String message;
ActionTypeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
ArtifactModeEnum.java 0000664 0000000 0000000 00000001345 13455576415 0040255 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum ArtifactModeEnum {
IDEA("IDEA"), POC("POC");
private final String message;
ArtifactModeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
ArtifactTypeEnum.java 0000664 0000000 0000000 00000001331 13455576415 0040305 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum ArtifactTypeEnum {
LINK("LINK");
private final String message;
ArtifactTypeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
IdeaModeEnum.java 0000664 0000000 0000000 00000001353 13455576415 0037361 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum IdeaModeEnum {
TEAM("TEAM"), INDIVIDUAL("INDIVIDUAL");
private final String message;
IdeaModeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
IdeaStatusEnum.java 0000664 0000000 0000000 00000004225 13455576415 0037761 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
import java.util.HashSet;
import java.util.Set;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public enum IdeaStatusEnum {
NOT_SUBMITTED("NOT_SUBMITTED"), SUBMITTED("SUBMITTED"), DRAFT("DRAFT"), PUBLISH("PUBLISH"), L0_REVIEW("L0_REVIEW"), L1_REVIEW("L1_REVIEW"), L2_REVIEW("L2_REVIEW"), REWORK(
"REWORK"), APPROVED("APPROVED"), REJECTED("REJECTED");
private final String message;
IdeaStatusEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
public Set getAllowedIdeaStatusTransitions() {
final Set allowedIdeaStatusTransitions = new HashSet();
switch (this) {
case DRAFT:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.DRAFT);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.PUBLISH);
break;
case PUBLISH:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.PUBLISH);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.L0_REVIEW);
break;
case L0_REVIEW:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.L0_REVIEW);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.REWORK);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.REJECTED);
break;
case REWORK:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.REWORK);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.L0_REVIEW);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.L1_REVIEW);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.L2_REVIEW);
break;
case REJECTED:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.REJECTED);
break;
default:
log.info("Status transition not configured", this);
break;
}
return allowedIdeaStatusTransitions;
}
}
IdeaTypeEnum.java 0000664 0000000 0000000 00000001351 13455576415 0037414 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum IdeaTypeEnum {
PUBLIC("PUBLIC"), PRIVATE("PRIVATE");
private final String message;
IdeaTypeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
IdeaVisibilityEnum.java 0000664 0000000 0000000 00000001365 13455576415 0040627 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum IdeaVisibilityEnum {
PUBLIC("PUBLIC"), PRIVATE("PRIVATE");
private final String message;
IdeaVisibilityEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
ReviewLevelEnum.java 0000664 0000000 0000000 00000001431 13455576415 0040140 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum ReviewLevelEnum {
LEVEL_0("LEVEL_0"), LEVEL_1("LEVEL_1"), LEVEL_2("LEVEL_2"), LEVEL_3("LEVEL_3");
private final String message;
ReviewLevelEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
RoleTypeEnum.java 0000664 0000000 0000000 00000001674 13455576415 0037463 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
/**
* Indicates different types of roles.
*
* @author skondapalli.
*/
public enum RoleTypeEnum {
L0_REVIEWER("L0_REVIEWER"), L1_REVIEWER("L1_REVIEWER"), L2_REVIEWER("L2_REVIEWER"), INNOVATOR("INNOVATOR"), CO_INNOVATOR("CO_INNOVATOR"), MEMBER("MEMBER"), MENTOR("MENTOR");
private final String message;
RoleTypeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
Status.java 0000664 0000000 0000000 00000001373 13455576415 0036352 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum Status {
SUCCESS("SUCCESS"), FAILURE("FAILURE");
private String requestStatus;
Status(final String requestStatus) {
this.requestStatus = requestStatus;
}
public String getRequestStatus() {
return this.requestStatus;
}
}
TeamMemberRequestModeEnum.java 0000664 0000000 0000000 00000001423 13455576415 0042104 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum TeamMemberRequestModeEnum {
INVITE("INVITE"), JOIN("JOIN"), STANDARD("STANDARD");
private final String message;
TeamMemberRequestModeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
TeamMemberRequestStatusEnum.java 0000664 0000000 0000000 00000001441 13455576415 0042503 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
public enum TeamMemberRequestStatusEnum {
PENDING("PENDING"), ACCEPTED("ACCEPTED"), REJECTED("REJECTED");
private final String message;
TeamMemberRequestStatusEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
}
UserTypeEnum.java 0000664 0000000 0000000 00000002705 13455576415 0037474 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/constants /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.constants;
import java.util.HashSet;
import java.util.Set;
/**
* Indicates different possible user types available.
*
* @author skondapalli.
*/
public enum UserTypeEnum {
TEAM_MEMBER("TEAM_MEMBER"), REVIEWER("REVIEWER");
private final String message;
UserTypeEnum(final String argMessage) {
message = argMessage;
}
public final String getMessage() {
return message;
}
public Set getAllowedIdeaStatusTransitions() {
final Set allowedIdeaStatusTransitions = new HashSet();
switch (this) {
case REVIEWER:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.REWORK);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.PUBLISH);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.REJECTED);
break;
case TEAM_MEMBER:
allowedIdeaStatusTransitions.add(IdeaStatusEnum.DRAFT);
allowedIdeaStatusTransitions.add(IdeaStatusEnum.L0_REVIEW);
break;
}
return allowedIdeaStatusTransitions;
}
}
gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/controller/ 0000775 0000000 0000000 00000000000 13455576415 0034446 5 ustar 00root root 0000000 0000000 BaseController.java 0000664 0000000 0000000 00000014447 13455576415 0040162 0 ustar 00root root 0000000 0000000 gitlab-playground-innovation-feature/src/main/java/com/altimetrik/playground/innovation/controller /*******************************************************************************
* Copyright (C) Altimetrik 2018. All rights reserved.
*
* This software is the confidential and proprietary information
* of Altimetrik. You shall not disclose such Confidential Information
* and shall use it only in accordance with the terms and conditions
* entered into with Altimetrik.
******************************************************************************/
package com.altimetrik.playground.innovation.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
import com.altimetrik.playground.innovation.bean.BaseResponse;
import com.altimetrik.playground.innovation.bean.ResponseModel;
import com.altimetrik.playground.innovation.bean.StatusDetails;
import com.altimetrik.playground.innovation.exception.PgApplicationException;
public abstract class BaseController extends ResponseEntityExceptionHandler {
protected static final String PLATFORM_UNHANDLED_EXCEPTION_THROWN = "PG unhandled exception thrown.";
protected static final String PLATFORM_FATAL_EXCEPTION_THROWN = "PG fatal exception thrown.";
protected static final String PLATFORM_SYSTEM_EXCEPTION_THROWN = "PG system exception thrown.";
protected static final String PLATFORM_VALIDATION_ERROR = "Validation errors encountered";
protected static final String PLATFORM_APPLICATION_EXCEPTION_THROWN = "PG application exception thrown.";
private static final String MESSAGE_DESCRIPTION = "messageDescription";
private static final String ERROR_CODE = "errorCode";
@SuppressWarnings("unchecked")
public static T getNativeException(Throwable exp, Class requiredType) {
if (requiredType != null) {
if (requiredType.isInstance(exp)) {
return (T) exp;
}
else if (exp instanceof Exception) {
return getNativeException(exp.getCause(), requiredType);
}
}
return null;
}
@ExceptionHandler(PgApplicationException.class)
public ResponseEntity resolveApplicationException(HttpServletRequest request, HttpServletResponse response, Exception exception) {
PgApplicationException appException = (PgApplicationException) exception;
StatusDetails errorStatus = getErrorStatus(appException.getMessage(),
appException.getLocalizedMessage(appException.getMessage(), new Locale(""), appException.getArguments()));
BaseResponse errorResponse = new BaseResponse(errorStatus);
return new ResponseEntity<>(errorResponse, HttpStatus.OK);
}
@Override
@ResponseStatus(HttpStatus.BAD_REQUEST)
protected ResponseEntity