diff options
Diffstat (limited to 'cmso-service')
23 files changed, 299 insertions, 322 deletions
diff --git a/cmso-service/etc/config/cmso.properties b/cmso-service/etc/config/cmso.properties index 6f50e60..f103c57 100644 --- a/cmso-service/etc/config/cmso.properties +++ b/cmso-service/etc/config/cmso.properties @@ -32,18 +32,11 @@ ###
### MySQL DB.
-spring.datasource.url=jdbc:mariadb://localhost:3305/cmso
+spring.datasource.url=jdbc:mariadb://localhost:3306/cmso
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
-spring.datasource.username=cmso
-cmso.database.password=enc:bfodXf8qRfCqMvlxVBYNWQ==
-
-###
-###
-### H2 DB.
-#spring.datasource.url=jdbc:h2:file:./h2db;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=true;MODE=MYSQL
-#spring.datasource.driver-class-name=org.h2.Driver
-#spring.datasource.username=sa
-#spring.datasource.password=sa
+spring.datasource.username=root
+spring.datasource.password=beer
+cmso.database.password=beer
spring.datasource.initialize=false
spring.datasource.tomcat.max-wait=10000
@@ -51,23 +44,19 @@ spring.datasource.tomcat.initialSize=5 spring.datasource.tomcat.max-active=25
spring.datasource.tomcat.test-on-borrow=true
-spring.jpa.show-sql=false
+spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+spring.jpa.hibernate.id.new_generator_mappings=false
+hibernate.id.new_generator_mappings=false
logging.level.org.hibernate.SQL=TRACE
logging.level.org.hibernate=TRACE
#
-#@BP.name="Enable AAF authentication"
-#@BP.description="Log level for
-#@BP.type=enum(true,false)
-##BP.default=true
-#@BP.required=false
-#@BP.volatility=1
cmso.aaf.enabled=false
# Enable swagger - Enable in development and test only
diff --git a/cmso-service/pom.xml b/cmso-service/pom.xml index 5317b98..a36cb32 100644 --- a/cmso-service/pom.xml +++ b/cmso-service/pom.xml @@ -40,7 +40,6 @@ <artifactId>oparent</artifactId>
<version>1.2.0</version>
</parent>
-
<groupId>org.onap.optf.cmso</groupId>
<artifactId>cmso-service</artifactId>
<version>0.1.0-SNAPSHOT</version>
@@ -67,8 +66,7 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
-
- <h2database.version>1.4.197</h2database.version>
+ <mariadb.version>2.2.1</mariadb.version>
<swagger.directory>${basedir}/src/main/resources/swagger-ui/dist</swagger.directory>
<!-- Sonar -->
@@ -251,10 +249,11 @@ <!-- Database -->
<dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
+ <groupId>org.mariadb.jdbc</groupId>
+ <artifactId>mariadb-java-client</artifactId>
</dependency>
+
<!-- Pact -->
<dependency>
<groupId>au.com.dius</groupId>
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/Application.java b/cmso-service/src/main/java/org/onap/optf/cmso/Application.java index 7327124..f0580bd 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/Application.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/Application.java @@ -97,6 +97,7 @@ public class Application extends SpringBootServletInitializer { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
int port = Integer.parseInt(dispatchPort);
tomcat.addAdditionalTomcatConnectors(createStandardConnector(port));
+ org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter ss = null;
return tomcat;
}
diff --git a/cmso-service/src/test/java/org/onap/optf/cmso/service/H2Test.java b/cmso-service/src/main/java/org/onap/optf/cmso/ApplicationPropertiesFiles.java index 8a586a9..912a6e1 100644 --- a/cmso-service/src/test/java/org/onap/optf/cmso/service/H2Test.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/ApplicationPropertiesFiles.java @@ -1,47 +1,46 @@ -/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- * Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
- * you may not use this documentation except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://creativecommons.org/licenses/by/4.0/
- *
- * Unless required by applicable law or agreed to in writing, documentation
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.onap.optf.cmso.service;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = {"classpath:testConfig.xml"})
-public class H2Test {
-
- @Test
- public void h2Test() {
-
- }
-}
+/* + * Copyright © 2018 AT&T Intellectual Property. + * Modifications Copyright © 2018 IBM. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ +package org.onap.optf.cmso; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; +import org.springframework.context.annotation.PropertySources; + + +@Configuration +@PropertySources({ + @PropertySource("file:etc/config/cmso.properties"), + @PropertySource("file:etc/config/optimizer.properties"), + @PropertySource("file:etc/config/ticketmgt.properties"), +}) +public class ApplicationPropertiesFiles +{ +}
\ No newline at end of file diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/AuthProvider.java b/cmso-service/src/main/java/org/onap/optf/cmso/AuthProvider.java new file mode 100644 index 0000000..e002b7d --- /dev/null +++ b/cmso-service/src/main/java/org/onap/optf/cmso/AuthProvider.java @@ -0,0 +1,66 @@ +/* + * Copyright © 2018 AT&T Intellectual Property. + * Modifications Copyright © 2018 IBM. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ +package org.onap.optf.cmso; + +import java.util.ArrayList; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.stereotype.Component; + +@Component +public class AuthProvider + implements AuthenticationProvider { + + @Autowired + Environment env; + + @Override + public Authentication authenticate(Authentication authentication) + throws AuthenticationException { + org.springframework.security.web.authentication.www.BasicAuthenticationFilter f = null; + String name = authentication.getName(); + String password = authentication.getCredentials().toString(); + //TODO check credentials until we enable AAF + return new UsernamePasswordAuthenticationToken( + name, password, new ArrayList<>()); + } + + @Override + public boolean supports(Class<?> authentication) { + return authentication.equals( + UsernamePasswordAuthenticationToken.class); + } +} diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/CMSEnvironmentPostProcessor.java b/cmso-service/src/main/java/org/onap/optf/cmso/CMSEnvironmentPostProcessor.java index d1ccb7e..e5aca31 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/CMSEnvironmentPostProcessor.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/CMSEnvironmentPostProcessor.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -41,7 +41,8 @@ import org.springframework.core.env.MapPropertySource; import org.springframework.core.env.MutablePropertySources;
public class CMSEnvironmentPostProcessor implements EnvironmentPostProcessor {
-
+ // TODO tested in ONAP springboot and this is called before all of the properties files have been loaded...
+ // perhaps there is a post post processor? Until this works. DB password will be in the clear in the proeprties files.
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
String pwd = environment.getProperty("cmso.database.password");
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/SecurityConfig.java b/cmso-service/src/main/java/org/onap/optf/cmso/SecurityConfig.java new file mode 100644 index 0000000..a4802d2 --- /dev/null +++ b/cmso-service/src/main/java/org/onap/optf/cmso/SecurityConfig.java @@ -0,0 +1,61 @@ +/* + * Copyright © 2018 AT&T Intellectual Property. + * Modifications Copyright © 2018 IBM. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ +package org.onap.optf.cmso; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; + +@Configuration +@EnableWebSecurity +@ComponentScan("org.onap.optf") +public class SecurityConfig extends WebSecurityConfigurerAdapter { + + @Autowired + private AuthProvider authProvider; + + @Override + protected void configure(AuthenticationManagerBuilder auth) throws Exception { + + auth.authenticationProvider(authProvider); + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + + http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic(); + + } +}
\ No newline at end of file diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ApprovalType.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ApprovalType.java index d4ab593..121774b 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ApprovalType.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ApprovalType.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@ import java.io.Serializable; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@@ -50,11 +51,11 @@ public class ApprovalType implements Serializable { private static final long serialVersionUID = 1L;
@Id
- @GeneratedValue
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
@Column(name = "approval_count")
- private int approvalCount;
+ private Integer approvalCount;
@Column(name = "approval_type")
private String approvalType;
@@ -65,19 +66,19 @@ public class ApprovalType implements Serializable { public ApprovalType() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
- public int getApprovalCount() {
+ public Integer getApprovalCount() {
return this.approvalCount;
}
- public void setApprovalCount(int approvalCount) {
+ public void setApprovalCount(Integer approvalCount) {
this.approvalCount = approvalCount;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementChangeWindow.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementChangeWindow.java index ceece9a..7224508 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementChangeWindow.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementChangeWindow.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@ import java.io.Serializable; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@@ -58,8 +59,8 @@ public class ChangeManagementChangeWindow implements Serializable { @JsonIgnore
@Id
- @GeneratedValue
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
@JsonIgnore
@Column(name = "finish_time")
@@ -81,15 +82,15 @@ public class ChangeManagementChangeWindow implements Serializable { @JsonIgnore
@Column(name = "change_management_groups_id")
- private int changeManagementGroupsId;
+ private Integer changeManagementGroupsId;
public ChangeManagementChangeWindow() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
@@ -109,11 +110,11 @@ public class ChangeManagementChangeWindow implements Serializable { public void setStartTime(String startTime) {}
- public int getChangeManagementGroupsId() {
+ public Integer getChangeManagementGroupsId() {
return changeManagementGroupsId;
}
- public void setChangeManagementGroupsId(int changeManagementGroupsId) {
+ public void setChangeManagementGroupsId(Integer changeManagementGroupsId) {
this.changeManagementGroupsId = changeManagementGroupsId;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementDetail.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementDetail.java index 3b82c62..31c4a2b 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementDetail.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementDetail.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,6 +34,7 @@ package org.onap.optf.cmso.model; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Transient;
@@ -58,8 +59,8 @@ import io.swagger.annotations.ApiModelProperty; public class ChangeManagementDetail {
@Id
@JsonIgnore
- @GeneratedValue
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
@ApiModelProperty(value = "Name of the VNF.")
@Column(name = "vnf_name")
@@ -167,7 +168,7 @@ public class ChangeManagementDetail { private String msoTime;
@JsonIgnore
- private int schedules_id;
+ private Integer schedules_id;
public String getVnfName() {
return vnfName;
@@ -241,11 +242,11 @@ public class ChangeManagementDetail { this.policyId = policyId;
}
- public int getSchedulesId() {
+ public Integer getSchedulesId() {
return schedules_id;
}
- public void setSchedulesId(int schedules_id) {
+ public void setSchedulesId(Integer schedules_id) {
this.schedules_id = schedules_id;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementGroup.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementGroup.java index 0664851..6aeb325 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementGroup.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementGroup.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,6 +36,7 @@ import java.util.List; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
@@ -59,8 +60,8 @@ public class ChangeManagementGroup implements Serializable { @JsonIgnore
@Id
- @GeneratedValue
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
@JsonIgnore
@Column(name = "finish_time")
@@ -95,19 +96,19 @@ public class ChangeManagementGroup implements Serializable { @JsonIgnore
@Column(name = "schedules_id")
- private int schedulesId;
+ private Integer schedulesId;
@Column(name = "additional_duration_in_secs")
@ApiModelProperty(value = "Time added to the workflow interval to allow for rollback in case of failure.")
- private int additionalDurationInSecs;
+ private Integer additionalDurationInSecs;
@ApiModelProperty(value = "The maximum number of workflows that should be started simultaneiously.")
@Column(name = "concurrency_limit")
- private int concurrencyLimit;
+ private Integer concurrencyLimit;
@ApiModelProperty(value = "Expected duration of a successful workflow execution.")
@Column(name = "normal_duration_in_secs")
- private int normalDurationInSecs;
+ private Integer normalDurationInSecs;
@ApiModelProperty(
value = "The name of the schedule optimization policy used by the change management schedule optimizer.")
@@ -121,11 +122,11 @@ public class ChangeManagementGroup implements Serializable { public ChangeManagementGroup() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
@@ -161,35 +162,35 @@ public class ChangeManagementGroup implements Serializable { public void setStartTime(String startTime) {}
- public int getSchedulesId() {
+ public Integer getSchedulesId() {
return schedulesId;
}
- public void setSchedulesId(int schedulesId) {
+ public void setSchedulesId(Integer schedulesId) {
this.schedulesId = schedulesId;
}
- public int getAdditionalDurationInSecs() {
+ public Integer getAdditionalDurationInSecs() {
return additionalDurationInSecs;
}
- public void setAdditionalDurationInSecs(int additionalDurationInSecs) {
+ public void setAdditionalDurationInSecs(Integer additionalDurationInSecs) {
this.additionalDurationInSecs = additionalDurationInSecs;
}
- public int getConcurrencyLimit() {
+ public Integer getConcurrencyLimit() {
return concurrencyLimit;
}
- public void setConcurrencyLimit(int concurrencyLimit) {
+ public void setConcurrencyLimit(Integer concurrencyLimit) {
this.concurrencyLimit = concurrencyLimit;
}
- public int getNormalDurationInSecs() {
+ public Integer getNormalDurationInSecs() {
return normalDurationInSecs;
}
- public void setNormalDurationInSecs(int normalDurationInSecs) {
+ public void setNormalDurationInSecs(Integer normalDurationInSecs) {
this.normalDurationInSecs = normalDurationInSecs;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementSchedule.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementSchedule.java index 779e8ca..9690290 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementSchedule.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ChangeManagementSchedule.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@ import java.io.Serializable; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQuery;
@@ -60,7 +61,7 @@ public class ChangeManagementSchedule implements Serializable { @JsonIgnore
@Id
- @GeneratedValue
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@ApiModelProperty(value = "TM Change Id")
@@ -108,7 +109,7 @@ public class ChangeManagementSchedule implements Serializable { @Column(name = "change_management_groups_id")
@JsonIgnore
- private int changeManagementGroupsId;
+ private Integer changeManagementGroupsId;
@JsonIgnore
@Column(name = "dispatch_time")
@@ -161,11 +162,11 @@ public class ChangeManagementSchedule implements Serializable { public ChangeManagementSchedule() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
@@ -217,11 +218,11 @@ public class ChangeManagementSchedule implements Serializable { this.tmChangeId = tmChangeId;
}
- public int getChangeManagementGroupsId() {
+ public Integer getChangeManagementGroupsId() {
return changeManagementGroupsId;
}
- public void setChangeManagementGroupsId(int changeManagementGroupsId) {
+ public void setChangeManagementGroupsId(Integer changeManagementGroupsId) {
this.changeManagementGroupsId = changeManagementGroupsId;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/DomainData.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/DomainData.java index f32ff98..fc86964 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/DomainData.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/DomainData.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,6 +34,7 @@ package org.onap.optf.cmso.model; import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@@ -55,8 +56,8 @@ public class DomainData implements Serializable { @JsonIgnore
@Id
- @GeneratedValue
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
private String name;
@@ -69,11 +70,11 @@ public class DomainData implements Serializable { public DomainData() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/Schedule.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/Schedule.java index 3a13563..d6fe4f9 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/Schedule.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/Schedule.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -38,6 +38,7 @@ import javax.persistence.CascadeType; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQuery;
@@ -63,8 +64,8 @@ public class Schedule implements Serializable { @JsonIgnore
@Id
- @GeneratedValue
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
@JsonIgnore
@Column(name = "create_date_time")
@@ -93,7 +94,7 @@ public class Schedule implements Serializable { @JsonIgnore
@Column(name = "optimizer_attempts_to_schedule")
- private int optimizerAttemptsToSchedule;
+ private Integer optimizerAttemptsToSchedule;
@JsonIgnore
@Column(name = "optimizer_return_date_time")
@@ -159,11 +160,11 @@ public class Schedule implements Serializable { public Schedule() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
@@ -307,11 +308,11 @@ public class Schedule implements Serializable { return sa;
}
- public int getOptimizerAttemptsToSchedule() {
+ public Integer getOptimizerAttemptsToSchedule() {
return optimizerAttemptsToSchedule;
}
- public void setOptimizerAttemptsToSchedule(int optimizerAttemptsToSchedule) {
+ public void setOptimizerAttemptsToSchedule(Integer optimizerAttemptsToSchedule) {
this.optimizerAttemptsToSchedule = optimizerAttemptsToSchedule;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleApproval.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleApproval.java index adfafd1..dee3c42 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleApproval.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleApproval.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +35,7 @@ import java.io.Serializable; import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@@ -59,9 +60,9 @@ public class ScheduleApproval implements Serializable { private static final long serialVersionUID = 1L;
@Id
- @GeneratedValue
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
@JsonIgnore
- private int id;
+ private Integer id;
@JsonIgnore
@Column(name = "approval_date_time")
@@ -91,11 +92,11 @@ public class ScheduleApproval implements Serializable { public ScheduleApproval() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleEvent.java b/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleEvent.java index 97a96f0..46cb46e 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleEvent.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/model/ScheduleEvent.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -34,6 +34,8 @@ package org.onap.optf.cmso.model; import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQuery;
@@ -54,7 +56,8 @@ public class ScheduleEvent implements Serializable { private static final long serialVersionUID = 1L;
@Id
- private int id;
+ @GeneratedValue(strategy=GenerationType.IDENTITY)
+ private Integer id;
private String domain;
@@ -79,17 +82,17 @@ public class ScheduleEvent implements Serializable { private String reminderTime;
@Column(name = "schedules_id")
- private int schedulesId;
+ private Integer schedulesId;
private String status;
public ScheduleEvent() {}
- public int getId() {
+ public Integer getId() {
return this.id;
}
- public void setId(int id) {
+ public void setId(Integer id) {
this.id = id;
}
@@ -109,11 +112,11 @@ public class ScheduleEvent implements Serializable { this.eventText = eventText;
}
- public int getSchedulesId() {
+ public Integer getSchedulesId() {
return this.schedulesId;
}
- public void setSchedulesId(int schedulesId) {
+ public void setSchedulesId(Integer schedulesId) {
this.schedulesId = schedulesId;
}
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/BaseSchedulerServiceImpl.java b/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/BaseSchedulerServiceImpl.java index 8dbafbc..2e0cfeb 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/BaseSchedulerServiceImpl.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/BaseSchedulerServiceImpl.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -91,6 +91,7 @@ public class BaseSchedulerServiceImpl { // are 1<=>1 at this
// point.
s.setScheduleName(scheduleMessage.getScheduleName());
+ s.setOptimizerAttemptsToSchedule(0);
s.setScheduleInfo(scheduleMessage.getSchedulingInfo().toString());
s.setStatus(CMSStatusEnum.PendingSchedule.toString());
scheduleDAO.save(s);
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/HealthCheckImpl.java b/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/HealthCheckImpl.java index f994dc8..a3a4ae8 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/HealthCheckImpl.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/HealthCheckImpl.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -80,8 +80,8 @@ public class HealthCheckImpl implements HealthCheck { if (checkInterfaces) {
addToHealthCheckMessage(hc, tmClient.healthCheck());
- addToHealthCheckMessage(hc, sniroClient.healthCheck());
addToHealthCheckMessage(hc, msoStatusClient.healthCheck());
+ addToHealthCheckMessage(hc, sniroClient.healthCheck());
}
addToHealthCheckMessage(hc, this.healthCheck());
diff --git a/cmso-service/src/main/java/org/onap/optf/cmso/sostatus/MsoStatusClient.java b/cmso-service/src/main/java/org/onap/optf/cmso/sostatus/MsoStatusClient.java index 42f282a..8cbe459 100644 --- a/cmso-service/src/main/java/org/onap/optf/cmso/sostatus/MsoStatusClient.java +++ b/cmso-service/src/main/java/org/onap/optf/cmso/sostatus/MsoStatusClient.java @@ -1,6 +1,6 @@ /*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ * Modifications Copyright © 2018 IBM.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -247,8 +247,8 @@ public class MsoStatusClient { public HealthCheckComponent healthCheck() {
Map<String, String> mdcSave = Mdc.save();
String requestId = "healthCheck";
- String url = env.getProperty("so.url");
- String user = env.getProperty("so.user");
+ String url = env.getProperty("so.url", "");
+ String user = env.getProperty("so.user", "");
String pass = pm.getProperty("so.pass", "");
if (!url.endsWith("/"))
url = url + "/";
diff --git a/cmso-service/src/main/resources/META-INF/spring.factories b/cmso-service/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..5047be8 --- /dev/null +++ b/cmso-service/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.boot.env.EnvironmentPostProcessor=org.onap.optf.cmso.CMSEnvironmentPostProcessor
\ No newline at end of file diff --git a/cmso-service/src/main/resources/application.properties b/cmso-service/src/main/resources/application.properties index b6239c9..25c5b10 100644 --- a/cmso-service/src/main/resources/application.properties +++ b/cmso-service/src/main/resources/application.properties @@ -36,7 +36,7 @@ info.build.version=@project.version@ spring.jersey.type=filter
spring.mvc.urls=swagger,docs,prometheus
-server.contextPath=/cmso
+server.servlet.context-path=/cmso
#This property is used to set the Tomcat connector attributes.developers can define multiple attributes separated by comma
#tomcat.connector.attributes=allowTrace-true
@@ -53,3 +53,9 @@ server.port=8080 server.dispatchPort=8089
kubernetes.namespace=org.onap.optf.cmso
+
+
+com.att.eelf.logging.file=logback.xml
+com.att.eelf.logging.path=
+
+logging.config=
diff --git a/cmso-service/src/main/resources/swagger-ui/dist/swagger.json b/cmso-service/src/main/resources/swagger-ui/dist/swagger.json index b8f5def..635d6a9 100644 --- a/cmso-service/src/main/resources/swagger-ui/dist/swagger.json +++ b/cmso-service/src/main/resources/swagger-ui/dist/swagger.json @@ -2,7 +2,7 @@ "swagger" : "2.0", "info" : { "version" : "0.1.0-SNAPSHOT", - "title" : "cmso" + "title" : "cmso-service" }, "basePath" : "/cmso", "paths" : { diff --git a/cmso-service/src/test/java/org/onap/optf/cmso/service/rs/CMSOServiceImplTest.java b/cmso-service/src/test/java/org/onap/optf/cmso/service/rs/CMSOServiceImplTest.java deleted file mode 100644 index b989a73..0000000 --- a/cmso-service/src/test/java/org/onap/optf/cmso/service/rs/CMSOServiceImplTest.java +++ /dev/null @@ -1,158 +0,0 @@ -/*
- * Copyright © 2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- * Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
- * you may not use this documentation except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://creativecommons.org/licenses/by/4.0/
- *
- * Unless required by applicable law or agreed to in writing, documentation
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
-*/
-
-package org.onap.optf.cmso.service.rs;
-
-import static org.junit.Assert.assertEquals;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-import javax.ws.rs.core.Response;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.onap.optf.cmso.JpaInit;
-import org.onap.optf.cmso.JtestHelper;
-import org.onap.optf.cmso.common.CMSRequestError;
-import org.onap.optf.cmso.service.rs.models.CMSMessage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
-import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
-import org.springframework.test.context.junit4.SpringRunner;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import scala.collection.mutable.StringBuilder;
-
-@RunWith(SpringRunner.class)
-@DataJpaTest
-public class CMSOServiceImplTest {
-
- @Autowired
- CMSOService cMSOServiceImpl;
-
- @Autowired
- private TestEntityManager entityManager;
-
- @Before
- public void setUp() throws Exception {
- JpaInit.init(entityManager);
- }
-
- @Test
- public void test_createScheduleRequest() {
- String[] templates = {"changemanagement/MultipleVnfImmediate.json.template",};
- String[] domains = {"ChangeManagement",};
- String[] userIds = {"jf9860",};
- String[] callbackUrls = {"http://localhost:8089/",};
- String[] callbackDatum = {"sdafafadfdasfdsafdsa",};
- String[] workflows = {"Replace", "Update", "NewOne",};
- Integer[] normalDurationInSeeconds = {10,};
- Integer[] additionalDurationInSeeconds = {10,};
- String[] results = {"500:", // {additionalDurationInSeconds=10, workflow=Replace,
- // domain=ChangeManagement,
- // callbackData=sdafafadfdasfdsafdsa, testid=79e1,
- // callbackUrl=http://localhost:8089/,
- // uuid=a36b45b9-dff4-45b4-ac6b-2a4f35e179e1, userId=jf9860,
- // normalDurationInSeconds=10}
- "500:", // {additionalDurationInSeconds=10, workflow=Update,
- // domain=ChangeManagement,
- // callbackData=sdafafadfdasfdsafdsa, testid=c525,
- // callbackUrl=http://localhost:8089/,
- // uuid=26b189f7-b075-4013-b487-d938b895c525, userId=jf9860,
- // normalDurationInSeconds=10}
- "500:", // {additionalDurationInSeconds=10, workflow=NewOne,
- // domain=ChangeManagement,
- // callbackData=sdafafadfdasfdsafdsa, testid=8e87,
- // callbackUrl=http://localhost:8089/,
- // uuid=4f59b14a-8040-4257-8981-defcb8f38e87, userId=jf9860,
- // normalDurationInSeconds=10}
- };
-
- int i = 0;
- for (String template : templates) {
- for (String domain : domains) {
- for (String userId : userIds) {
- for (String callbackUrl : callbackUrls) {
- for (String callbackData : callbackDatum) {
- for (String workflow : workflows) {
- for (Integer normalDuration : normalDurationInSeeconds) {
- for (Integer additionalDuration : additionalDurationInSeeconds) {
- Map<String, String> values = new HashMap<String, String>();
- String scheduleId = UUID.randomUUID().toString();
- values.put("uuid", scheduleId);
- values.put("testid", scheduleId.substring(scheduleId.length() - 4));
- values.put("domain", domain);
- values.put("userId", userId);
- values.put("callbackUrl", callbackUrl);
- values.put("callbackData", callbackData);
- values.put("workflow", workflow);
- values.put("normalDurationInSeconds", normalDuration.toString());
- values.put("additionalDurationInSeconds", additionalDuration.toString());
- String json = JtestHelper.template(template, values);
- ObjectMapper om = new ObjectMapper();
- CMSMessage scheduleMessage;
- try {
- scheduleMessage = om.readValue(json, CMSMessage.class);
- MockHttpServletRequest mrequest = new MockHttpServletRequest();
- mrequest.url.append(scheduleId);
-
- Response response = cMSOServiceImpl.createScheduleRequest("v2", scheduleId,
- scheduleMessage, mrequest.request);
-
- Object result = response.getEntity();
- StringBuilder sb = new StringBuilder();
- sb.append(response.getStatus()).append(":");
- if (result instanceof CMSRequestError) {
- String r = result.toString().replaceAll(" : Reason :.*$", "");
- sb.append(r.replaceAll(scheduleId, "<uuid>"));
- }
- // Generate results[] entry
- System.out.println("\"" + sb.toString() + "\", //" + values.toString());
-
- // Debug an assertion
- System.out.println(results[i] + ":" + sb.toString());
- assertEquals(results[i].equals(sb.toString()), true);
- i++;
-
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- }
- }
-
- }
- }
- }
- }
- }
- }
-}
|