/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
+ * ============LICENSE_START=======================================================================================\r
+ * Copyright (c) 2019 AT&T Intellectual Property.\r
+ * ===================================================================\r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance\r
+ * with the License. You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed\r
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS\r
+ * OF ANY KIND, either express or implied. See the License for the specific language governing permissions and\r
* limitations under the License.\r
- * \r
- * \r
- * Unless otherwise specified, all documentation contained herein is licensed\r
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
- * you may not use this documentation except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * https://creativecommons.org/licenses/by/4.0/\r
- * \r
- * Unless required by applicable law or agreed to in writing, documentation\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
-*/\r
+ * ============LICENSE_END=========================================================================================\r
+ *\r
+ */\r
\r
package org.onap.optf.cmso.liquibase;\r
\r
import javax.sql.DataSource;\r
+import liquibase.integration.spring.SpringLiquibase;\r
import org.springframework.beans.factory.annotation.Value;\r
import org.springframework.boot.context.properties.ConfigurationProperties;\r
import org.springframework.boot.jdbc.DataSourceBuilder;\r
import org.springframework.context.annotation.Bean;\r
import org.springframework.context.annotation.Configuration;\r
import org.springframework.stereotype.Component;\r
-import liquibase.integration.spring.SpringLiquibase;\r
\r
/*\r
* Make sure following exceptions before build:\r
@Value("${changeLogFile}")\r
private String changeLogFile;\r
\r
+ /**\r
+ * Liquibase.\r
+ *\r
+ * @return the spring liquibase\r
+ */\r
@Bean\r
public SpringLiquibase liquibase() {\r
SpringLiquibase liquibase = new SpringLiquibase();\r
#!/bin/sh
AUTHENTICATION=${AUTHENTICATION:-proprietary-auth}
-JAVA_TRUSTSTORE=${JAVA_TRUSTSTORE:-etc/config/truststoreONAPall.jks}
VM_ARGS="${VM_ARGS} -Dserver.local.startpath=${RESOURCES_HOME}"
-VM_ARGS="${VM_ARGS} -Djavax.net.ssl.trustStore==${JAVA_TRUSTSTORE}"
+if [ "${JAVA_TRUSTSTORE}" != '']
+then
+ VM_ARGS="${VM_ARGS} -Djavax.net.ssl.trustStore=${JAVA_TRUSTSTORE}"
+fi
+
+if [ "${JAVA_TRUSTSTORE_PASSWORD}" != '']
+then
+ VM_ARGS="${VM_ARGS} -Djavax.net.ssl.trustStorePassword=${JAVA_TRUSTSTORE_PASSWORD}"
+fi
+
+if [ "${SSL_KEYSTORE}" != '' ]
+then
+ VM_ARGS="${VM_ARGS} -Dserver.ssl.key-store=${SSL_KEYSTORE}"
+fi
+
+if [ "${SSL_KEYSTORE_PASSWORD}" != '' ]
+then
+ VM_ARGS="${VM_ARGS} -Dserver.ssl.key-password=${SSL_KEYSTORE_PASSWORD}"
+fi
echo "VM_ARGS="${VM_ARGS}
}
/** The Constant supportedMajorVersions. */
- public static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();
+ private static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();
static {
supportedMajorVersions.put("v1", "0");
}
/** The Constant supportedMajorMinorVersions. */
- public static final Set<String> supportedMajorMinorVersions = new HashSet<String>();
+ private static final Set<String> supportedMajorMinorVersions = new HashSet<String>();
static {
supportedMajorMinorVersions.add("v1.0");
}
/** The Constant latestVersion. */
- public static final String latestVersion = "2.0.0";
+ private static final String latestVersion = "2.0.0";
/** The Constant patchVersion. */
- public static final String patchVersion = "0";
+ private static final String patchVersion = "0";
/**
* From string.
}
return true;
}
+
+ public static Map<String, String> getSupportedmajorversions() {
+ return supportedMajorVersions;
+ }
+
+ public static Set<String> getSupportedmajorminorversions() {
+ return supportedMajorMinorVersions;
+ }
+
+ public static String getLatestversion() {
+ return latestVersion;
+ }
+
+ public static String getPatchversion() {
+ return patchVersion;
+ }
}
apiResponse.setErrorMessage(LogMessages.UNEXPECTED_EXCEPTION.format(e.getMessage()));
Observation.report(LogMessages.UNEXPECTED_RESPONSE, e, e.getMessage());
} finally {
- if (process.isAlive()) {
+ if (process != null && process.isAlive()) {
process.destroyForcibly();
}
if (workingFolder.exists()) {
*/
public OptimizerEngineResponse createOptimizerRequest(Request requestRow) {
//
- if (okToDispatch()) {
+ if (okToDispatch(false)) {
Optimizer optimizer = getExistingOptmizer(requestRow.getUuid());
if (optimizer == null) {
optimizer = new Optimizer();
- private boolean okToDispatch() {
- // TODO Auto-generated method stub
-
- // Will probably change to @Async on makeRequest to queue requests in a different thread.
- return true;
+ private boolean okToDispatch(boolean checkDispatchability) {
+ if (checkDispatchability) {
+ // not yet implemented
+ return false;
+ }
+ else {
+ return true;
+ }
}
import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
-import com.att.eelf.i18n.EELFResourceManager;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
topologyResponse.setStatus(TopologyRequestStatus.FAILED);
topologyResponse.setErrorMessage(LogMessages.UNEXPECTED_EXCEPTION.format(e.getMessage()));
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
+ return topologyResponse;
}
topologyRequest = new TopologyRequest();
topologyRequest.setRequestId(optimizerRequest.getRequestId());
MultivaluedMap<String, Object> respHeaders = responseContext.getHeaders();
String minorVersion = reqHeaders.getFirst(HeadersEnum.MinorVersion.toString());
respHeaders.add(HeadersEnum.MinorVersion.toString(), minorVersion);
- respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.latestVersion);
- respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.patchVersion);
+ respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.getLatestversion());
+ respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.getPatchversion());
} catch (Exception e) {
if (e instanceof WebApplicationException) {
}
String minorVersion = headers.getFirst(HeadersEnum.MinorVersion.toString());
if (minorVersion == null) {
- minorVersion = MessageHeaders.supportedMajorVersions.get(majorVersion);
+ minorVersion = MessageHeaders.getSupportedmajorversions().get(majorVersion);
headers.add(HeadersEnum.MinorVersion.toString(), minorVersion);
}
if (!MessageHeaders.validateMajorMinorVersion(majorVersion, minorVersion)) {
return true;
}
// end is before start or start is before end, cannot overlap
- if (endstart == -1 || startend == 1) {
+ if (endstart < 0 || startend > 0) {
return false;
}
return true;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
@Test
public void getPolicyByName() {
- String policyName = "Weekday_00_06";
String result = "CMSO.Weekday_00_06,CMSO.Weekday_00_06,CMSO.Weekday_00_06,CMSO.Weekday_00_06,";
List<Policy> policies = policyManager.getSupportedPolicies();
}
System.out.println(" String result = \"" + sb.toString() + "\";");
Assert.assertTrue(result.equals(sb.toString()));
+ String policyName = "Weekday_00_06";
Policy policy = policyManager.getPolicyForName(policyName);
Assert.assertTrue(policy != null);
TimeLimitAndVerticalTopology top = policyManager.getTimeLimitAndVerticalTopologyByName(policyName);
* Copyright (c) 2019 AT&T Intellectual Property.
* =======================================================================
* 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
+ * 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
+ *
+ * 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.
* ============LICENSE_END=================================================
- *
+ *
*/
package org.onap.optf.cmso.service.rs;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+
import javax.servlet.http.HttpServletRequest;
public class MockHttpServletRequest {
spring.datasource.tomcat.max-active=25\r
spring.datasource.tomcat.test-on-borrow=true\r
\r
-spring.jpa.show-sql=true\r
+spring.jpa.show-sql=false\r
spring.jpa.hibernate.ddl-auto=none\r
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy\r
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect\r
import org.springframework.core.env.MapPropertySource;\r
import org.springframework.core.env.MutablePropertySources;\r
\r
-public class CMSEnvironmentPostProcessor implements EnvironmentPostProcessor {\r
+public class CmsoEnvironmentPostProcessor implements EnvironmentPostProcessor {\r
// TODO tested in ONAP springboot and this is called before all of the properties files have been\r
// loaded...\r
// perhaps there is a post post processor? Until this works. DB password will be in the clear in the\r
@Configuration\r
@ComponentScan({"org.onap.optf.cmso"})\r
@EnableTransactionManagement\r
-public class CMSQuartzConfiguration {\r
+public class CmsoQuartzConfiguration {\r
\r
@Autowired\r
Environment env;\r
import org.onap.observations.Observation;
import org.onap.optf.cmso.SpringProfiles;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter;
import org.springframework.context.annotation.Profile;
filterChain.doFilter(request, response);
} else {
Observation.report(LogMessages.UNAUTHORIZED);
- ResponseFormatter.errorResponse(request, response, new CMSException(
+ ResponseFormatter.errorResponse(request, response, new CmsoException(
LogMessages.UNAUTHORIZED.getStatus(), LogMessages.UNAUTHORIZED, ""));
}
} else {
} catch (Exception e) {
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
ResponseFormatter.errorResponse(request, response,
- new CMSException(LogMessages.UNAUTHORIZED.getStatus(), LogMessages.UNAUTHORIZED, ""));
+ new CmsoException(LogMessages.UNAUTHORIZED.getStatus(), LogMessages.UNAUTHORIZED, ""));
}
}
}
import org.onap.optf.cmso.Application;
import org.onap.optf.cmso.SpringProfiles;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
import org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
if (response.getStatus() == 401) {
Observation.report(LogMessages.UNAUTHENTICATED);
ResponseFormatter.errorResponse(request, response,
- new CMSException(LogMessages.UNAUTHENTICATED.getStatus(), LogMessages.UNAUTHENTICATED, ""));
+ new CmsoException(LogMessages.UNAUTHENTICATED.getStatus(),
+ LogMessages.UNAUTHENTICATED, ""));
}
}
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
class ResponseFormatter {
- static void errorResponse(HttpServletRequest request, HttpServletResponse response, CMSException error)
+ static void errorResponse(HttpServletRequest request, HttpServletResponse response, CmsoException error)
throws IOException {
response.setStatus(error.getStatus().getStatusCode());
response.getWriter().write(error.getRequestError().toString());
import java.util.ArrayList;\r
import java.util.List;\r
\r
-public class CMSRequestError implements Serializable {\r
+public class CmsoRequestError implements Serializable {\r
private static final long serialVersionUID = 1L;\r
- private static EELFLogger log = EELFManager.getInstance().getLogger(CMSRequestError.class);\r
+ private static EELFLogger log = EELFManager.getInstance().getLogger(CmsoRequestError.class);\r
@JsonProperty\r
RequestError requestError;\r
\r
- public CMSRequestError(String messageId, String text, List<String> variables) {\r
+ public CmsoRequestError(String messageId, String text, List<String> variables) {\r
requestError = new RequestError(messageId, text, variables);\r
}\r
\r
- public CMSRequestError(String messageId, String text) {\r
+ public CmsoRequestError(String messageId, String text) {\r
requestError = new RequestError(messageId, text, new ArrayList<String>());\r
}\r
\r
/**\r
* The Enum CMSStatusEnum.\r
*/\r
-public enum CMSStatusEnum {\r
+public enum CmsoStatusEnum {\r
PendingSchedule("Pending Schedule",\r
"Schedule request as been accepted. Pending determination of recommended schedule."),\r
SchedulingFailed("Scheduling Failed", "Failed to determine recommended schedule."),\r
private final String text;\r
private final String description;\r
\r
- private CMSStatusEnum(String text, String description) {\r
+ private CmsoStatusEnum(String text, String description) {\r
this.text = text;\r
this.description = description;\r
}\r
* @param text the text\r
* @return the CMS status enum\r
*/\r
- public CMSStatusEnum fromString(String text) {\r
- for (CMSStatusEnum e : CMSStatusEnum.values()) {\r
+ public CmsoStatusEnum fromString(String text) {\r
+ for (CmsoStatusEnum e : CmsoStatusEnum.values()) {\r
if (e.text.equals(text)) {\r
return e;\r
}\r
public static void main(String[] argv) {\r
StringBuilder sb = new StringBuilder();\r
sb.append("<html><body><table border=\"1\">\n");\r
- for (CMSStatusEnum v : CMSStatusEnum.values()) {\r
+ for (CmsoStatusEnum v : CmsoStatusEnum.values()) {\r
sb.append("<tr><td>").append(v.text).append("</td><td>").append(v.description)\r
.append("</td></tr>\n");\r
}\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
import javax.ws.rs.core.Response.Status;\r
import org.onap.optf.cmso.common.LogMessages;\r
\r
-public class CMSAlreadyExistsException extends CMSException {\r
+public class CmsoAlreadyExistsException extends CmsoException {\r
private static final long serialVersionUID = 1L;\r
\r
- public CMSAlreadyExistsException(String... args) {\r
+ public CmsoAlreadyExistsException(String... args) {\r
super(Status.CONFLICT, LogMessages.SCHEDULE_ALREADY_EXISTS, args);\r
}\r
}\r
import java.util.ArrayList;\r
import java.util.List;\r
import javax.ws.rs.core.Response.Status;\r
-import org.onap.optf.cmso.common.CMSRequestError;\r
+import org.onap.optf.cmso.common.CmsoRequestError;\r
import org.onap.optf.cmso.common.LogMessages;\r
\r
-public class CMSException extends Exception {\r
+public class CmsoException extends Exception {\r
private static final long serialVersionUID = 1L;\r
\r
- protected CMSRequestError requestError = null;\r
+ protected CmsoRequestError requestError = null;\r
private List<String> variables = new ArrayList<String>();\r
protected LogMessages messageCode;\r
protected Status status;\r
* @param messageCode the message code\r
* @param args the args\r
*/\r
- public CMSException(Status status, LogMessages messageCode, String... args) {\r
+ public CmsoException(Status status, LogMessages messageCode, String... args) {\r
super(EELFResourceManager.format(messageCode, args));\r
this.status = status;\r
this.messageCode = messageCode;\r
for (String arg : args) {\r
variables.add(arg);\r
}\r
- requestError = new CMSRequestError(messageCode.name(), getMessage(), variables);\r
+ requestError = new CmsoRequestError(messageCode.name(), getMessage(), variables);\r
}\r
\r
public Status getStatus() {\r
return variables.toArray(new String[variables.size()]);\r
}\r
\r
- public CMSRequestError getRequestError() {\r
+ public CmsoRequestError getRequestError() {\r
return requestError;\r
}\r
}\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
import javax.ws.rs.core.Response.Status;\r
import org.onap.optf.cmso.common.LogMessages;\r
\r
-public class CMSNotFoundException extends CMSException {\r
+public class CmsoNotFoundException extends CmsoException {\r
private static final long serialVersionUID = 1L;\r
\r
- public CMSNotFoundException(String... args) {\r
+ public CmsoNotFoundException(String... args) {\r
super(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND, args);\r
}\r
\r
import org.onap.optf.cmso.common.PropertiesManagement;\r
import org.onap.optf.cmso.eventq.DispatchedEventList;\r
import org.onap.optf.cmso.filters.CmsoClientFilters;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.onap.optf.cmso.ticketmgt.TmClient;\r
import org.quartz.DisallowConcurrentExecution;\r
import org.quartz.Job;\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- CMSOClient vidClient;\r
+ CmsoClient vidClient;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
- ChangeManagementGroupDAO cmGroupDao;\r
+ ChangeManagementGroupDao cmGroupDao;\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
@Autowired\r
TmClient tmClient;\r
import javax.ws.rs.core.MediaType;\r
import javax.ws.rs.core.Response;\r
import org.onap.optf.cmso.common.BasicAuthenticatorFilter;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.common.PropertiesManagement;\r
import org.onap.optf.cmso.filters.CmsoClientFilters;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
import org.onap.optf.cmso.model.Schedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.onap.optf.cmso.ticketmgt.TmClient;\r
import org.onap.optf.cmso.wf.bean.WfChangeManagementResponse;\r
import org.onap.optf.cmso.wf.bean.WfVidCmResponse;\r
import org.springframework.transaction.annotation.Transactional;\r
\r
@Component\r
-public class CMSOClient {\r
- private static EELFLogger log = EELFManager.getInstance().getLogger(CMSOClient.class);\r
+public class CmsoClient {\r
+ private static EELFLogger log = EELFManager.getInstance().getLogger(CmsoClient.class);\r
private static EELFLogger metrics = EELFManager.getInstance().getMetricsLogger();\r
private static EELFLogger errors = EELFManager.getInstance().getErrorLogger();\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
- ChangeManagementGroupDAO cmGroupDao;\r
+ ChangeManagementGroupDao cmGroupDao;\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
\r
@Autowired\r
default: {\r
errors.error(LogMessages.UNEXPECTED_RESPONSE.toString(), "VID", response.getStatus(),\r
response.toString());\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(response.toString());\r
updateScheduleStatus(cmSchedule, schedule);\r
return;\r
// No sense in retrying. These are time sensitive actions\r
catch (ResponseProcessingException e) {\r
errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(e.toString());\r
updateScheduleStatus(cmSchedule, schedule);\r
\r
} catch (ProcessingException e) {\r
errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(e.toString());\r
updateScheduleStatus(cmSchedule, schedule);\r
}\r
} catch (Exception e) {\r
errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(e.toString());\r
updateScheduleStatus(cmSchedule, schedule);\r
}\r
WfChangeManagementResponse resp = response.readEntity(WfChangeManagementResponse.class);\r
for (WfVidCmResponse cmResponse : resp.getCmResponses()) {\r
if (cmResponse.getVnfName().equals(cmSchedule.getVnfName())) {\r
- cmSchedule.setStatus(CMSStatusEnum.Triggered.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Triggered.toString());\r
cmSchedule.setDispatchTimeMillis(System.currentTimeMillis());\r
cmSchedule.setMsoRequestId(cmResponse.getOrchestratorRequestId());\r
// Push the state up to the schedule.\r
return;\r
}\r
}\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage("Response did not contain vnfName=" + cmSchedule.getVnfName());\r
updateScheduleStatus(cmSchedule, schedule);\r
}\r
if (rr != null) {\r
JsonNode requestId = rr.get("requestId");\r
if (requestId != null) {\r
- cmSchedule.setStatus(CMSStatusEnum.Triggered.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Triggered.toString());\r
cmSchedule.setDispatchTimeMillis(System.currentTimeMillis());\r
cmSchedule.setMsoRequestId(requestId.asText());\r
// Push the state up to the schedule.\r
}\r
}\r
}\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(node.toString());\r
updateScheduleStatus(cmSchedule, schedule);\r
}\r
import java.util.HashSet;\r
import java.util.Set;\r
import java.util.UUID;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.model.ChangeManagementGroup;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
import org.onap.optf.cmso.model.Schedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.onap.optf.cmso.ticketmgt.TmClient;\r
import org.onap.optf.cmso.ticketmgt.bean.TmApprovalStatusEnum;\r
import org.onap.optf.cmso.ticketmgt.bean.TmChangeInfo;\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- CMSOClient vidClient;\r
+ CmsoClient vidClient;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
- ChangeManagementGroupDAO cmGroupDao;\r
+ ChangeManagementGroupDao cmGroupDao;\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
@Autowired\r
TmClient tmClient;\r
if (group != null) {\r
Schedule schedule = scheduleDao.findById(group.getSchedulesUuid()).orElse(null);\r
if (schedule != null) {\r
- schedule.setStatus(CMSStatusEnum.NotificationsInitiated.toString());\r
+ schedule.setStatus(CmsoStatusEnum.NotificationsInitiated.toString());\r
if (safeToDispatch(cmSchedule, schedule)) {\r
vidClient.dispatch(cmSchedule, schedule);\r
}\r
// *******************************************************************\r
// Validate that the state is accurate.\r
// Another instance may have dispatched\r
- if (!cmSchedule.getStatus().equals(CMSStatusEnum.Scheduled.toString())\r
- && !cmSchedule.getStatus().equals(CMSStatusEnum.ScheduledImmediate.toString())) {\r
+ if (!cmSchedule.getStatus().equals(CmsoStatusEnum.Scheduled.toString())\r
+ && !cmSchedule.getStatus().equals(CmsoStatusEnum.ScheduledImmediate.toString())) {\r
log.info("Attempt to dispatch an event that is in the incorrect state scheduleId={0}, vnf={1}, status={2}",\r
schedule.getScheduleId(), cmSchedule.getVnfName(), cmSchedule.getStatus());\r
return false;\r
String message = "Attempt to schedule immediate when immmediate scheduling is disabled: "\r
+ cmSchedule.getVnfName();\r
log.info(message);\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(message);\r
updateScheduleStatus(cmSchedule, schedule);\r
return false;\r
cmSchedule.getVnfName(), new Date(now).toString(), new Date(startMillis).toString());\r
log.info(message);\r
\r
- cmSchedule.setStatus(CMSStatusEnum.PastDue.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.PastDue.toString());\r
cmSchedule.setStatusMessage(message);\r
updateScheduleStatus(cmSchedule, schedule);\r
return false;\r
cmSchedule.getVnfName(), cmSchedule.getTmChangeId());\r
errors.error(message);\r
}\r
- cmSchedule.setStatus(CMSStatusEnum.SchedulingFailed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.SchedulingFailed.toString());\r
cmSchedule.setStatusMessage(message);\r
updateScheduleStatus(cmSchedule, schedule);\r
return false;\r
import com.att.eelf.configuration.EELFManager;\r
import org.onap.observations.Mdc;\r
import org.onap.optf.cmso.common.LogMessages;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
import org.quartz.DisallowConcurrentExecution;\r
import org.quartz.JobExecutionContext;\r
import org.quartz.JobExecutionException;\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- CMSQueueJob qqJob;\r
+ CmsoQueueJob qqJob;\r
\r
// This is not called directly. Using @Autowired to ensure that startup\r
// Runs before the fist invocation of executeInternal\r
CmQuartzJobStartup startup;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Override\r
- @Transactional\r
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {\r
Mdc.quartzJobBegin(context);\r
debug.debug(LogMessages.CM_QUARTZ_JOB, "Entered");\r
import com.att.eelf.configuration.EELFManager;\r
import java.net.InetAddress;\r
import java.util.concurrent.atomic.AtomicBoolean;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.stereotype.Component;\r
import org.springframework.transaction.annotation.Transactional;\r
private static EELFLogger log = EELFManager.getInstance().getLogger(CmQuartzJobStartup.class);\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
private AtomicBoolean started = new AtomicBoolean(false);\r
\r
import com.att.eelf.configuration.EELFManager;\r
import java.util.Date;\r
import java.util.List;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.dispatcher.CmJob;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
import org.quartz.JobBuilder;\r
import org.quartz.JobDetail;\r
import org.quartz.Trigger;\r
* memory....\r
*/\r
@Component\r
-public class CMSQueueJob {\r
+public class CmsoQueueJob {\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
SchedulerFactoryBean qsScheduler;\r
long now = System.currentTimeMillis();\r
Long endTime = now + (interval * lookahead);\r
List<ChangeManagementSchedule> schedules =\r
- cmScheduleDao.findByStatusAndEndTime(CMSStatusEnum.Scheduled.toString(), endTime);\r
+ cmScheduleDao.findByStatusAndEndTime(CmsoStatusEnum.Scheduled.toString(), endTime);\r
if (schedules.size() == 0) {\r
return false;\r
}\r
} catch (org.quartz.SchedulerException e) {\r
debug.debug(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
// WIll keep trying until it goes Past due\r
- schedule.setStatus(CMSStatusEnum.Scheduled.toString());\r
+ schedule.setStatus(CmsoStatusEnum.Scheduled.toString());\r
schedule.setDispatcherInstance("");\r
updateScheduleStatus(schedule);\r
} catch (Exception e) {\r
debug.debug(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- schedule.setStatus(CMSStatusEnum.Scheduled.toString());\r
+ schedule.setStatus(CmsoStatusEnum.Scheduled.toString());\r
schedule.setDispatcherInstance("");\r
updateScheduleStatus(schedule);\r
}\r
MultivaluedMap<String, Object> respHeaders = responseContext.getHeaders();
String minorVersion = reqHeaders.getFirst(HeadersEnum.MinorVersion.toString());
respHeaders.add(HeadersEnum.MinorVersion.toString(), minorVersion);
- respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.latestVersion);
- respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.patchVersion);
+ respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.getLatestversion());
+ respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.getPatchversion());
} catch (Exception e) {
if (e instanceof WebApplicationException) {
}
String minorVersion = headers.getFirst(HeadersEnum.MinorVersion.toString());
if (minorVersion == null) {
- minorVersion = MessageHeaders.supportedMajorVersions.get(majorVersion);
+ minorVersion = MessageHeaders.getSupportedmajorversions().get(majorVersion);
headers.add(HeadersEnum.MinorVersion.toString(), minorVersion);
}
if (!MessageHeaders.validateMajorMinorVersion(majorVersion, minorVersion)) {
}\r
\r
/** The Constant supportedMajorVersions. */\r
- public static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();\r
+ private static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();\r
\r
static {\r
supportedMajorVersions.put("v1", "0");\r
}\r
\r
/** The Constant supportedMajorMinorVersions. */\r
- public static final Set<String> supportedMajorMinorVersions = new HashSet<String>();\r
+ private static final Set<String> supportedMajorMinorVersions = new HashSet<String>();\r
\r
static {\r
supportedMajorMinorVersions.add("v1.0");\r
}\r
\r
/** The Constant latestVersion. */\r
- public static final String latestVersion = "2.0.0";\r
+ private static final String latestVersion = "2.0.0";\r
\r
/** The Constant patchVersion. */\r
- public static final String patchVersion = "0";\r
+ private static final String patchVersion = "0";\r
\r
/**\r
* From string.\r
}\r
return true;\r
}\r
+\r
+ public static Map<String, String> getSupportedmajorversions() {\r
+ return supportedMajorVersions;\r
+ }\r
+\r
+ public static Set<String> getSupportedmajorminorversions() {\r
+ return supportedMajorMinorVersions;\r
+ }\r
+\r
+ public static String getLatestversion() {\r
+ return latestVersion;\r
+ }\r
+\r
+ public static String getPatchversion() {\r
+ return patchVersion;\r
+ }\r
}\r
import org.springframework.data.jpa.repository.Query;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface ApprovalTypeDAO extends PagingAndSortingRepository<ApprovalType, UUID> {\r
+public interface ApprovalTypeDao extends PagingAndSortingRepository<ApprovalType, UUID> {\r
Optional<ApprovalType> findById(UUID id);\r
\r
ApprovalType save(ApprovalType persisted);\r
import org.springframework.data.jpa.repository.Query;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface ChangeManagementChangeWindowDAO\r
+public interface ChangeManagementChangeWindowDao\r
extends PagingAndSortingRepository<ChangeManagementChangeWindow, UUID> {\r
Optional<ChangeManagementChangeWindow> findById(UUID id);\r
\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
import java.util.List;\r
import org.onap.optf.cmso.model.ChangeManagementDetail;\r
\r
-public interface ChangeManagementDetailDAO {\r
+public interface ChangeManagementDetailDao {\r
\r
List<ChangeManagementDetail> searchScheduleDetails(String where, int limit);\r
\r
import org.springframework.stereotype.Repository;\r
\r
@Repository\r
-public class ChangeManagementDetailDAOImpl implements ChangeManagementDetailDAO {\r
+public class ChangeManagementDetailDaoImpl implements ChangeManagementDetailDao {\r
@PersistenceContext\r
private EntityManager manager;\r
\r
import org.springframework.data.jpa.repository.Query;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface ChangeManagementGroupDAO extends PagingAndSortingRepository<ChangeManagementGroup, UUID> {\r
+public interface ChangeManagementGroupDao extends PagingAndSortingRepository<ChangeManagementGroup, UUID> {\r
Optional<ChangeManagementGroup> findById(UUID id);\r
\r
ChangeManagementGroup save(ChangeManagementGroup persisted);\r
import org.springframework.data.jpa.repository.Query;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface ChangeManagementScheduleDAO extends PagingAndSortingRepository<ChangeManagementSchedule, UUID> {\r
+public interface ChangeManagementScheduleDao extends PagingAndSortingRepository<ChangeManagementSchedule, UUID> {\r
@Override
Optional<ChangeManagementSchedule> findById(UUID id);\r
\r
import org.onap.optf.cmso.model.DomainData;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface DomainDataDAO extends PagingAndSortingRepository<DomainData, UUID> {\r
+public interface DomainDataDao extends PagingAndSortingRepository<DomainData, UUID> {\r
Optional<DomainData> findById(UUID id);\r
\r
DomainData save(DomainData persisted);\r
import org.onap.optf.cmso.model.ElementData;
import org.springframework.data.repository.PagingAndSortingRepository;
-public interface ElementDataDAO extends PagingAndSortingRepository<ElementData, UUID> {
+public interface ElementDataDao extends PagingAndSortingRepository<ElementData, UUID> {
@Override
Optional<ElementData> findById(UUID id);
import org.onap.optf.cmso.model.ScheduleApproval;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface ScheduleApprovalDAO extends PagingAndSortingRepository<ScheduleApproval, UUID> {\r
+public interface ScheduleApprovalDao extends PagingAndSortingRepository<ScheduleApproval, UUID> {\r
Optional<ScheduleApproval> findById(UUID id);\r
\r
ScheduleApproval save(ScheduleApproval persisted);\r
import org.springframework.data.jpa.repository.Query;\r
import org.springframework.data.repository.PagingAndSortingRepository;\r
\r
-public interface ScheduleDAO extends PagingAndSortingRepository<Schedule, UUID> {\r
+public interface ScheduleDao extends PagingAndSortingRepository<Schedule, UUID> {\r
Optional<Schedule> findById(UUID id);\r
\r
Schedule save(Schedule persited);\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
import java.util.List;\r
import org.onap.optf.cmso.model.ScheduleQuery;\r
\r
-public interface ScheduleQueryDAO {\r
+public interface ScheduleQueryDao {\r
\r
List<ScheduleQuery> searchSchedules(String where, int limit);\r
\r
import org.springframework.stereotype.Repository;\r
\r
@Repository\r
-public class ScheduleQueryDAOImpl implements ScheduleQueryDAO {\r
+public class ScheduleQueryDaoImpl implements ScheduleQueryDao {\r
@PersistenceContext\r
private EntityManager manager;\r
\r
import org.onap.observations.Mdc;
import org.onap.observations.Observation;
import org.onap.optf.cmso.common.BasicAuthenticatorFilter;
-import org.onap.optf.cmso.common.CMSStatusEnum;
+import org.onap.optf.cmso.common.CmsoStatusEnum;
import org.onap.optf.cmso.common.LogMessages;
import org.onap.optf.cmso.common.PropertiesManagement;
import org.onap.optf.cmso.filters.CmsoClientFilters;
import org.onap.optf.cmso.model.DomainData;
import org.onap.optf.cmso.model.Schedule;
-import org.onap.optf.cmso.model.dao.ScheduleDAO;
+import org.onap.optf.cmso.model.dao.ScheduleDao;
import org.onap.optf.cmso.optimizer.model.OptimizerElementInfo;
import org.onap.optf.cmso.optimizer.model.OptimizerRequest;
import org.onap.optf.cmso.optimizer.model.OptimizerResponse;
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();
@Autowired
- ScheduleDAO scheduleDao;
+ ScheduleDao scheduleDao;
@Autowired
Environment env;
try {
// Ensure that only one cmso is requsting this call to optimizer
Schedule schedule = scheduleDao.lockOne(uuid);
- if (schedule.getStatus().equals(CMSStatusEnum.PendingSchedule.toString())) {
+ if (schedule.getStatus().equals(CmsoStatusEnum.PendingSchedule.toString())) {
scheduleNewOptimization(schedule);
}
- if (schedule.getStatus().equals(CMSStatusEnum.OptimizationInProgress.toString())) {
+ if (schedule.getStatus().equals(CmsoStatusEnum.OptimizationInProgress.toString())) {
pollOptimizer(schedule);
}
return;
// message, try the next one. We don't want bad data to
//
if (schedule.getOptimizerAttemptsToSchedule() >= maxAttempts) {
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerMessage("Maximum number of attempts exceeded " + maxAttempts);
updateScheduleStatus(schedule);
return;
}
} catch (Exception e) {
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerMessage("Unexpected exception: " + e.getMessage());
updateScheduleStatus(schedule);
return;
//
schedule.setOptimizerTransactionId(cmReq.getRequestId());
schedule.setOptimizerDateTimeMillis(System.currentTimeMillis());
- schedule.setStatus(CMSStatusEnum.OptimizationInProgress.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationInProgress.toString());
updateScheduleStatus(schedule);
debug.debug("optimizer url / user: " + optimizerurl + " / " + username);
debug.debug("optimizer Request: " + new ObjectMapper().writeValueAsString(cmReq));
schedule.setOptimizerStatus("HTTP Status: " + response.getStatus());
String message = response.readEntity(String.class);
schedule.setOptimizerMessage(message);
- schedule.setStatus(CMSStatusEnum.ScheduleFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.ScheduleFailed.toString());
// Need to understand the cause of this error. May be teh same as optimizer
// down.
int tries = schedule.getOptimizerAttemptsToSchedule();
schedule.setOptimizerDateTimeMillis(System.currentTimeMillis());
int tries = schedule.getOptimizerAttemptsToSchedule();
tries++;
- schedule.setStatus(CMSStatusEnum.ScheduleFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.ScheduleFailed.toString());
schedule.setOptimizerAttemptsToSchedule(tries);
String message = response.readEntity(String.class);
schedule.setOptimizerMessage(message);
} catch (ResponseProcessingException e) {
schedule.setOptimizerDateTimeMillis(System.currentTimeMillis());
schedule.setOptimizerStatus("Failed to parse optimizer response");
- schedule.setStatus(CMSStatusEnum.ScheduleFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.ScheduleFailed.toString());
// Need to understand the cause of this error. May be teh same as optimizer down.
int tries = schedule.getOptimizerAttemptsToSchedule();
tries++;
} catch (ProcessingException e) {
// Don't track number of retries on IO error (optimizer is down)
schedule.setOptimizerDateTimeMillis(System.currentTimeMillis());
- schedule.setStatus(CMSStatusEnum.PendingSchedule.toString());
+ schedule.setStatus(CmsoStatusEnum.PendingSchedule.toString());
updateScheduleStatus(schedule);
/// Cannot connect to optimizer
Observation.report(LogMessages.OPTIMIZER_EXCEPTION, e, e.getMessage());
}
Long now = System.currentTimeMillis();
if (now > schedule.getOptimizerDateTimeMillis() + (timeout * 1000)) {
- schedule.setStatus(CMSStatusEnum.ScheduleFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.ScheduleFailed.toString());
updateScheduleStatus(schedule);
return;
}
schedule.setOptimizerStatus("HTTP Status: " + response.getStatus());
String message = response.readEntity(String.class);
schedule.setOptimizerMessage(message);
- schedule.setStatus(CMSStatusEnum.ScheduleFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.ScheduleFailed.toString());
updateScheduleStatus(schedule);
Observation.report(LogMessages.OPTIMIZER_EXCEPTION, message);
}
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
schedule.setOptimizerDateTimeMillis(System.currentTimeMillis());
schedule.setOptimizerMessage(e.getMessage());
- schedule.setStatus(CMSStatusEnum.ScheduleFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.ScheduleFailed.toString());
updateScheduleStatus(schedule);
}
}
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, "Unable to parse message. Format changed?");
schedule.setOptimizerStatus("Failed to parse optimizer request");
schedule.setOptimizerDateTimeMillis(System.currentTimeMillis());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
scheduleDao.save(schedule);
}
return null;
import java.util.Map;
import javax.ws.rs.core.Response.Status;
import org.onap.observations.Observation;
-import org.onap.optf.cmso.common.CMSStatusEnum;
+import org.onap.optf.cmso.common.CmsoStatusEnum;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
import org.onap.optf.cmso.model.ChangeManagementGroup;
import org.onap.optf.cmso.model.ChangeManagementSchedule;
import org.onap.optf.cmso.model.Schedule;
-import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementDetailDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;
-import org.onap.optf.cmso.model.dao.ScheduleDAO;
+import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementDetailDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;
+import org.onap.optf.cmso.model.dao.ScheduleDao;
import org.onap.optf.cmso.optimizer.model.OptimizerResponse;
import org.onap.optf.cmso.optimizer.model.OptimizerScheduleInfo;
import org.onap.optf.cmso.optimizer.model.ScheduledElement;
Environment env;
@Autowired
- ChangeManagementScheduleDAO cmScheduleDao;
+ ChangeManagementScheduleDao cmScheduleDao;
@Autowired
- ScheduleDAO scheduleDao;
+ ScheduleDao scheduleDao;
@Autowired
- ChangeManagementGroupDAO cmGroupDao;
+ ChangeManagementGroupDao cmGroupDao;
@Autowired
- ChangeManagementChangeWindowDAO cmChangeWindowDao;
+ ChangeManagementChangeWindowDao cmChangeWindowDao;
@Autowired
- ChangeManagementDetailDAO cmDetailsDao;
+ ChangeManagementDetailDao cmDetailsDao;
/**
* Handle optimizer response.
// Note that transaction ID and schedule ID are currently the same value.
String id = response.getRequestId();
- CMSStatusEnum status = CMSStatusEnum.PendingApproval.fromString(schedule.getStatus());
+ CmsoStatusEnum status = CmsoStatusEnum.PendingApproval.fromString(schedule.getStatus());
debug.debug("Status at time of optimizer status is " + status.toString() + " for " + id);
switch (status) {
// PendingSchedule may be a valid status in the cases where SNIRO async call
scheduleDao.save(schedule);
break;
default:
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.OPTIMIZER_CALLBACK_STATE_ERROR,
- CMSStatusEnum.OptimizationInProgress.toString(), schedule.getStatus().toString());
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.OPTIMIZER_CALLBACK_STATE_ERROR,
+ CmsoStatusEnum.OptimizationInProgress.toString(), schedule.getStatus().toString());
}
} catch (Exception e) {
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
saveSchedules(response, schedule);
break;
case FAILED:
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
break;
case PENDING_OPTIMIZER:
case PENDING_TICKETS:
break;
}
scheduleDao.save(schedule);
- } catch (CMSException e) {
+ } catch (CmsoException e) {
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerStatus(e.getStatus().toString());
schedule.setOptimizerMessage(e.getLocalizedMessage());
} catch (Exception e) {
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerStatus("Exception");
schedule.setOptimizerMessage(e.getLocalizedMessage());
}
}
- private void saveSchedules(OptimizerResponse response, Schedule schedule) throws CMSException {
+ private void saveSchedules(OptimizerResponse response, Schedule schedule) throws CmsoException {
// TODO: Persist the list of schedules in the DB
OptimizerScheduleInfo osi = chooseSchedule(schedules);
if (osi == null) {
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerMessage("No schedules returned for COMPLETED status");
return;
}
if (osi.getScheduledElements().size() == 0) {
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerMessage("No elements scheduled for COMPLETED status");
return;
}
cmScheduleDao.findOneByScheduleUuidGroupIdAndVnfName(schedule.getUuid(), groupId, vnfName);
cms.setStartTimeMillis(element.getStartTime().getTime());
cms.setFinishTimeMillis(element.getEndTime().getTime());
- cms.setStatus(CMSStatusEnum.PendingApproval.toString());
+ cms.setStatus(CmsoStatusEnum.PendingApproval.toString());
cmScheduleDao.save(cms);
}
if (osi.getUnScheduledElements() != null) {
String vnfName = element.getElementId();
ChangeManagementSchedule cms = cmScheduleDao.findOneByScheduleUuidGroupIdAndVnfName(schedule.getUuid(),
groupId, vnfName);
- cms.setStatus(CMSStatusEnum.NotScheduled.toString());
+ cms.setStatus(CmsoStatusEnum.NotScheduled.toString());
cmScheduleDao.save(cms);
}
for (ChangeManagementGroup cmg : updatedGroups.values()) {
cmGroupDao.save(cmg);
}
- schedule.setStatus(CMSStatusEnum.PendingApproval.toString());
+ schedule.setStatus(CmsoStatusEnum.PendingApproval.toString());
}
private void updateGroup(ScheduledElement element, List<ChangeManagementGroup> groups,
}
}
if (cmg == null) {
- throw new CMSException(Status.INTERNAL_SERVER_ERROR, LogMessages.MISSING_VALID_GROUP_FOR_ELEMENT,
+ throw new CmsoException(Status.INTERNAL_SERVER_ERROR, LogMessages.MISSING_VALID_GROUP_FOR_ELEMENT,
element.getElementId());
}
Long elementStartTime = element.getStartTime().getTime();
import javax.ws.rs.core.Response;\r
import org.onap.observations.Mdc;\r
import org.onap.optf.cmso.common.BasicAuthenticatorFilter;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.DomainsEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.common.PropertiesManagement;\r
import org.onap.optf.cmso.filters.CmsoClientFilters;\r
import org.onap.optf.cmso.model.Schedule;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.quartz.DisallowConcurrentExecution;\r
import org.quartz.JobExecutionContext;\r
import org.quartz.JobExecutionException;\r
private static EELFLogger errors = EELFManager.getInstance().getErrorLogger();\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
@Autowired\r
PropertiesManagement pm;\r
// schedule the request and update the status to PendingSchedule\r
// and update the state to OptimizationInProgress\r
List<Schedule> schedules = scheduleDao.findByDomainStatus(DomainsEnum.ChangeManagement.toString(),\r
- CMSStatusEnum.PendingSchedule.toString());\r
+ CmsoStatusEnum.PendingSchedule.toString());\r
for (Schedule s : schedules) {\r
scheduleOptimization(s);\r
}\r
List<Schedule> inProgressSchedules = scheduleDao.findByDomainStatus(DomainsEnum.ChangeManagement.toString(),\r
- CMSStatusEnum.OptimizationInProgress.toString());\r
+ CmsoStatusEnum.OptimizationInProgress.toString());\r
for (Schedule s : inProgressSchedules) {\r
scheduleOptimization(s);\r
}\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
\r
package org.onap.optf.cmso.optimizer.bean;\r
\r
-public class CMOptimizerRequest {\r
+public class CmsoOptimizerRequest {\r
\r
/*\r
* \r
* "2017-02-15T00:00:00+05:00", "endTime": "2017-02-18T23:59:00+05:00",\r
* "normalDurationInSecs": 60, "additionalDurationInSecs": 0, // for backout\r
* "concurrencyLimit": 10, "policyId": ["SNIRO.TimeLimitAndVerticalTopology"],\r
- * "vnfDetails": [{ “nodeâ\80?: "satmo415vbc", â\80\9cgroupIdâ\80?: â\80\9cgroup1â\80?//optional }, {\r
- * “nodeâ\80?: "satmo415vbc", â\80\9cgroupIdâ\80?: â\80\9cgroup1â\80?//optional }] }, "requestInfo": {\r
- * “transactionIdâ\80?: â\80?__TRANSACTIONID__â\80?, //logging "requestId":\r
- * "CM-<__SCHEDULE ID__>", "sourceId": "cm-portal", “optimizerâ\80?: [â\80\9cschedulingâ\80?],\r
+ * "vnfDetails": [{ “node�?: "satmo415vbc", “groupId�?: “group1�?//optional }, {\r
+ * “node�?: "satmo415vbc", “groupId�?: “group1�?//optional }] }, "requestInfo": {\r
+ * “transactionId�?: �?__TRANSACTIONID__�?, //logging "requestId":\r
+ * "CM-<__SCHEDULE ID__>", "sourceId": "cm-portal", “optimizer�?: [“scheduling�?],\r
* "callbackUrl": "http://callbackurl.onap.org:8080/callback" } }\r
* \r
*/\r
\r
- private CMSchedulingInfo schedulingInfo;\r
- private CMRequestInfo requestInfo;\r
+ private CmsoSchedulingInfo schedulingInfo;\r
+ private CmsoRequestInfo requestInfo;\r
\r
- public CMOptimizerRequest() {\r
- schedulingInfo = new CMSchedulingInfo();\r
- requestInfo = new CMRequestInfo();\r
+ public CmsoOptimizerRequest() {\r
+ schedulingInfo = new CmsoSchedulingInfo();\r
+ requestInfo = new CmsoRequestInfo();\r
}\r
\r
- public CMSchedulingInfo getSchedulingInfo() {\r
+ public CmsoSchedulingInfo getSchedulingInfo() {\r
return schedulingInfo;\r
}\r
\r
- public void setSchedulingInfo(CMSchedulingInfo schedulingInfo) {\r
+ public void setSchedulingInfo(CmsoSchedulingInfo schedulingInfo) {\r
this.schedulingInfo = schedulingInfo;\r
}\r
\r
- public CMRequestInfo getRequestInfo() {\r
+ public CmsoRequestInfo getRequestInfo() {\r
return requestInfo;\r
}\r
\r
- public void setRequestInfo(CMRequestInfo requestInfo) {\r
+ public void setRequestInfo(CmsoRequestInfo requestInfo) {\r
this.requestInfo = requestInfo;\r
}\r
\r
\r
@ApiModel(value = "Response from schedule optimizer",\r
description = "Asynchronous response to schedule oprimizer request.")\r
-public class CMOptimizerResponse {\r
+public class CmsoOptimizerResponse {\r
\r
/*\r
* \r
private String description;\r
\r
@ApiModelProperty(value = "List of schedules returned, one per group. Only 1 group supported at this time.")\r
- private CMSchedule[] schedule;\r
+ private CmsoSchedule[] schedule;\r
\r
- public CMOptimizerResponse() {}\r
+ public CmsoOptimizerResponse() {}\r
\r
public String getTransactionId() {\r
return transactionId;\r
this.status = status;\r
}\r
\r
- public CMSchedule[] getSchedule() {\r
+ public CmsoSchedule[] getSchedule() {\r
return schedule;\r
}\r
\r
- public void setSchedule(CMSchedule[] schedule) {\r
+ public void setSchedule(CmsoSchedule[] schedule) {\r
this.schedule = schedule;\r
}\r
\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
\r
package org.onap.optf.cmso.optimizer.bean;\r
\r
-public class CMRequestInfo {\r
+public class CmsoRequestInfo {\r
private String transactionId;\r
private String requestId;\r
private String sourceId;\r
private String[] optimizer;\r
private String callbackUrl;\r
\r
- public CMRequestInfo() {}\r
+ public CmsoRequestInfo() {}\r
\r
public String getTransactionId() {\r
return transactionId;\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
import java.util.ArrayList;\r
import java.util.List;\r
\r
-public class CMSchedule {\r
+public class CmsoSchedule {\r
private String groupId;\r
private String startTime;\r
private String finishTime;\r
private String latestInstanceStartTime;\r
private List<String> node;\r
\r
- public CMSchedule() {\r
+ public CmsoSchedule() {\r
node = new ArrayList<String>();\r
}\r
\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
\r
package org.onap.optf.cmso.optimizer.bean;\r
\r
-public class CMSchedulingInfo {\r
+public class CmsoSchedulingInfo {\r
private String scheduleId;\r
private String startTime;\r
private String endTime;\r
private int additionalDurationInSecs;\r
private int concurrencyLimit;\r
private String[] policyId;\r
- private CMVnfDetails[] vnfDetails;\r
+ private CmsoVnfDetails[] vnfDetails;\r
\r
- public CMSchedulingInfo() {}\r
+ public CmsoSchedulingInfo() {}\r
\r
public String getScheduleId() {\r
return scheduleId;\r
this.policyId = policyId;\r
}\r
\r
- public CMVnfDetails[] getVnfDetails() {\r
+ public CmsoVnfDetails[] getVnfDetails() {\r
return vnfDetails;\r
}\r
\r
- public void setVnfDetails(CMVnfDetails[] vnfDetails) {\r
+ public void setVnfDetails(CmsoVnfDetails[] vnfDetails) {\r
this.vnfDetails = vnfDetails;\r
}\r
\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
+ * Copyright � 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright � 2018 IBM.\r
* \r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
\r
package org.onap.optf.cmso.optimizer.bean;\r
\r
-public class CMVnfDetails {\r
+public class CmsoVnfDetails {\r
private String node;\r
private String groupId;\r
\r
- public CMVnfDetails() {}\r
+ public CmsoVnfDetails() {}\r
\r
- public CMVnfDetails(String groupId) {\r
+ public CmsoVnfDetails(String groupId) {\r
this.groupId = groupId;\r
}\r
\r
import java.util.UUID;\r
import javax.ws.rs.core.Response.Status;\r
import org.onap.optf.cmso.common.ApprovalStatusEnum;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
-import org.onap.optf.cmso.common.exceptions.CMSAlreadyExistsException;\r
-import org.onap.optf.cmso.common.exceptions.CMSException;\r
-import org.onap.optf.cmso.common.exceptions.CMSNotFoundException;\r
+import org.onap.optf.cmso.common.exceptions.CmsoAlreadyExistsException;\r
+import org.onap.optf.cmso.common.exceptions.CmsoException;\r
+import org.onap.optf.cmso.common.exceptions.CmsoNotFoundException;\r
import org.onap.optf.cmso.model.ApprovalType;\r
import org.onap.optf.cmso.model.DomainData;\r
import org.onap.optf.cmso.model.Schedule;\r
import org.onap.optf.cmso.model.ScheduleApproval;\r
-import org.onap.optf.cmso.model.dao.ApprovalTypeDAO;\r
-import org.onap.optf.cmso.model.dao.DomainDataDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleApprovalDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ApprovalTypeDao;\r
+import org.onap.optf.cmso.model.dao.DomainDataDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleApprovalDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.onap.optf.cmso.service.rs.models.ApprovalMessage;\r
import org.onap.optf.cmso.service.rs.models.v2.OptimizedScheduleMessage;\r
import org.springframework.beans.factory.annotation.Autowired;\r
private static EELFLogger log = EELFManager.getInstance().getLogger(BaseSchedulerServiceImpl.class);\r
\r
@Autowired\r
- protected ScheduleDAO scheduleDao;\r
+ protected ScheduleDao scheduleDao;\r
\r
@Autowired\r
- DomainDataDAO domainDataDao;\r
+ DomainDataDao domainDataDao;\r
\r
@Autowired\r
- ApprovalTypeDAO approvalTypeDao;\r
+ ApprovalTypeDao approvalTypeDao;\r
\r
@Autowired\r
- ScheduleApprovalDAO scheduleApprovalDao;\r
+ ScheduleApprovalDao scheduleApprovalDao;\r
\r
protected Schedule validateAndAddScheduleRequest(OptimizedScheduleMessage scheduleMessage,\r
- List<DomainData> domainData) throws CMSException {\r
+ List<DomainData> domainData) throws CmsoException {\r
messageValidations(scheduleMessage);\r
Schedule sch = scheduleDao.findByDomainScheduleId(scheduleMessage.getDomain(), scheduleMessage.getScheduleId());\r
\r
if (sch != null) {\r
- throw new CMSAlreadyExistsException(scheduleMessage.getDomain(), scheduleMessage.getScheduleId());\r
+ throw new CmsoAlreadyExistsException(scheduleMessage.getDomain(), scheduleMessage.getScheduleId());\r
}\r
sch = new Schedule();\r
sch.setUuid(UUID.randomUUID());\r
sch.setScheduleName(scheduleMessage.getScheduleName());\r
sch.setOptimizerAttemptsToSchedule(0);\r
sch.setScheduleInfo(scheduleMessage.getSchedulingData().toString());\r
- sch.setStatus(CMSStatusEnum.PendingSchedule.toString());\r
+ sch.setStatus(CmsoStatusEnum.PendingSchedule.toString());\r
scheduleDao.save(sch);\r
for (DomainData dd : domainData) {\r
dd.setUuid(UUID.randomUUID());\r
return sch;\r
}\r
\r
- private void messageValidations(OptimizedScheduleMessage scheduleMessage) throws CMSException {\r
+ private void messageValidations(OptimizedScheduleMessage scheduleMessage) throws CmsoException {\r
if (scheduleMessage.getScheduleName() == null || scheduleMessage.getScheduleName().equals("")) {\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "schedulerName", "");\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "schedulerName", "");\r
}\r
if (scheduleMessage.getUserId() == null || scheduleMessage.getUserId().equals("")) {\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "userId", "");\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "userId", "");\r
}\r
}\r
\r
- protected void deleteScheduleRequest(String domain, String scheduleId) throws CMSException {\r
+ protected void deleteScheduleRequest(String domain, String scheduleId) throws CmsoException {\r
Schedule sch = scheduleDao.findByDomainScheduleId(domain, scheduleId);\r
if (sch == null) {\r
- throw new CMSNotFoundException(domain, scheduleId);\r
+ throw new CmsoNotFoundException(domain, scheduleId);\r
}\r
- CMSStatusEnum currentStatus = CMSStatusEnum.Completed.fromString(sch.getStatus());\r
+ CmsoStatusEnum currentStatus = CmsoStatusEnum.Completed.fromString(sch.getStatus());\r
sch.setDeleteDateTimeMillis(System.currentTimeMillis());\r
switch (currentStatus) {\r
case Scheduled:\r
// TODO CLose all tickets....\r
- sch.setStatus(CMSStatusEnum.Cancelled.toString());\r
+ sch.setStatus(CmsoStatusEnum.Cancelled.toString());\r
break;\r
case NotificationsInitiated:\r
- throw new CMSException(Status.NOT_ACCEPTABLE, LogMessages.CANNOT_CANCEL_IN_PROGRESS);\r
+ throw new CmsoException(Status.NOT_ACCEPTABLE, LogMessages.CANNOT_CANCEL_IN_PROGRESS);\r
default:\r
- sch.setStatus(CMSStatusEnum.Deleted.toString());\r
+ sch.setStatus(CmsoStatusEnum.Deleted.toString());\r
}\r
scheduleDao.save(sch);\r
}\r
\r
protected Schedule processApproval(Schedule sch, String domain, ApprovalMessage approvalMessage)\r
- throws CMSException {\r
+ throws CmsoException {\r
String scheduleId = sch.getScheduleId();\r
ApprovalType approvalType =\r
approvalTypeDao.findByDomainAndType(domain, approvalMessage.getApprovalType().toString());\r
if (approvalType == null) {\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "approvalType",\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "approvalType",\r
approvalMessage.getApprovalType().toString());\r
}\r
\r
- if (!sch.getStatus().equals(CMSStatusEnum.PendingApproval.toString())) {\r
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.NOT_PENDING_APPROVAL, domain, scheduleId,\r
+ if (!sch.getStatus().equals(CmsoStatusEnum.PendingApproval.toString())) {\r
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.NOT_PENDING_APPROVAL, domain, scheduleId,\r
sch.getStatus());\r
}\r
if (approvalMessage.getApprovalUserId() == null || approvalMessage.getApprovalUserId().equals("")) {\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "userId");\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "userId");\r
}\r
ScheduleApproval sa = null;\r
// only 1 approval per user....\r
sch.addScheduleApproval(sa);\r
scheduleDao.save(sch);\r
if (sa.getStatus().equals(ApprovalStatusEnum.Rejected.toString())) {\r
- sch.setStatus(CMSStatusEnum.Rejected.toString());\r
+ sch.setStatus(CmsoStatusEnum.Rejected.toString());\r
} else {\r
if (allApprovalsReceived(sch, sa)) {\r
- sch.setStatus(CMSStatusEnum.Accepted.toString());\r
+ sch.setStatus(CmsoStatusEnum.Accepted.toString());\r
}\r
}\r
scheduleDao.save(sch);\r
import org.joda.time.DateTime;\r
import org.joda.time.format.ISODateTimeFormat;\r
import org.onap.optf.cmso.common.LogMessages;\r
-import org.onap.optf.cmso.common.exceptions.CMSException;\r
+import org.onap.optf.cmso.common.exceptions.CmsoException;\r
import org.onap.optf.cmso.model.DomainData;\r
\r
/**\r
* @param urlName the url name\r
* @param values the values\r
* @return the string\r
- * @throws CMSException the CMS exception\r
+ * @throws CmsoException the CMS exception\r
*/\r
- public static String buildClause(String urlName, List<String> values) throws CMSException {\r
+ public static String buildClause(String urlName, List<String> values) throws CmsoException {\r
QueryColumns qc = getQueryColumn(urlName);\r
if (qc == null) {\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.UNDEFINED_FILTER_ATTRIBUTE, urlName);\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.UNDEFINED_FILTER_ATTRIBUTE, urlName);\r
}\r
if (qc.type == Date.class) {\r
return formatDate(urlName, values, qc);\r
return clause.toString();\r
}\r
\r
- private static String formatDate(String urlName, List<String> values, QueryColumns qc) throws CMSException {\r
+ private static String formatDate(String urlName, List<String> values, QueryColumns qc) throws CmsoException {\r
List<String> clauses = new ArrayList<String>();\r
for (String value : values) {\r
String[] dates = value.split(",");\r
formatDatePair(qc, dates[0].trim(), "", clauses);\r
break;\r
default:\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_DATE_FILTER, urlName, value);\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_DATE_FILTER, urlName, value);\r
}\r
}\r
StringBuilder clause = new StringBuilder();\r
}\r
\r
private static void formatDatePair(QueryColumns qc, String lowDate, String highDate, List<String> clauses)\r
- throws CMSException {\r
+ throws CmsoException {\r
StringBuilder clause = new StringBuilder();\r
DateTime date1 = null;\r
DateTime date2 = null;\r
}\r
}\r
\r
- private static DateTime convertDate(String utcDate, String urlName) throws CMSException {\r
+ private static DateTime convertDate(String utcDate, String urlName) throws CmsoException {\r
DateTime dateTime = ISODateTimeFormat.dateTimeParser().parseDateTime(utcDate);\r
if (dateTime != null) {\r
return dateTime;\r
}\r
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_DATE_FILTER, urlName, utcDate);\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_DATE_FILTER, urlName, utcDate);\r
}\r
\r
// public static void main(String argv[])\r
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.onap.optf.cmso.common.CMSRequestError;
+import org.onap.optf.cmso.common.CmsoRequestError;
import org.onap.optf.cmso.service.rs.models.v2.OptimizedScheduleMessage;
@Api("CMSO Optimized Schedule API")
@ApiResponses(
value = {@ApiResponse(code = 202, message = "Schedule request accepted for optimization."),
@ApiResponse(code = 409, message = "Schedule request already exists for this schedule id.",
- response = CMSRequestError.class),
+ response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error")})
public Response createScheduleRequest(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
import javax.ws.rs.core.Response;
import org.onap.observations.Observation;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
import org.onap.optf.cmso.service.rs.models.v2.OptimizedScheduleMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
try {
createSchedule(scheduleMessage, scheduleId, request);
response = Response.accepted().build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.onap.optf.cmso.optimizer.bean.CMOptimizerResponse;
+import org.onap.optf.cmso.optimizer.bean.CmsoOptimizerResponse;
@Api("CMSO Optimized Schedule API")
@Path("/{apiVersion}")
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response sniroCallback(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
- @ApiParam(value = "Return schedules > lastScheduleId") CMOptimizerResponse reponse);
+ @ApiParam(value = "Return schedules > lastScheduleId") CmsoOptimizerResponse reponse);
}
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.ISODateTimeFormat;
-import org.onap.optf.cmso.common.CMSStatusEnum;
+import org.onap.optf.cmso.common.CmsoStatusEnum;
import org.onap.optf.cmso.common.DomainsEnum;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
-import org.onap.optf.cmso.common.exceptions.CMSNotFoundException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
+import org.onap.optf.cmso.common.exceptions.CmsoNotFoundException;
import org.onap.optf.cmso.model.ChangeManagementGroup;
import org.onap.optf.cmso.model.ChangeManagementSchedule;
import org.onap.optf.cmso.model.Schedule;
-import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementDetailDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;
-import org.onap.optf.cmso.optimizer.bean.CMOptimizerResponse;
-import org.onap.optf.cmso.optimizer.bean.CMSchedule;
+import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementDetailDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;
+import org.onap.optf.cmso.optimizer.bean.CmsoOptimizerResponse;
+import org.onap.optf.cmso.optimizer.bean.CmsoSchedule;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@Autowired
- ChangeManagementScheduleDAO cmScheduleDao;
+ ChangeManagementScheduleDao cmScheduleDao;
@Autowired
- ChangeManagementGroupDAO cmGroupDao;
+ ChangeManagementGroupDao cmGroupDao;
@Autowired
- ChangeManagementChangeWindowDAO cmChangeWindowDao;
+ ChangeManagementChangeWindowDao cmChangeWindowDao;
@Autowired
- ChangeManagementDetailDAO cmDetailsDaoO;
+ ChangeManagementDetailDao cmDetailsDaoO;
/**
* Sniro callback.
*/
@Override
@Transactional
- public Response sniroCallback(String apiVersion, CMOptimizerResponse sniroResponse) {
+ public Response sniroCallback(String apiVersion, CmsoOptimizerResponse sniroResponse) {
Response response = null;
log.info(LogMessages.PROCESS_OPTIMIZER_CALLBACK, "Received", request.getRemoteAddr(), "");
log.info(LogMessages.OPTIMIZER_REQUEST, "Callback received", sniroResponse.getTransactionId(),
Schedule schedule = scheduleDao.lockOneByTransactionId(transactionId);
if (schedule == null) {
- throw new CMSNotFoundException(DomainsEnum.ChangeManagement.toString(),
+ throw new CmsoNotFoundException(DomainsEnum.ChangeManagement.toString(),
"(OptimizerTransactionID=" + transactionId + ")");
}
- CMSStatusEnum status = CMSStatusEnum.PendingApproval.fromString(schedule.getStatus());
+ CmsoStatusEnum status = CmsoStatusEnum.PendingApproval.fromString(schedule.getStatus());
debug.debug("Status at time of SNIRO callback is " + status.toString());
switch (status) {
// PendingSchedule may be a valid status in the cases where SNIRO async call
response = Response.ok().build();
break;
default:
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.OPTIMIZER_CALLBACK_STATE_ERROR,
- CMSStatusEnum.OptimizationInProgress.toString(), schedule.getStatus().toString());
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.OPTIMIZER_CALLBACK_STATE_ERROR,
+ CmsoStatusEnum.OptimizationInProgress.toString(), schedule.getStatus().toString());
}
- } catch (CMSException e) {
+ } catch (CmsoException e) {
errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
} catch (Exception e) {
return response;
}
- private void processSniroResponse(CMOptimizerResponse sniroResponse, Schedule schedule) {
+ private void processSniroResponse(CmsoOptimizerResponse sniroResponse, Schedule schedule) {
try {
schedule.setOptimizerReturnDateTimeMillis(System.currentTimeMillis());
schedule.setOptimizerStatus(sniroResponse.getRequestState());
schedule.setOptimizerMessage(sniroResponse.getDescription());
String scheduleId = sniroResponse.getScheduleId();
ObjectMapper om = new ObjectMapper();
- CMSchedule[] scheduleArray = sniroResponse.getSchedule();
+ CmsoSchedule[] scheduleArray = sniroResponse.getSchedule();
if (scheduleArray != null && scheduleArray.length > 0) {
String scheduleString = om.writeValueAsString(scheduleArray);
schedule.setSchedule(scheduleString);
log.debug("scheduleId={0} schedule={1}", scheduleId, scheduleString);
- for (CMSchedule sniroSchedule : sniroResponse.getSchedule()) {
+ for (CmsoSchedule sniroSchedule : sniroResponse.getSchedule()) {
String groupId = sniroSchedule.getGroupId();
DateTime finishTime = convertDate(sniroSchedule.getFinishTime(), "finishTime");
DateTime startTime = convertDate(sniroSchedule.getStartTime(), "startTime");
ChangeManagementGroup group = cmGroupDao.findOneBySchedulesIdGroupId(schedule.getUuid(), groupId);
if (group == null) {
- throw new CMSException(Status.PRECONDITION_FAILED,
+ throw new CmsoException(Status.PRECONDITION_FAILED,
LogMessages.CHANGE_MANAGEMENT_GROUP_NOT_FOUND, schedule.getScheduleId(), groupId);
}
group.setStartTimeMillis(startTime.getMillis());
processNode(schedule, group, node, startAndFinishTimeMap);
}
}
- schedule.setStatus(CMSStatusEnum.PendingApproval.toString());
+ schedule.setStatus(CmsoStatusEnum.PendingApproval.toString());
} else {
debug.debug("scheduleId={0} schedule=null status={1} ", scheduleId, schedule.getOptimizerStatus());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
}
- } catch (CMSException e) {
+ } catch (CmsoException e) {
errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerStatus(e.getStatus().toString());
schedule.setOptimizerMessage(e.getLocalizedMessage());
} catch (Exception e) {
errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
- schedule.setStatus(CMSStatusEnum.OptimizationFailed.toString());
+ schedule.setStatus(CmsoStatusEnum.OptimizationFailed.toString());
schedule.setOptimizerStatus("Exception");
schedule.setOptimizerMessage(e.getLocalizedMessage());
}
* @param totalDuration the total duration
* @param nodeList the node list
* @param startAndFinishTimeMap the start and finish time map
- * @throws CMSException the CMS exception
+ * @throws CmsoException the CMS exception
*/
public static void makeMap(Long startTime, Long latestInstanceStartTime, int concurrencyLimit, long totalDuration,
- List<String> nodeList, Map<String, Map<String, Long>> startAndFinishTimeMap) throws CMSException {
+ List<String> nodeList, Map<String, Map<String, Long>> startAndFinishTimeMap) throws CmsoException {
Long nextStartTime = null;
Long nextFinishTime = null;
for (int nodeNumber = 0; nodeNumber < nodeList.size(); nodeNumber++) {
nextStartTime = nextStartTime + totalDuration;
}
if (nextStartTime > latestInstanceStartTime) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.UNABLE_TO_ALLOCATE_VNF_TIMESLOTS,
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.UNABLE_TO_ALLOCATE_VNF_TIMESLOTS,
startTime.toString(), latestInstanceStartTime.toString(), String.valueOf(totalDuration),
String.valueOf(concurrencyLimit), String.valueOf(nodeList.size()));
}
}
private void processNode(Schedule schedule, ChangeManagementGroup group, String node,
- Map<String, Map<String, Long>> startAndFinishTimeMap) throws CMSException {
+ Map<String, Map<String, Long>> startAndFinishTimeMap) throws CmsoException {
Map<String, Long> map = startAndFinishTimeMap.get(node);
ChangeManagementSchedule detail = cmScheduleDao.findOneByGroupUuidAndVnfName(group.getUuid(), node);
if (detail == null) {
- throw new CMSException(Status.NOT_FOUND, LogMessages.UNABLE_TO_LOCATE_SCHEDULE_DETAIL,
+ throw new CmsoException(Status.NOT_FOUND, LogMessages.UNABLE_TO_LOCATE_SCHEDULE_DETAIL,
schedule.getScheduleId(), group.getGroupId(), node);
}
detail.setStartTimeMillis(map.get("startTime"));
detail.setFinishTimeMillis(map.get("finishTime"));
detail.setVnfId("");
- detail.setStatus(CMSStatusEnum.PendingApproval.toString());
+ detail.setStatus(CmsoStatusEnum.PendingApproval.toString());
cmScheduleDao.save(detail);
}
* @param utcDate the utc date
* @param attrName the attr name
* @return the date time
- * @throws CMSException the CMS exception
+ * @throws CmsoException the CMS exception
*/
- public static DateTime convertDate(String utcDate, String attrName) throws CMSException {
+ public static DateTime convertDate(String utcDate, String attrName) throws CmsoException {
try {
DateTime dateTime = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").withZoneUTC().parseDateTime(utcDate);
if (dateTime != null) {
} catch (Exception e) {
debug.debug(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
}
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, attrName, utcDate);
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, attrName, utcDate);
}
/**
* @param utcDate the utc date
* @param attrName the attr name
* @return the date time
- * @throws CMSException the CMS exception
+ * @throws CmsoException the CMS exception
*/
- public static DateTime convertIsoDate(String utcDate, String attrName) throws CMSException {
+ public static DateTime convertIsoDate(String utcDate, String attrName) throws CmsoException {
try {
DateTime dateTime = ISODateTimeFormat.dateTimeParser().parseDateTime(utcDate);
if (dateTime != null) {
} catch (Exception e) {
debug.debug(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());
}
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, attrName, utcDate);
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, attrName, utcDate);
}
}
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-import org.onap.optf.cmso.common.CMSRequestError;
+import org.onap.optf.cmso.common.CmsoRequestError;
import org.onap.optf.cmso.model.Schedule;
import org.onap.optf.cmso.service.rs.models.ApprovalMessage;
import org.onap.optf.cmso.service.rs.models.CmDetailsMessage;
@ApiOperation(value = "", notes = "Returns a list of Scheduler Requests based upon the filter criteria.",
response = Schedule.class, responseContainer = "List")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
- @ApiResponse(code = 404, message = "No records found", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "No records found", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response searchScheduleRequests(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@ApiResponses(
value = {@ApiResponse(code = 202, message = "Schedule request accepted for optimization."),
@ApiResponse(code = 409, message = "Schedule request already exists for this schedule id.",
- response = CMSRequestError.class),
+ response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error")})
public Response createScheduleRequest(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(value = "", notes = "Cancels the schedule request for scheduleId")
@ApiResponses(value = {@ApiResponse(code = 204, message = "Delete successful"),
- @ApiResponse(code = 404, message = "No record found", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "No record found", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error")})
public Response deleteScheduleRequest(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@ApiOperation(value = "", notes = "Returns a list of Schedule request details based upon the filter criteria.",
response = CmDetailsMessage.class, responseContainer = "List")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
- @ApiResponse(code = 404, message = "No records found", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "No records found", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response searchScheduleRequestDetails(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
import org.onap.observations.Observation;
import org.onap.optf.cmso.common.DomainsEnum;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
-import org.onap.optf.cmso.common.exceptions.CMSNotFoundException;
-import org.onap.optf.cmso.eventq.CMSQueueJob;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
+import org.onap.optf.cmso.common.exceptions.CmsoNotFoundException;
+import org.onap.optf.cmso.eventq.CmsoQueueJob;
import org.onap.optf.cmso.model.ChangeManagementDetail;
import org.onap.optf.cmso.model.ChangeManagementGroup;
import org.onap.optf.cmso.model.ChangeManagementSchedule;
import org.onap.optf.cmso.model.Schedule;
import org.onap.optf.cmso.model.ScheduleQuery;
-import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementDetailDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;
-import org.onap.optf.cmso.model.dao.ElementDataDAO;
-import org.onap.optf.cmso.model.dao.ScheduleDAO;
-import org.onap.optf.cmso.model.dao.ScheduleQueryDAO;
+import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementDetailDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;
+import org.onap.optf.cmso.model.dao.ElementDataDao;
+import org.onap.optf.cmso.model.dao.ScheduleDao;
+import org.onap.optf.cmso.model.dao.ScheduleQueryDao;
import org.onap.optf.cmso.service.rs.models.ApprovalMessage;
import org.onap.optf.cmso.service.rs.models.ChangeWindowMessage;
import org.onap.optf.cmso.service.rs.models.CmDetailsMessage;
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();
@Autowired
- CMSQueueJob qqJob;
+ CmsoQueueJob qqJob;
@Autowired
Environment env;
@Autowired
- ChangeManagementScheduleDAO cmScheduleDao;
+ ChangeManagementScheduleDao cmScheduleDao;
@Autowired
- ChangeManagementGroupDAO cmGroupDao;
+ ChangeManagementGroupDao cmGroupDao;
@Autowired
- ChangeManagementChangeWindowDAO cmChangeWindowDao;
+ ChangeManagementChangeWindowDao cmChangeWindowDao;
@Autowired
- ChangeManagementDetailDAO cmDetailsDao;
+ ChangeManagementDetailDao cmDetailsDao;
@Autowired
- ScheduleQueryDAO scheduleQueryDao;
+ ScheduleQueryDao scheduleQueryDao;
@Autowired
- ScheduleDAO scheduleDao;
+ ScheduleDao scheduleDao;
@Autowired
- ElementDataDAO elementDataDao;
+ ElementDataDao elementDataDao;
@Autowired
TmClient tmClient;
// buildWhere(qp, where);
List<ScheduleQuery> list = scheduleQueryDao.searchSchedules(where.toString(), maxRows);
if (list == null || !list.iterator().hasNext()) {
- throw new CMSException(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND,
+ throw new CmsoException(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND,
DomainsEnum.ChangeManagement.toString(), scheduleId);
}
Iterator<ScheduleQuery> iter = list.iterator();
}
}
response = Response.ok(schedules.toArray(new Schedule[schedules.size()])).build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
} catch (Exception e) {
OptimizedScheduleMessage osm = adaptScheduleMessage(scheduleMessage);
createSchedule(osm, scheduleId, request);
response = Response.accepted().build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
}
private OptimizedScheduleMessage adaptScheduleMessage(CmsoMessage sm)
- throws CMSException, JsonParseException, JsonMappingException, IOException {
+ throws CmsoException, JsonParseException, JsonMappingException, IOException {
OptimizedScheduleMessage osm = new OptimizedScheduleMessage();
osm.setScheduleId(sm.getScheduleId());
osm.setDomain(sm.getDomain());
osm.setCommonData(dd);
CmsoInfo sinfo = sm.getSchedulingInfo();
if (sinfo == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "schedulingInfo");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "schedulingInfo");
}
SchedulingData sd = new SchedulingData();
osm.setSchedulingData(sd);
List<VnfDetailsMessage> details = sinfo.getVnfDetails();
if (details == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "vnfDetails");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "vnfDetails");
}
List<ChangeWindow> windows = new ArrayList<>();
List<ElementInfo> elements = new ArrayList<>();
}
private Object getRequestFromCallbackData(String node, String value)
- throws CMSException, JsonParseException, JsonMappingException, IOException {
+ throws CmsoException, JsonParseException, JsonMappingException, IOException {
ObjectMapper om = new ObjectMapper();
JsonNode json = om.readValue(value, JsonNode.class);
JsonNode details = json.get("requestDetails");
return request;
}
}
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "CallbackData", "");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "CallbackData", "");
}
@Override
try {
Schedule schedule = scheduleDao.findByDomainScheduleId(DomainsEnum.ChangeManagement.toString(), scheduleId);
if (schedule == null) {
- throw new CMSNotFoundException(DomainsEnum.ChangeManagement.toString(), scheduleId);
+ throw new CmsoNotFoundException(DomainsEnum.ChangeManagement.toString(), scheduleId);
}
deleteChangeManagement(schedule);
deleteScheduleRequest(DomainsEnum.ChangeManagement.toString(), scheduleId);
response = Response.noContent().build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
try {
schedule = scheduleDao.findByDomainScheduleId(DomainsEnum.ChangeManagement.toString(), scheduleId);
if (schedule == null) {
- throw new CMSException(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND,
+ throw new CmsoException(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND,
DomainsEnum.ChangeManagement.toString(), scheduleId);
}
response = Response.ok().entity(schedule).build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
} catch (Exception e) {
String domain = DomainsEnum.ChangeManagement.toString();
Schedule sch = scheduleDao.findByDomainScheduleId(domain, scheduleId);
if (sch == null) {
- throw new CMSNotFoundException(domain, scheduleId);
+ throw new CmsoNotFoundException(domain, scheduleId);
}
processApproveScheduleRequest(sch, approval, sch.getDomainData());
response = Response.noContent().build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
buildWhere(qp, where);
List<ChangeManagementDetail> list = cmDetailsDao.searchScheduleDetails(where.toString(), maxRows);
if (list == null || !list.iterator().hasNext()) {
- throw new CMSException(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND,
+ throw new CmsoException(Status.NOT_FOUND, LogMessages.SCHEDULE_NOT_FOUND,
DomainsEnum.ChangeManagement.toString(), scheduleId);
}
Iterator<ChangeManagementDetail> iter = list.iterator();
schedules.add(msg);
}
response = Response.ok(schedules.toArray(new CmDetailsMessage[schedules.size()])).build();
- } catch (CMSException e) {
+ } catch (CmsoException e) {
Observation.report(LogMessages.EXPECTED_EXCEPTION, e, e.getMessage());
response = Response.status(e.getStatus()).entity(e.getRequestError()).build();
} catch (Exception e) {
return response;
}
- private void buildWhere(MultivaluedMap<String, String> qp, StringBuilder where) throws CMSException {
+ private void buildWhere(MultivaluedMap<String, String> qp, StringBuilder where) throws CmsoException {
String delim = " where ";
for (String urlName : qp.keySet()) {
List<String> values = qp.get(urlName);
import javax.ws.rs.core.Response.Status;
import org.onap.optf.cmso.common.ApprovalStatusEnum;
import org.onap.optf.cmso.common.ApprovalTypesEnum;
-import org.onap.optf.cmso.common.CMSStatusEnum;
+import org.onap.optf.cmso.common.CmsoStatusEnum;
import org.onap.optf.cmso.common.DomainsEnum;
import org.onap.optf.cmso.common.LogMessages;
-import org.onap.optf.cmso.common.exceptions.CMSException;
-import org.onap.optf.cmso.eventq.CMSQueueJob;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
+import org.onap.optf.cmso.eventq.CmsoQueueJob;
import org.onap.optf.cmso.model.ChangeManagementChangeWindow;
import org.onap.optf.cmso.model.ChangeManagementGroup;
import org.onap.optf.cmso.model.ChangeManagementSchedule;
import org.onap.optf.cmso.model.DomainData;
import org.onap.optf.cmso.model.ElementData;
import org.onap.optf.cmso.model.Schedule;
-import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementDetailDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;
-import org.onap.optf.cmso.model.dao.ElementDataDAO;
-import org.onap.optf.cmso.model.dao.ScheduleDAO;
-import org.onap.optf.cmso.model.dao.ScheduleQueryDAO;
+import org.onap.optf.cmso.model.dao.ChangeManagementChangeWindowDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementDetailDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;
+import org.onap.optf.cmso.model.dao.ElementDataDao;
+import org.onap.optf.cmso.model.dao.ScheduleDao;
+import org.onap.optf.cmso.model.dao.ScheduleQueryDao;
import org.onap.optf.cmso.service.rs.models.ApprovalMessage;
import org.onap.optf.cmso.service.rs.models.v2.ChangeWindow;
import org.onap.optf.cmso.service.rs.models.v2.ElementInfo;
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();
@Autowired
- CMSQueueJob qqJob;
+ CmsoQueueJob qqJob;
@Autowired
Environment env;
@Autowired
- ChangeManagementScheduleDAO cmScheduleDao;
+ ChangeManagementScheduleDao cmScheduleDao;
@Autowired
- ChangeManagementGroupDAO cmGroupDao;
+ ChangeManagementGroupDao cmGroupDao;
@Autowired
- ChangeManagementChangeWindowDAO cmChangeWindowDao;
+ ChangeManagementChangeWindowDao cmChangeWindowDao;
@Autowired
- ChangeManagementDetailDAO cmDetailsDao;
+ ChangeManagementDetailDao cmDetailsDao;
@Autowired
- ScheduleQueryDAO scheduleQueryDao;
+ ScheduleQueryDao scheduleQueryDao;
@Autowired
- ScheduleDAO scheduleDao;
+ ScheduleDao scheduleDao;
@Autowired
- ElementDataDAO elementDataDao;
+ ElementDataDao elementDataDao;
@Autowired
TmClient tmClient;
protected void createSchedule(OptimizedScheduleMessage scheduleMessage, String scheduleId,
- HttpServletRequest request) throws CMSException, JsonProcessingException {
+ HttpServletRequest request) throws CmsoException, JsonProcessingException {
if (!scheduleMessage.getDomain().equals(DomainsEnum.ChangeManagement.toString())) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "domain",
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "domain",
scheduleMessage.getDomain());
}
if (scheduleMessage.getScheduleId() == null || !scheduleMessage.getScheduleId().equals(scheduleId)) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "schedulerId",
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "schedulerId",
scheduleMessage.getScheduleId());
}
// Force the name to be = to the ID because there is no way fot the provide a
* Returns whether this is an immediate request.
*/
private boolean validate(OptimizedScheduleMessage scheduleMessage, Map<String, List<ElementInfo>> groups)
- throws CMSException {
+ throws CmsoException {
SchedulingData info = scheduleMessage.getSchedulingData();
boolean immediate = true;
if (info == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.UNABLE_TO_PARSE_SCHEDULING_INFO);
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.UNABLE_TO_PARSE_SCHEDULING_INFO);
}
if (info.getAdditionalDurationInSeconds() == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE,
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE,
"additionalDurationInSeconds");
}
if (info.getNormalDurationInSeconds() == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE,
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE,
"normalDurationInSeconds");
}
if (info.getAdditionalDurationInSeconds() < 0) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "additionalDurationInSeconds",
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "additionalDurationInSeconds",
info.getAdditionalDurationInSeconds().toString());
}
if (info.getNormalDurationInSeconds() < 1) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "normalDurationInSeconds",
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "normalDurationInSeconds",
info.getNormalDurationInSeconds().toString());
}
if (info.getChangeWindows() != null && info.getChangeWindows().size() > 0) {
for (ChangeWindow cw : info.getChangeWindows()) {
immediate = false;
if (cw.getStartTime() == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "startTime");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "startTime");
}
if (cw.getEndTime() == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "endTime");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "endTime");
}
Date start = cw.getStartTime();
Date end = cw.getEndTime();
if (!end.after(start)) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_CHANGE_WINDOW, start.toString(),
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_CHANGE_WINDOW, start.toString(),
end.toString());
}
}
if (info.getConcurrencyLimit() == null) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "concurrencyLimit");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "concurrencyLimit");
}
if (info.getConcurrencyLimit() < 1) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "concurrencyLimit",
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_ATTRIBUTE, "concurrencyLimit",
info.getConcurrencyLimit().toString());
}
}
if (info.getElements() == null || info.getElements().size() == 0) {
- throw new CMSException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "elements");
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.MISSING_REQUIRED_ATTRIBUTE, "elements");
}
for (ElementInfo element : info.getElements()) {
}
private void createChangeManagement(Schedule schedule, OptimizedScheduleMessage scheduleMessage,
- Map<String, List<ElementInfo>> groups) throws CMSException {
+ Map<String, List<ElementInfo>> groups) throws CmsoException {
SchedulingData schedulingInfo = scheduleMessage.getSchedulingData();
for (String groupId : groups.keySet()) {
cms.setUuid(UUID.randomUUID());
cms.setChangeManagementGroupUuid(cmg.getUuid());
cms.setVnfName(element.getElementId());
- cms.setStatus(CMSStatusEnum.PendingSchedule.toString());
+ cms.setStatus(CmsoStatusEnum.PendingSchedule.toString());
cms.setRequest(element.getRequest().toString());
cmScheduleDao.save(cms);
// Save elementData
}
private void createChangeManagementImmediate(Schedule schedule, OptimizedScheduleMessage scheduleMessage,
- Map<String, List<ElementInfo>> groups) throws CMSException, JsonProcessingException {
+ Map<String, List<ElementInfo>> groups) throws CmsoException, JsonProcessingException {
SchedulingData schedulingInfo = scheduleMessage.getSchedulingData();
for (String groupId : groups.keySet()) {
ChangeManagementGroup cmg = new ChangeManagementGroup();
cms.setChangeManagementGroupUuid(cmg.getUuid());
cms.setVnfName(element.getElementId());
cms.setRequest(element.getRequest().toString());
- cms.setStatus(CMSStatusEnum.PendingApproval.toString());
+ cms.setStatus(CmsoStatusEnum.PendingApproval.toString());
cmScheduleDao.save(cms);
}
- schedule.setStatus(CMSStatusEnum.PendingApproval.toString());
+ schedule.setStatus(CmsoStatusEnum.PendingApproval.toString());
scheduleDao.save(schedule);
}
}
- protected void deleteChangeManagement(Schedule schedule) throws CMSException {
+ protected void deleteChangeManagement(Schedule schedule) throws CmsoException {
List<ChangeManagementGroup> cmgs = cmGroupDao.findBySchedulesId(schedule.getUuid());
for (ChangeManagementGroup cmg : cmgs) {
List<ChangeManagementSchedule> schedules = cmScheduleDao.findByChangeManagementGroupId(cmg.getUuid());
for (ChangeManagementSchedule s : schedules) {
- CMSStatusEnum currentState = CMSStatusEnum.Completed.fromString(s.getStatus());
+ CmsoStatusEnum currentState = CmsoStatusEnum.Completed.fromString(s.getStatus());
switch (currentState) {
case Scheduled:
if (s.getTmChangeId() != null && !s.getTmChangeId().equals("")) {
tmClient.cancelTicket(schedule, s, s.getTmChangeId());
}
- s.setStatus(CMSStatusEnum.Cancelled.toString());
+ s.setStatus(CmsoStatusEnum.Cancelled.toString());
break;
case Triggered:
// Too late...
break;
default:
- s.setStatus(CMSStatusEnum.Deleted.toString());
+ s.setStatus(CmsoStatusEnum.Deleted.toString());
}
cmScheduleDao.save(s);
}
// Marshall commonData into DB DomainData
// No validation.
//
- private List<DomainData> marshallDomainData(OptimizedScheduleMessage scheduleMessage) throws CMSException {
+ private List<DomainData> marshallDomainData(OptimizedScheduleMessage scheduleMessage) throws CmsoException {
List<NameValue> domainData = scheduleMessage.getCommonData();
List<DomainData> domainDataList = new ArrayList<DomainData>();
for (NameValue nameValue : domainData) {
protected void processApproveScheduleRequest(Schedule sch, ApprovalMessage approval, List<DomainData> domainData)
- throws CMSException {
+ throws CmsoException {
sch = scheduleDao.lockOne(sch.getUuid());
String domain = DomainsEnum.ChangeManagement.toString();
processApproval(sch, domain, approval);
- if (sch.getStatus().equals(CMSStatusEnum.Accepted.toString())) {
+ if (sch.getStatus().equals(CmsoStatusEnum.Accepted.toString())) {
openTickets(sch, domainData);
}
- if (sch.getStatus().equals(CMSStatusEnum.Rejected.toString())) {
- updateChangeManagementSchedules(sch, CMSStatusEnum.ApprovalRejected);
+ if (sch.getStatus().equals(CmsoStatusEnum.Rejected.toString())) {
+ updateChangeManagementSchedules(sch, CmsoStatusEnum.ApprovalRejected);
}
}
- private void openTickets(Schedule sch, List<DomainData> domainData) throws CMSException {
+ private void openTickets(Schedule sch, List<DomainData> domainData) throws CmsoException {
debug.debug("Entered openTickets scheduleId=" + sch.getScheduleId());
Integer maxvnfsperticket = env.getProperty("tm.vnfs.per.ticket", Integer.class, 1);
}
private void openTicketForList(Schedule schedule, ChangeManagementGroup group, List<ChangeManagementSchedule> list,
- List<DomainData> domainData) throws CMSException {
+ List<DomainData> domainData) throws CmsoException {
List<String> vnfNames = new ArrayList<>();
for (ChangeManagementSchedule cms : list) {
vnfNames.add(cms.getVnfName());
cms.setTmApprovalStatus(TmApprovalStatusEnum.Approved.toString());
// cms.setStatus(CMSStatusEnum.PendingApproval.toString());
if (cms.getStartTimeMillis() == null) {
- cms.setStatus(CMSStatusEnum.ScheduledImmediate.toString());
+ cms.setStatus(CmsoStatusEnum.ScheduledImmediate.toString());
}
else {
- cms.setStatus(CMSStatusEnum.Scheduled.toString());
+ cms.setStatus(CmsoStatusEnum.Scheduled.toString());
}
cmScheduleDao.save(cms);
}
- schedule.setStatus(CMSStatusEnum.Scheduled.toString());
+ schedule.setStatus(CmsoStatusEnum.Scheduled.toString());
scheduleDao.save(schedule);
}
- private void updateChangeManagementSchedules(Schedule sch, CMSStatusEnum approvalrejected) {
+ private void updateChangeManagementSchedules(Schedule sch, CmsoStatusEnum approvalrejected) {
debug.debug("Entered updateChangeManagementSchedules");
List<ChangeManagementGroup> groups = cmGroupDao.findBySchedulesId(sch.getUuid());
for (ChangeManagementGroup group : groups) {
import javax.ws.rs.core.Context;\r
import javax.ws.rs.core.Response;\r
import javax.ws.rs.core.UriInfo;\r
-import org.onap.optf.cmso.model.dao.ApprovalTypeDAO;\r
+import org.onap.optf.cmso.model.dao.ApprovalTypeDao;\r
import org.onap.optf.cmso.optimizer.CmsoOptimizerClient;\r
import org.onap.optf.cmso.service.rs.models.HealthCheckComponent;\r
import org.onap.optf.cmso.service.rs.models.HealthCheckMessage;\r
CmsoOptimizerClient optimizerClient;\r
\r
@Autowired\r
- ApprovalTypeDAO approvalTypeDao;\r
+ ApprovalTypeDao approvalTypeDao;\r
\r
@Autowired\r
Environment env;\r
+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- *\r
- * Unless otherwise specified, all documentation contained herein is licensed\r
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
- * you may not use this documentation except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * https://creativecommons.org/licenses/by/4.0/\r
- *\r
- * Unless required by applicable law or agreed to in writing, documentation\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
-*/\r
-\r
-package org.onap.optf.cmso.service.rs.models;\r
-\r
-import com.att.eelf.configuration.EELFLogger;\r
-import com.att.eelf.configuration.EELFManager;\r
-import com.fasterxml.jackson.core.JsonProcessingException;\r
-import com.fasterxml.jackson.databind.ObjectMapper;\r
-import io.swagger.annotations.ApiModel;\r
-import io.swagger.annotations.ApiModelProperty;\r
-import java.io.Serializable;\r
-import java.util.List;\r
-\r
-/**\r
- * The persistent class for the approval_types database table.\r
- *\r
- */\r
-@ApiModel(value = "Change Management Scheduling Info", description = "Details of schedule being requested")\r
-public class CMSInfo implements Serializable {\r
- private static EELFLogger log = EELFManager.getInstance().getLogger(CMSInfo.class);\r
-\r
- private static final long serialVersionUID = 1L;\r
-\r
- @ApiModelProperty(value = "Expected duration (in seconds) of a successful execution of a single VNF change.")\r
- private Integer normalDurationInSeconds;\r
-\r
- @ApiModelProperty(\r
- value = "Additional duration (in seconds) to be added to support backout of an unsuccessful VNF change.")\r
- private Integer additionalDurationInSeconds;\r
-\r
- @ApiModelProperty(value = "Maximum number of VNF changes to schedule concurrently")\r
- private Integer concurrencyLimit;\r
-\r
- @ApiModelProperty(\r
- value = "Name of schedule optimization policy used by the"\r
- + " change management cmso optimizer to determine available time slot")\r
- private String policyId;\r
-\r
- @ApiModelProperty(value = "Lists of the VNFs to be changed and the desired change windows")\r
- private List<VnfDetailsMessage> vnfDetails;\r
-\r
- @Override\r
- public String toString() {\r
- ObjectMapper mapper = new ObjectMapper();\r
- try {\r
- return mapper.writeValueAsString(this);\r
- } catch (JsonProcessingException e) {\r
- log.debug("Error in toString()", e);\r
- }\r
- return "";\r
- }\r
-\r
- public Integer getNormalDurationInSeconds() {\r
- return normalDurationInSeconds;\r
- }\r
-\r
- public void setNormalDurationInSeconds(Integer normalDurationInSeconds) {\r
- this.normalDurationInSeconds = normalDurationInSeconds;\r
- }\r
-\r
- public Integer getAdditionalDurationInSeconds() {\r
- return additionalDurationInSeconds;\r
- }\r
-\r
- public void setAdditionalDurationInSeconds(Integer additionalDurationInSeconds) {\r
- this.additionalDurationInSeconds = additionalDurationInSeconds;\r
- }\r
-\r
- public Integer getConcurrencyLimit() {\r
- return concurrencyLimit;\r
- }\r
-\r
- public void setConcurrencyLimit(Integer concurrencyLimit) {\r
- this.concurrencyLimit = concurrencyLimit;\r
- }\r
-\r
- public String getPolicyId() {\r
- return policyId;\r
- }\r
-\r
- public void setPolicyId(String policyId) {\r
- this.policyId = policyId;\r
- }\r
-\r
- public List<VnfDetailsMessage> getVnfDetails() {\r
- return vnfDetails;\r
- }\r
-\r
- public void setVnfDetails(List<VnfDetailsMessage> vnfDetails) {\r
- this.vnfDetails = vnfDetails;\r
- }\r
-}\r
+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- *\r
- * Unless otherwise specified, all documentation contained herein is licensed\r
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
- * you may not use this documentation except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * https://creativecommons.org/licenses/by/4.0/\r
- *\r
- * Unless required by applicable law or agreed to in writing, documentation\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
-*/\r
-\r
-package org.onap.optf.cmso.service.rs.models;\r
-\r
-import com.att.eelf.configuration.EELFLogger;\r
-import com.att.eelf.configuration.EELFManager;\r
-import com.fasterxml.jackson.databind.ObjectMapper;\r
-import io.swagger.annotations.ApiModel;\r
-import java.io.Serializable;\r
-import org.onap.optf.cmso.common.LogMessages;\r
-\r
-/**\r
- * The persistent class for the approval_types database table.\r
- *\r
- */\r
-@ApiModel\r
-public class CMSMessage extends ScheduleMessage implements Serializable {\r
- private static final long serialVersionUID = 1L;\r
-\r
- private static EELFLogger errors = EELFManager.getInstance().getErrorLogger();\r
- private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
-\r
- private CMSInfo schedulingInfo;\r
-\r
- @Override\r
- public CMSInfo getSchedulingInfo() {\r
- // TODO Auto-generated method stub\r
- return schedulingInfo;\r
- }\r
-\r
- @Override\r
- public void setSchedulingInfo(Object info) {\r
- ObjectMapper mapper = new ObjectMapper();\r
- try {\r
- String jsonString = mapper.writeValueAsString(info);\r
- schedulingInfo = mapper.readValue(jsonString, CMSInfo.class);\r
- } catch (Exception e) {\r
- debug.debug(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- errors.error(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- }\r
-\r
- }\r
-\r
-}\r
import org.onap.observations.Mdc;\r
import org.onap.observations.Observation;\r
import org.onap.optf.cmso.common.BasicAuthenticatorFilter;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.common.PropertiesManagement;\r
import org.onap.optf.cmso.filters.CmsoClientFilters;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.onap.optf.cmso.service.rs.models.HealthCheckComponent;\r
import org.onap.optf.cmso.so.bean.MsoOrchestrationQueryResponse;\r
import org.onap.optf.cmso.so.bean.MsoOrchestrationQueryResponse.MsoStatus;\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
- ChangeManagementGroupDAO cmGroupdao;\r
+ ChangeManagementGroupDao cmGroupdao;\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
@Autowired\r
Environment env;\r
switch (msoStatus) {\r
case COMPLETE:\r
cmSchedule.setExecutionCompletedTimeMillis(finishTime);\r
- cmSchedule.setStatus(CMSStatusEnum.Completed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Completed.toString());\r
break;\r
case FAILED:\r
cmSchedule.setExecutionCompletedTimeMillis(finishTime);\r
- cmSchedule.setStatus(CMSStatusEnum.Failed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Failed.toString());\r
break;\r
case UNKNOWN:\r
default:\r
}\r
} else {\r
// Do not keep polling...\r
- cmSchedule.setStatus(CMSStatusEnum.Error.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Error.toString());\r
cmSchedule.setMsoStatus("Bad Response");\r
cmSchedule.setMsoMessage("Unable to parse :" + respString);\r
\r
break;\r
case 404: { // Not found\r
// Do not keep polling...\r
- cmSchedule.setStatus(CMSStatusEnum.Failed.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Failed.toString());\r
cmSchedule.setMsoStatus("Not found");\r
cmSchedule.setMsoMessage("Call to MSO Failed :" + response.toString());\r
}\r
break;\r
case 400: { // Bad request\r
// Do not keep polling...\r
- cmSchedule.setStatus(CMSStatusEnum.Error.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Error.toString());\r
cmSchedule.setMsoStatus("Bad Request");\r
cmSchedule.setMsoMessage("Call to MSO Failed :" + response.toString());\r
}\r
break;\r
case 500:\r
default: {\r
- cmSchedule.setStatus(CMSStatusEnum.Error.toString());\r
+ cmSchedule.setStatus(CmsoStatusEnum.Error.toString());\r
cmSchedule.setMsoStatus("Failed");\r
cmSchedule.setMsoMessage("Call to MSO Failed :" + response.toString());\r
}\r
import org.onap.observations.Mdc;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
import org.quartz.DisallowConcurrentExecution;\r
import org.quartz.Job;\r
import org.quartz.JobExecutionContext;\r
MsoStatusClient mso;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
Environment env;\r
import org.onap.optf.cmso.filters.CmsoClientFilters;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
import org.onap.optf.cmso.model.Schedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.quartz.DisallowConcurrentExecution;\r
import org.quartz.Job;\r
import org.quartz.JobExecutionContext;\r
private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
PropertiesManagement pm;\r
import org.onap.optf.cmso.common.CmHelpers;\r
import org.onap.optf.cmso.common.LogMessages;\r
import org.onap.optf.cmso.common.PropertiesManagement;\r
-import org.onap.optf.cmso.common.exceptions.CMSException;\r
+import org.onap.optf.cmso.common.exceptions.CmsoException;\r
import org.onap.optf.cmso.filters.CmsoClientFilters;\r
import org.onap.optf.cmso.model.ChangeManagementGroup;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
import org.onap.optf.cmso.model.DomainData;\r
import org.onap.optf.cmso.model.Schedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
import org.onap.optf.cmso.service.rs.models.CmDomainDataEnum;\r
import org.onap.optf.cmso.service.rs.models.HealthCheckComponent;\r
import org.onap.optf.cmso.ticketmgt.TmEndpoints.Endpoint;\r
PropertiesManagement pm;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
BuildCreateRequest buildCreateRequest;\r
* @param vnfNames the vnf names\r
* @param domainData the domain data\r
* @return the string\r
- * @throws CMSException the CMS exception\r
+ * @throws CmsoException the CMS exception\r
*/\r
public String createChangeTicket(Schedule schedule, ChangeManagementGroup group, List<String> vnfNames,\r
- List<DomainData> domainData) throws CMSException {\r
+ List<DomainData> domainData) throws CmsoException {\r
\r
String changeId = "";\r
String workflowName = CmHelpers.getDomainData(domainData, CmDomainDataEnum.WorkflowName);\r
* @param changeId the change id\r
* @param closureCode the closure code\r
* @param closingComments the closing comments\r
- * @throws CMSException the CMS exception\r
+ * @throws CmsoException the CMS exception\r
*/\r
public void closeTicket(Schedule schedule, ChangeManagementGroup group, List<ChangeManagementSchedule> cmSchedules,\r
- String changeId, ClosureCode closureCode, String closingComments) throws CMSException {\r
+ String changeId, ClosureCode closureCode, String closingComments) throws CmsoException {\r
Map<String, Object> variables =\r
getCloseVariables(schedule, group, cmSchedules, changeId, closureCode, closingComments);\r
JsonNode closeChangeRecord = buildCreateRequest.createCloseCancelChangeRecord(variables);\r
* @param schedule the schedule\r
* @param cms the cms\r
* @param changeId the change id\r
- * @throws CMSException the CMS exception\r
+ * @throws CmsoException the CMS exception\r
*/\r
- public void cancelTicket(Schedule schedule, ChangeManagementSchedule cms, String changeId) throws CMSException {\r
+ public void cancelTicket(Schedule schedule, ChangeManagementSchedule cms, String changeId) throws CmsoException {\r
Map<String, Object> variables = getCancelVariables(schedule, changeId);\r
JsonNode cancelChangeRecord = buildCreateRequest.createCancelChangeRecord(variables);\r
debug.debug("cancelChangeRecord=" + cancelChangeRecord.toString());\r
* @param schedule the schedule\r
* @param cms the cms\r
* @param changeId the change id\r
- * @throws CMSException the CMS exception\r
+ * @throws CmsoException the CMS exception\r
*/\r
- public void updateTicket(Schedule schedule, ChangeManagementSchedule cms, String changeId) throws CMSException {\r
+ public void updateTicket(Schedule schedule, ChangeManagementSchedule cms, String changeId) throws CmsoException {\r
Map<String, Object> variables = getUpdateVariables(schedule, changeId);\r
JsonNode updateChangeRecord = buildCreateRequest.createUpdateChangeRecord(variables);\r
debug.debug("updateChangeRecord=" + updateChangeRecord.toString());\r
}\r
\r
private void postCloseChangeTicket(JsonNode closeChangeRecord, String scheduleId, String changeId)\r
- throws CMSException {\r
+ throws CmsoException {\r
Map<String, String> mdcSave = Mdc.save();\r
try {\r
Response response = null;\r
if (!isAlreadyClosed(respString)) {\r
Observation.report(LogMessages.UNEXPECTED_RESPONSE, "vTM", String.valueOf(response.getStatus()),\r
response.toString() + " : " + respString);\r
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_CLOSE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_CLOSE_CHANGE_TICKET,\r
scheduleId, changeId, respString);\r
}\r
}\r
String message = response.readEntity(String.class);\r
Observation.report(LogMessages.UNEXPECTED_RESPONSE, "vTM", String.valueOf(response.getStatus()),\r
response.toString() + " : " + message);\r
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_CLOSE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_CLOSE_CHANGE_TICKET,\r
scheduleId, changeId, message);\r
}\r
}\r
} catch (ProcessingException e) {\r
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_CLOSE_CHANGE_TICKET, scheduleId,\r
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_CLOSE_CHANGE_TICKET, scheduleId,\r
changeId, e.toString());\r
} finally {\r
Mdc.restore(mdcSave);\r
\r
}\r
\r
- private String postCreateChangeTicket(JsonNode createChangeRecord, String scheduleId) throws CMSException {\r
+ private String postCreateChangeTicket(JsonNode createChangeRecord, String scheduleId) throws CmsoException {\r
String changeId = null;\r
Map<String, String> mdcSave = Mdc.save();\r
try {\r
} else {\r
Observation.report(LogMessages.UNEXPECTED_RESPONSE, "vTM", String.valueOf(response.getStatus()),\r
response.toString() + " : " + "Response is empty");\r
- throw new CMSException(Status.EXPECTATION_FAILED, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.EXPECTATION_FAILED, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
scheduleId, "Response is empty");\r
}\r
}\r
String message = response.readEntity(String.class);\r
Observation.report(LogMessages.UNEXPECTED_RESPONSE, "vTM", String.valueOf(response.getStatus()),\r
response.toString() + " : " + message);\r
- throw new CMSException(Status.EXPECTATION_FAILED, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.EXPECTATION_FAILED, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
scheduleId, message);\r
}\r
}\r
} catch (ProcessingException e) {\r
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- throw new CMSException(Status.EXPECTATION_FAILED, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET, scheduleId,\r
+ throw new CmsoException(Status.EXPECTATION_FAILED, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET, scheduleId,\r
e.toString());\r
} finally {\r
Mdc.restore(mdcSave);\r
}\r
\r
private String postUpdateChangeTicket(JsonNode updateChangeRecord, String scheduleId, String changeId)\r
- throws CMSException {\r
+ throws CmsoException {\r
Map<String, String> mdcSave = Mdc.save();\r
try {\r
String url = env.getProperty("vtm.url") + env.getProperty("vtm.updatePath");\r
String message = response.readEntity(String.class);\r
Observation.report(LogMessages.UNEXPECTED_RESPONSE, "vTM", String.valueOf(response.getStatus()),\r
response.toString() + " : " + message);\r
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_UPDATE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_UPDATE_CHANGE_TICKET,\r
scheduleId, changeId, message);\r
}\r
}\r
} catch (ProcessingException e) {\r
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.getMessage());\r
- throw new CMSException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_UPDATE_CHANGE_TICKET, scheduleId,\r
+ throw new CmsoException(Status.PRECONDITION_FAILED, LogMessages.UNABLE_TO_UPDATE_CHANGE_TICKET, scheduleId,\r
changeId, e.toString());\r
} finally {\r
Mdc.restore(mdcSave);\r
}\r
\r
\r
- private Response tmPost(Endpoint ep, Object request, String scheduleId) throws CMSException {\r
+ private Response tmPost(Endpoint ep, Object request, String scheduleId) throws CmsoException {\r
Response response = null;\r
List<String> endpoints = new ArrayList<>();\r
String url = tmEndpoints.getEndpoint(ep, endpoints);\r
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.toString());\r
url = tmEndpoints.getNextEndpoint(ep, endpoints);\r
if (url == null || !tryNextUrl(e)) {\r
- throw new CMSException(Status.INTERNAL_SERVER_ERROR, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.INTERNAL_SERVER_ERROR, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
scheduleId, e.getMessage());\r
}\r
} catch (Exception e) {\r
Observation.report(LogMessages.UNEXPECTED_EXCEPTION, e, e.toString());\r
- throw new CMSException(Status.INTERNAL_SERVER_ERROR, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
+ throw new CmsoException(Status.INTERNAL_SERVER_ERROR, LogMessages.UNABLE_TO_CREATE_CHANGE_TICKET,\r
scheduleId, e.getMessage());\r
}\r
}\r
import java.util.Set;\r
import java.util.UUID;\r
import javax.transaction.Transactional;\r
-import org.onap.optf.cmso.common.CMSStatusEnum;\r
+import org.onap.optf.cmso.common.CmsoStatusEnum;\r
import org.onap.optf.cmso.common.LogMessages;\r
-import org.onap.optf.cmso.common.exceptions.CMSException;\r
+import org.onap.optf.cmso.common.exceptions.CmsoException;\r
import org.onap.optf.cmso.model.ChangeManagementGroup;\r
import org.onap.optf.cmso.model.ChangeManagementSchedule;\r
import org.onap.optf.cmso.model.Schedule;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementGroupDAO;\r
-import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDAO;\r
-import org.onap.optf.cmso.model.dao.ScheduleDAO;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementGroupDao;\r
+import org.onap.optf.cmso.model.dao.ChangeManagementScheduleDao;\r
+import org.onap.optf.cmso.model.dao.ScheduleDao;\r
import org.springframework.beans.factory.annotation.Autowired;\r
import org.springframework.core.env.Environment;\r
import org.springframework.stereotype.Component;\r
Environment env;\r
\r
@Autowired\r
- ScheduleDAO scheduleDao;\r
+ ScheduleDao scheduleDao;\r
\r
@Autowired\r
- ChangeManagementScheduleDAO cmScheduleDao;\r
+ ChangeManagementScheduleDao cmScheduleDao;\r
\r
@Autowired\r
- ChangeManagementGroupDAO cmGroupDao;\r
+ ChangeManagementGroupDao cmGroupDao;\r
\r
@Autowired\r
TmClient tmClient;\r
// Multiple cmso instance support - re-get the record with a Schedule lock\r
UUID uuid = UUID.fromString(id);\r
Schedule sch = scheduleDao.lockOne(uuid);\r
- if (!sch.getStatus().equals(CMSStatusEnum.NotificationsInitiated.toString())) {\r
- debug.debug(sch.getScheduleId() + " is no longer in " + CMSStatusEnum.NotificationsInitiated.toString()\r
+ if (!sch.getStatus().equals(CmsoStatusEnum.NotificationsInitiated.toString())) {\r
+ debug.debug(sch.getScheduleId() + " is no longer in " + CmsoStatusEnum.NotificationsInitiated.toString()\r
+ " : it is " + sch.getStatus());\r
// Attempt at avoiding race condition in a load balance env. ?\r
return;\r
}\r
//\r
if (groupStatus.containsKey(GroupAuditStatus.CompletedWithErrors)) {\r
- sch.setStatus(CMSStatusEnum.CompletedWithError.toString());\r
+ sch.setStatus(CmsoStatusEnum.CompletedWithError.toString());\r
}\r
if (groupStatus.containsKey(GroupAuditStatus.Completed)) {\r
- sch.setStatus(CMSStatusEnum.Completed.toString());\r
+ sch.setStatus(CmsoStatusEnum.Completed.toString());\r
}\r
scheduleDao.save(sch);\r
} catch (Exception e) {\r
}\r
}\r
\r
- private void processGroup(Schedule sch, ChangeManagementGroup group) throws CMSException {\r
+ private void processGroup(Schedule sch, ChangeManagementGroup group) throws CmsoException {\r
debug.debug("{Processing status of " + sch.getScheduleId() + " group=" + group.getGroupId());\r
// Get status of all VNFs within a ticket within the group (Tickets will not\r
// span groups)\r
for (ChangeManagementSchedule cmSchedule : cmSchedules) {\r
String status = cmSchedule.getStatus();\r
String tmStatus = cmSchedule.getTmStatus();\r
- CMSStatusEnum cmsStatus = CMSStatusEnum.Completed.fromString(status);\r
+ CmsoStatusEnum cmsStatus = CmsoStatusEnum.Completed.fromString(status);\r
switch (cmsStatus) {\r
case Scheduled:\r
case Triggered:\r
allNames.add(vnfName);\r
String status = cmSchedule.getStatus();\r
String tmStatus = cmSchedule.getTmStatus();\r
- CMSStatusEnum cmsStatus = CMSStatusEnum.Completed.fromString(status);\r
+ CmsoStatusEnum cmsStatus = CmsoStatusEnum.Completed.fromString(status);\r
switch (cmsStatus) {\r
case Scheduled:\r
case Triggered:\r
\r
private void closeTheTicket(Schedule sch, ChangeManagementGroup group, String changeId,\r
List<ChangeManagementSchedule> list, ClosureCode closureCode, String closingComments)\r
- throws CMSException {\r
+ throws CmsoException {\r
debug.debug("Closing ticket " + changeId + ":" + closureCode);\r
try {\r
tmClient.closeTicket(sch, group, list, changeId, closureCode, closingComments);\r
cms.setTmStatus("Closed");\r
cmScheduleDao.save(cms);\r
}\r
- } catch (CMSException e) {\r
+ } catch (CmsoException e) {\r
throw e;\r
}\r
\r
<version>1.0.1-SNAPSHOT</version>
</parent>
- <groupId>org.onap.optf.cmso.tcketmgt</groupId>
+ <groupId>org.onap.optf.cmso.ticketmgt</groupId>
<artifactId>cmso-ticketmgt</artifactId>
<packaging>jar</packaging>
}
/** The Constant supportedMajorVersions. */
- public static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();
+ private static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();
static {
supportedMajorVersions.put("v1", "0");
}
/** The Constant supportedMajorMinorVersions. */
- public static final Set<String> supportedMajorMinorVersions = new HashSet<String>();
+ private static final Set<String> supportedMajorMinorVersions = new HashSet<String>();
static {
supportedMajorMinorVersions.add("v1.0");
}
/** The Constant latestVersion. */
- public static final String latestVersion = "2.0.0";
+ private static final String latestVersion = "2.0.0";
/** The Constant patchVersion. */
- public static final String patchVersion = "0";
+ private static final String patchVersion = "0";
/**
* From string.
}
return true;
}
+
+ public static Map<String, String> getSupportedmajorversions() {
+ return supportedMajorVersions;
+ }
+
+ public static Set<String> getSupportedmajorminorversions() {
+ return supportedMajorMinorVersions;
+ }
+
+ public static String getLatestversion() {
+ return latestVersion;
+ }
+
+ public static String getPatchversion() {
+ return patchVersion;
+ }
}
import org.springframework.core.env.MapPropertySource;
import org.springframework.core.env.MutablePropertySources;
-public class CMSEnvironmentPostProcessor implements EnvironmentPostProcessor {
+public class CmsoEnvironmentPostProcessor 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
import java.util.ArrayList;
import java.util.List;
-public class CMSRequestError implements Serializable {
+public class CmsoRequestError implements Serializable {
private static final long serialVersionUID = 1L;
@JsonProperty
RequestError requestError;
- public CMSRequestError(String messageId, String text, List<String> variables) {
+ public CmsoRequestError(String messageId, String text, List<String> variables) {
requestError = new RequestError(messageId, text, variables);
}
- public CMSRequestError(String messageId, String text) {
+ public CmsoRequestError(String messageId, String text) {
requestError = new RequestError(messageId, text, new ArrayList<String>());
}
import java.util.List;
import javax.ws.rs.core.Response.Status;
import org.onap.observations.ObservationInterface;
-import org.onap.optf.cmso.common.CMSRequestError;
+import org.onap.optf.cmso.common.CmsoRequestError;
-public class CMSException extends Exception {
+public class CmsoException extends Exception {
private static final long serialVersionUID = 1L;
- protected CMSRequestError requestError = null;
+ protected CmsoRequestError requestError = null;
private List<String> variables = new ArrayList<String>();
protected ObservationInterface messageCode;
protected Status status;
* @param messageCode the message code
* @param args the args
*/
- public CMSException(Status status, ObservationInterface messageCode, String... args) {
+ public CmsoException(Status status, ObservationInterface messageCode, String... args) {
super(EELFResourceManager.format(messageCode, args));
this.status = status;
this.messageCode = messageCode;
for (String arg : args) {
variables.add(arg);
}
- requestError = new CMSRequestError(messageCode.name(), getMessage(), variables);
+ requestError = new CmsoRequestError(messageCode.name(), getMessage(), variables);
}
public Status getStatus() {
return variables.toArray(new String[variables.size()]);
}
- public CMSRequestError getRequestError() {
+ public CmsoRequestError getRequestError() {
return requestError;
}
}
import org.springframework.core.env.MapPropertySource;
import org.springframework.core.env.MutablePropertySources;
-public class CMSEnvironmentPostProcessor implements EnvironmentPostProcessor {
+public class CmsoEnvironmentPostProcessor 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
import org.glassfish.jersey.logging.LoggingFeature;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.servlet.ServletProperties;
-import org.onap.optf.ticketmgt.filters.CMSOContainerFilters;
+import org.onap.optf.ticketmgt.filters.CmsoContainerFilters;
import org.onap.optf.ticketmgt.service.rs.AdminToolImpl;
import org.onap.optf.ticketmgt.service.rs.AvailabilityInterfaceImpl;
import org.onap.optf.ticketmgt.service.rs.HealthCheckImpl;
// TODO: Examine which logging features to enable
register(new LoggingFeature(log));
- register(CMSOContainerFilters.class);
+ register(CmsoContainerFilters.class);
}
/**
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.onap.observations.Observation;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
import org.onap.optf.ticketmgt.SpringProfiles;
import org.onap.optf.ticketmgt.common.LogMessages;
import org.springframework.beans.factory.annotation.Value;
if (!request.isUserInRole(permission)) {
Observation.report(LogMessages.UNAUTHORIZED);
ResponseFormatter.errorResponse(request, response,
- new CMSException(LogMessages.UNAUTHORIZED.getStatus(), LogMessages.UNAUTHORIZED, ""));
+ new CmsoException(LogMessages.UNAUTHORIZED.getStatus(), LogMessages.UNAUTHORIZED, ""));
} else {
filterChain.doFilter(request, response);
}
import org.onap.aaf.cadi.PropAccess;
import org.onap.aaf.cadi.filter.CadiFilter;
import org.onap.observations.Observation;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
import org.onap.optf.ticketmgt.Application;
import org.onap.optf.ticketmgt.SpringProfiles;
import org.onap.optf.ticketmgt.common.LogMessages;
cadiFilter.doFilter(request, response, filterChain);
if (response.getStatus() >= 400 && response.getStatus() < 500) {
Observation.report(LogMessages.UNAUTHENTICATED);
- ResponseFormatter.errorResponse(request, response, new CMSException(
+ ResponseFormatter.errorResponse(request, response, new CmsoException(
LogMessages.UNAUTHENTICATED.getStatus(), LogMessages.UNAUTHENTICATED, ""));
}
} else {
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.onap.optf.cmso.common.exceptions.CMSException;
+import org.onap.optf.cmso.common.exceptions.CmsoException;
class ResponseFormatter {
- static void errorResponse(HttpServletRequest request, HttpServletResponse response, CMSException error)
+ static void errorResponse(HttpServletRequest request, HttpServletResponse response, CmsoException error)
throws IOException {
response.setStatus(error.getStatus().getStatusCode());
response.getWriter().write(error.getRequestError().toString());
// @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
@Component
-public class CMSOClientFilters implements ClientRequestFilter, ClientResponseFilter {
+public class CmsoClientFilters implements ClientRequestFilter, ClientResponseFilter {
private static String appId = "cmso";
@Priority(1)
@Provider
@Component
-public class CMSOContainerFilters implements ContainerRequestFilter, ContainerResponseFilter {
+public class CmsoContainerFilters implements ContainerRequestFilter, ContainerResponseFilter {
@Context
MultivaluedMap<String, Object> respHeaders = responseContext.getHeaders();
String minorVersion = reqHeaders.getFirst(HeadersEnum.MinorVersion.toString());
respHeaders.add(HeadersEnum.MinorVersion.toString(), minorVersion);
- respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.latestVersion);
- respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.patchVersion);
+ respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.getLatestversion());
+ respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.getPatchversion());
} catch (Exception e) {
if (e instanceof WebApplicationException) {
}
String minorVersion = headers.getFirst(HeadersEnum.MinorVersion.toString());
if (minorVersion == null) {
- minorVersion = MessageHeaders.supportedMajorVersions.get(majorVersion);
+ minorVersion = MessageHeaders.getSupportedmajorversions().get(majorVersion);
headers.add(HeadersEnum.MinorVersion.toString(), minorVersion);
}
if (!MessageHeaders.validateMajorMinorVersion(majorVersion, minorVersion)) {
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.onap.optf.cmso.common.CMSRequestError;
+import org.onap.optf.cmso.common.CmsoRequestError;
import org.onap.optf.ticketmgt.service.rs.models.ActiveTicketsRequest;
import org.onap.optf.ticketmgt.service.rs.models.ActiveTicketsResponse;
import org.springframework.web.bind.annotation.PathVariable;
+ "optimizer will begin to poll the request until COMPLETED.",
response = ActiveTicketsResponse.class)
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
- @ApiResponse(code = 400, message = "Bad request", response = CMSRequestError.class),
+ @ApiResponse(code = 400, message = "Bad request", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response getActiveTickets(
@ApiParam(value = "v1") @PathParam("apiVersion") @PathVariable(
+ "receipt of the response.",
response = ActiveTicketsResponse.class)
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
- @ApiResponse(code = 404, message = "Not found.", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "Not found.", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response pollActiveTickets(
@ApiParam(value = "v1") @PathParam("apiVersion") @PathVariable(
+ " treat Not found reponse on as normal.",
response = ActiveTicketsResponse.class)
@ApiResponses(value = {@ApiResponse(code = 204, message = "OK"),
- @ApiResponse(code = 404, message = "Not found", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "Not found", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response deleteActiveTicketsRequest(
@ApiParam(value = "v1") @PathParam("apiVersion") @PathVariable(
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.onap.optf.cmso.common.CMSRequestError;
+import org.onap.optf.cmso.common.CmsoRequestError;
import org.onap.optf.ticketmgt.service.rs.models.TicketData;
@Api("Ticket Management")
@ApiOperation(value = "Fetch Ticket", notes = "Returns ticket information for the provided ticket id.",
response = TicketData.class)
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
- @ApiResponse(code = 404, message = "No record found", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "No record found", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response fetchTicket(@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@ApiParam(value = "Unique ticket identifier") @PathParam("id") String id);
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Ticket Created. Ticket Id returned.",
response = TicketData.class),
- @ApiResponse(code = 400, message = "Bad request.", response = CMSRequestError.class),
+ @ApiResponse(code = 400, message = "Bad request.", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response createTicket(@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@ApiParam(value = "Data for creating a ticket") TicketData ticketData);
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(value = "Update Ticket", notes = "Updates a ticket to the passed data")
@ApiResponses(value = {@ApiResponse(code = 204, message = "Ticket Updated."),
- @ApiResponse(code = 400, message = "Bad request.", response = CMSRequestError.class),
+ @ApiResponse(code = 400, message = "Bad request.", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response updateTicket(@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@ApiParam(value = "Data for updating a ticket") TicketData ticketData);
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(value = "Cancel the ticket", notes = "Cancels the ticket.")
@ApiResponses(value = {@ApiResponse(code = 204, message = "Delete successful"),
- @ApiResponse(code = 404, message = "No record found", response = CMSRequestError.class),
- @ApiResponse(code = 400, message = "Bad request", response = CMSRequestError.class),
+ @ApiResponse(code = 404, message = "No record found", response = CmsoRequestError.class),
+ @ApiResponse(code = 400, message = "Bad request", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response deleteScheduleRequest(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
@ApiOperation(value = "Search Tickets", notes = "Returns a list of based upon the filter criteria.",
response = TicketData.class, responseContainer = "List")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
- @ApiResponse(code = 400, message = "Bad request", response = CMSRequestError.class),
+ @ApiResponse(code = 400, message = "Bad request", response = CmsoRequestError.class),
@ApiResponse(code = 500, message = "Unexpected Runtime error", response = Exception.class)})
public Response searchTcikets(
@ApiParam(value = "v1") @PathParam("apiVersion") @DefaultValue("v1") String apiVersion,
}
/** The Constant supportedMajorVersions. */
- public static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();
+ private static final Map<String, String> supportedMajorVersions = new HashMap<String, String>();
static {
supportedMajorVersions.put("v1", "0");
}
/** The Constant supportedMajorMinorVersions. */
- public static final Set<String> supportedMajorMinorVersions = new HashSet<String>();
+ private static final Set<String> supportedMajorMinorVersions = new HashSet<String>();
static {
supportedMajorMinorVersions.add("v1.0");
}
/** The Constant latestVersion. */
- public static final String latestVersion = "2.0.0";
+ private static final String latestVersion = "2.0.0";
/** The Constant patchVersion. */
- public static final String patchVersion = "0";
+ private static final String patchVersion = "0";
/**
* From string.
}
return true;
}
+
+ public static Map<String, String> getSupportedmajorversions() {
+ return supportedMajorVersions;
+ }
+
+ public static Set<String> getSupportedmajorminorversions() {
+ return supportedMajorMinorVersions;
+ }
+
+ public static String getLatestversion() {
+ return latestVersion;
+ }
+
+ public static String getPatchversion() {
+ return patchVersion;
+ }
}
MultivaluedMap<String, Object> respHeaders = responseContext.getHeaders();
String minorVersion = reqHeaders.getFirst(HeadersEnum.MinorVersion.toString());
respHeaders.add(HeadersEnum.MinorVersion.toString(), minorVersion);
- respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.latestVersion);
- respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.patchVersion);
+ respHeaders.add(HeadersEnum.LatestVersion.toString(), MessageHeaders.getLatestversion());
+ respHeaders.add(HeadersEnum.PatchVersion.toString(), MessageHeaders.getPatchVersion());
} catch (Exception e) {
if (e instanceof WebApplicationException) {
}
String minorVersion = headers.getFirst(HeadersEnum.MinorVersion.toString());
if (minorVersion == null) {
- minorVersion = MessageHeaders.supportedMajorVersions.get(majorVersion);
+ minorVersion = MessageHeaders.getSupportedmajorversions().get(majorVersion);
headers.add(HeadersEnum.MinorVersion.toString(), minorVersion);
}
if (!MessageHeaders.validateMajorMinorVersion(majorVersion, minorVersion)) {