diff options
Diffstat (limited to 'mso-api-handlers/mso-api-handler-common/src/main/java')
11 files changed, 99 insertions, 117 deletions
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/camundabeans/CamundaVIDRequest.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/camundabeans/CamundaVIDRequest.java index 9099b48f11..829f8ce30c 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/camundabeans/CamundaVIDRequest.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/camundabeans/CamundaVIDRequest.java @@ -109,6 +109,9 @@ public class CamundaVIDRequest { @JsonProperty(CommonConstants.REQUEST_URI) private CamundaInput requestUri; + + @JsonProperty(CommonConstants.INSTANCE_GROUP_ID) + private CamundaInput instanceGroupId; @JsonProperty(CommonConstants.CAMUNDA_SERVICE_INPUT) public CamundaInput getServiceInput() { @@ -326,6 +329,14 @@ public class CamundaVIDRequest { public void setRecipeParams(CamundaInput recipeParams) { this.recipeParams = recipeParams; } + @JsonProperty(CommonConstants.INSTANCE_GROUP_ID) + public void setInstanceGroupId(CamundaInput instanceGroupIdInput) { + this.instanceGroupId = instanceGroupIdInput; + } + @JsonProperty(CommonConstants.INSTANCE_GROUP_ID) + public CamundaInput getInstanceGroupId() { + return instanceGroupId; + } @Override public String toString() { @@ -335,4 +346,6 @@ public class CamundaVIDRequest { return "CamundaRequest"; } + + } diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaClient.java index 3ebad8b02c..34cfe18508 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaClient.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaClient.java @@ -86,7 +86,7 @@ public class CamundaClient extends RequestClient{ if(props!=null){ encryptedCredentials = props.getProperty(CommonConstants.CAMUNDA_AUTH); if(encryptedCredentials != null){ - String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, CommonConstants.ENCRYPTION_KEY); + String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, props.getProperty(CommonConstants.ENCRYPTION_KEY_PROP)); if(userCredentials != null){ post.addHeader("Authorization", "Basic " + new String(DatatypeConverter.printBase64Binary(userCredentials.getBytes()))); } @@ -108,7 +108,7 @@ public class CamundaClient extends RequestClient{ if(props!=null){ encryptedCredentials = props.getProperty(CommonConstants.CAMUNDA_AUTH); if(encryptedCredentials != null){ - String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, CommonConstants.ENCRYPTION_KEY); + String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, props.getProperty(CommonConstants.ENCRYPTION_KEY_PROP)); if(userCredentials != null){ post.addHeader("Authorization", "Basic " + new String(DatatypeConverter.printBase64Binary(userCredentials.getBytes()))); } @@ -129,7 +129,8 @@ public class CamundaClient extends RequestClient{ msoLogger.debug(CAMUNDA_URL_MESAGE+ url); String jsonReq = wrapVIDRequest(parameterObject.getRequestId(), parameterObject.isBaseVfModule(), parameterObject.getRecipeTimeout(), parameterObject.getRequestAction(), parameterObject.getServiceInstanceId(), parameterObject.getCorrelationId(), parameterObject.getVnfId(), parameterObject.getVfModuleId(), parameterObject.getVolumeGroupId(), parameterObject.getNetworkId(), parameterObject.getConfigurationId(), - parameterObject.getServiceType(), parameterObject.getVnfType(), parameterObject.getVfModuleType(), parameterObject.getNetworkType(), parameterObject.getRequestDetails(), parameterObject.getApiVersion(), parameterObject.isaLaCarte(), parameterObject.getRequestUri(), parameterObject.getRecipeParamXsd()); + parameterObject.getServiceType(), parameterObject.getVnfType(), parameterObject.getVfModuleType(), parameterObject.getNetworkType(), parameterObject.getRequestDetails(), parameterObject.getApiVersion(), parameterObject.isaLaCarte(), parameterObject.getRequestUri(), parameterObject.getRecipeParamXsd(), + parameterObject.getInstanceGroupId()); StringEntity input = new StringEntity(jsonReq); input.setContentType(CommonConstants.CONTENT_TYPE_JSON); @@ -141,7 +142,7 @@ public class CamundaClient extends RequestClient{ if(props!=null){ encryptedCredentials = props.getProperty(CommonConstants.CAMUNDA_AUTH); if(encryptedCredentials != null){ - String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, CommonConstants.ENCRYPTION_KEY); + String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, props.getProperty(CommonConstants.ENCRYPTION_KEY_PROP)); if(userCredentials != null){ post.addHeader("Authorization", "Basic " + new String(DatatypeConverter.printBase64Binary(userCredentials.getBytes()))); } @@ -200,7 +201,8 @@ public class CamundaClient extends RequestClient{ int recipeTimeout, String requestAction, String serviceInstanceId, String correlationId, String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId, String serviceType, String vnfType, String vfModuleType, String networkType, - String requestDetails, String apiVersion, boolean aLaCarte, String requestUri, String paramXsd){ + String requestDetails, String apiVersion, boolean aLaCarte, String requestUri, String paramXsd, + String instanceGroupId){ String jsonReq = null; try{ @@ -226,6 +228,7 @@ public class CamundaClient extends RequestClient{ CamundaInput apiVersionInput = new CamundaInput(); CamundaInput requestUriInput = new CamundaInput(); CamundaInput recipeParamsInput = new CamundaInput(); + CamundaInput instanceGroupIdInput = new CamundaInput(); //host.setValue(parseURL()); requestIdInput.setValue(StringUtils.defaultString(requestId)); @@ -247,6 +250,7 @@ public class CamundaClient extends RequestClient{ apiVersionInput.setValue(StringUtils.defaultString(apiVersion)); requestUriInput.setValue(StringUtils.defaultString(requestUri)); recipeParamsInput.setValue(paramXsd); + instanceGroupIdInput.setValue(StringUtils.defaultString(instanceGroupId)); serviceInput.setValue(requestDetails); camundaRequest.setServiceInput(serviceInput); @@ -271,6 +275,7 @@ public class CamundaClient extends RequestClient{ camundaRequest.setApiVersion(apiVersionInput); camundaRequest.setRequestUri(requestUriInput); camundaRequest.setRecipeParams(recipeParamsInput); + camundaRequest.setInstanceGroupId(instanceGroupIdInput); ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, true); diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaTaskClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaTaskClient.java index 166a5c4d10..bb0a4b0172 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaTaskClient.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CamundaTaskClient.java @@ -49,7 +49,7 @@ public class CamundaTaskClient extends RequestClient{ if(props!=null){ encryptedCredentials = props.getProperty(CommonConstants.CAMUNDA_AUTH); if(encryptedCredentials != null){ - String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, CommonConstants.ENCRYPTION_KEY); + String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, props.getProperty(CommonConstants.ENCRYPTION_KEY_PROP)); if(userCredentials != null){ post.addHeader("Authorization", "Basic " + DatatypeConverter .printBase64Binary(userCredentials.getBytes())); @@ -80,7 +80,7 @@ public class CamundaTaskClient extends RequestClient{ if(props!=null){ encryptedCredentials = props.getProperty(CommonConstants.CAMUNDA_AUTH); if(encryptedCredentials != null){ - String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, CommonConstants.ENCRYPTION_KEY); + String userCredentials = getEncryptedPropValue(encryptedCredentials, CommonConstants.DEFAULT_BPEL_AUTH, props.getProperty(CommonConstants.ENCRYPTION_KEY_PROP)); if(userCredentials != null){ get.addHeader("Authorization", "Basic " + new String(DatatypeConverter .printBase64Binary(userCredentials.getBytes()))); diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CommonConstants.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CommonConstants.java index 400ce567ba..b75ad9e415 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CommonConstants.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/CommonConstants.java @@ -24,7 +24,7 @@ package org.onap.so.apihandler.common; public final class CommonConstants { public static final String DEFAULT_BPEL_AUTH = "admin:admin"; - public static final String ENCRYPTION_KEY = "aa3871669d893c7fb8abbcda31b88b4f"; + public static final String ENCRYPTION_KEY_PROP = "org.onap.so.adapters.network.encryptionKey"; public static final String REQUEST_ID_HEADER = "mso-request-id"; public static final String REQUEST_TIMEOUT_HEADER = "mso-service-request-timeout"; @@ -79,6 +79,7 @@ public final class CommonConstants { public static final String X_MINOR_VERSION = "X-MinorVersion"; public static final String X_PATCH_VERSION = "X-PatchVersion"; public static final String X_LATEST_VERSION = "X-LatestVersion"; + public static final String INSTANCE_GROUP_ID = "instanceGroupId"; private CommonConstants () { // prevent creating an instance of this class diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/RequestClientParameter.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/RequestClientParameter.java index 89db934985..1d18e2b02c 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/RequestClientParameter.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/RequestClientParameter.java @@ -43,6 +43,7 @@ public class RequestClientParameter { private boolean aLaCarte; private String recipeParamXsd; private String requestUri; + private String instanceGroupId; private RequestClientParameter(Builder builder) { requestId = builder.requestId; @@ -65,6 +66,7 @@ public class RequestClientParameter { apiVersion = builder.apiVersion; aLaCarte = builder.aLaCarte; requestUri = builder.requestUri; + instanceGroupId = builder.instanceGroupId; } @@ -147,6 +149,10 @@ public class RequestClientParameter { public String getRequestUri() { return requestUri; } + + public String getInstanceGroupId() { + return instanceGroupId; + } public static class Builder { private String requestId; @@ -169,6 +175,7 @@ public class RequestClientParameter { private boolean aLaCarte = false; private String recipeParamXsd; private String requestUri; + private String instanceGroupId; public Builder setRequestId(String requestId) { this.requestId = requestId; @@ -269,10 +276,16 @@ public class RequestClientParameter { this.requestUri = requestUri; return this; } + + public Builder setInstanceGroupId(String instanceGroupId) { + this.instanceGroupId = instanceGroupId; + return this; + } public RequestClientParameter build(){ return new RequestClientParameter(this); } + } diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/XMLValidator.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/XMLValidator.java index 3c72e479c7..414ac8b3cc 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/XMLValidator.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandler/common/XMLValidator.java @@ -33,7 +33,7 @@ import javax.xml.validation.Validator; import org.apache.commons.io.IOUtils; import org.onap.so.logger.MessageEnum; -import org.onap.so.logger.MsoAlarmLogger; + import org.onap.so.logger.MsoLogger; import org.xml.sax.SAXException; @@ -55,7 +55,7 @@ public class XMLValidator { private Schema schema; private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH, XMLValidator.class); - private static MsoAlarmLogger alarmLogger = new MsoAlarmLogger (); + public XMLValidator (String xsdFile){ @@ -94,7 +94,7 @@ public class XMLValidator { } catch (Exception e) { msoLogger.error (MessageEnum.APIH_CANNOT_READ_SCHEMA, "", "", MsoLogger.ErrorCode.SchemaError, "APIH cannot read schema file", e); - alarmLogger.sendAlarm ("MsoConfigurationError", MsoAlarmLogger.CRITICAL, "Unable to read the schema file"); + return "ErrorDetails: " + "Unable to read the schema file"; } diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/Action.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/Action.java index 3a35c23a86..03d68f88e8 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/Action.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/Action.java @@ -44,5 +44,7 @@ public enum Action { scaleInstance, deactivateAndCloudDelete, scaleOut, - recreateInstance + recreateInstance, + addMembers, + removeMembers } diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiException.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiException.java index dc52bfcc6b..fdf6b80e1c 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiException.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiException.java @@ -23,7 +23,7 @@ package org.onap.so.apihandlerinfra.exceptions; import java.util.List; -import org.onap.so.apihandlerinfra.logging.AlarmLoggerInfo; + import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo; public abstract class ApiException extends Exception{ @@ -34,7 +34,7 @@ public abstract class ApiException extends Exception{ private int httpResponseCode; private String messageID; private ErrorLoggerInfo errorLoggerInfo; - private AlarmLoggerInfo alarmLoggerInfo; + private List<String> variables; public ApiException(Builder builder){ @@ -44,7 +44,6 @@ public abstract class ApiException extends Exception{ this.messageID = builder.messageID; this.variables = builder.variables; this.errorLoggerInfo = builder.errorLoggerInfo; - this.alarmLoggerInfo = builder.alarmLoggerInfo; this.variables = builder.variables; } @@ -64,9 +63,6 @@ public abstract class ApiException extends Exception{ return errorLoggerInfo; } - public AlarmLoggerInfo getAlarmLoggerInfo() { - return alarmLoggerInfo; - } public List<String> getVariables() { return variables; @@ -78,7 +74,7 @@ public abstract class ApiException extends Exception{ private int httpResponseCode; private String messageID; private ErrorLoggerInfo errorLoggerInfo = null; - private AlarmLoggerInfo alarmLoggerInfo = null; + private List<String> variables = null; public Builder(String message, int httpResponseCode, String messageID) { @@ -112,11 +108,6 @@ public abstract class ApiException extends Exception{ return (T) this; } - public T alarmInfo(AlarmLoggerInfo alarmLoggerInfo){ - this.alarmLoggerInfo = alarmLoggerInfo; - return (T) this; - } - public T variables(List<String> variables) { this.variables = variables; return (T) this; diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiExceptionMapper.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiExceptionMapper.java index 7c49eeadcc..ef19852cd1 100644 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiExceptionMapper.java +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ApiExceptionMapper.java @@ -36,10 +36,10 @@ import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; -import org.onap.so.apihandlerinfra.logging.AlarmLoggerInfo; + import org.onap.so.apihandlerinfra.logging.ErrorLoggerInfo; import org.onap.so.logger.MessageEnum; -import org.onap.so.logger.MsoAlarmLogger; + import org.onap.so.logger.MsoLogger; import org.onap.so.serviceinstancebeans.RequestError; import org.onap.so.serviceinstancebeans.ServiceException; @@ -53,7 +53,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; public class ApiExceptionMapper implements ExceptionMapper<ApiException> { private static MsoLogger logger = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA, ApiExceptionMapper.class); - private static MsoAlarmLogger alarmLogger = new MsoAlarmLogger(); + private final JAXBContext context; private final Marshaller marshaller; @@ -81,14 +81,14 @@ public class ApiExceptionMapper implements ExceptionMapper<ApiException> { String messageId = exception.getMessageID(); List<String> variables = exception.getVariables(); ErrorLoggerInfo errorLoggerInfo = exception.getErrorLoggerInfo(); - AlarmLoggerInfo alarmLoggerInfo = exception.getAlarmLoggerInfo(); + if (errorText.length() > 1999) { errorText = errorText.substring(0, 1999); } - writeErrorLog(exception, errorText, errorLoggerInfo, alarmLoggerInfo); + List<MediaType> typeList = Optional.ofNullable(headers.getAcceptableMediaTypes()).orElse(new ArrayList<>()); List<String> typeListString = typeList.stream().map(item -> item.toString()).collect(Collectors.toList()); @@ -139,14 +139,12 @@ public class ApiExceptionMapper implements ExceptionMapper<ApiException> { return requestErrorStr; } - protected void writeErrorLog(Exception e, String errorText, ErrorLoggerInfo errorLogInfo, AlarmLoggerInfo alarmLogInfo) { + protected void writeErrorLog(Exception e, String errorText, ErrorLoggerInfo errorLogInfo) { if( e!= null) logger.error(e); if(errorLogInfo != null) logger.error(errorLogInfo.getLoggerMessageType().toString(), errorLogInfo.getErrorSource(), errorLogInfo.getTargetEntity(), errorLogInfo.getTargetServiceName(), errorLogInfo.getErrorCode(), errorText); - if(alarmLogInfo != null){ - alarmLogger.sendAlarm(alarmLogInfo.getAlarm(),alarmLogInfo.getState(),alarmLogInfo.getDetail()); - } + } public ObjectMapper createObjectMapper(){ diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ContactCamundaException.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ContactCamundaException.java new file mode 100644 index 0000000000..e1ec46a9c1 --- /dev/null +++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/exceptions/ContactCamundaException.java @@ -0,0 +1,43 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP - SO + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.so.apihandlerinfra.exceptions; + +public class ContactCamundaException extends ApiException { + + private static final String contactCamundaErrorMessage = "Unable to get process-instance history from Camunda for requestId: %s due to error: %s"; + + private ContactCamundaException(Builder builder) { + super(builder); + } + + public static class Builder extends ApiException.Builder<Builder>{ + + + public Builder(String requestId, String error, int httpResponseCode, String messageID) { + super(contactCamundaErrorMessage.format(contactCamundaErrorMessage, requestId, error),httpResponseCode,messageID); + } + + public ContactCamundaException build() { + return new ContactCamundaException(this); + } + } + +} diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/logging/AlarmLoggerInfo.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/logging/AlarmLoggerInfo.java deleted file mode 100644 index 2746da4f2d..0000000000 --- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/onap/so/apihandlerinfra/logging/AlarmLoggerInfo.java +++ /dev/null @@ -1,84 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP - SO - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.so.apihandlerinfra.logging; - -import java.io.Serializable; - -public class AlarmLoggerInfo implements Serializable{ - /** - * - */ - private static final long serialVersionUID = -6730979289437576112L; - private String alarm; - private int state; - private String detail; - - - private AlarmLoggerInfo(String alarm, int state, String detail){ - this.alarm = alarm; - this.state = state; - this.detail = detail; - } - - public int getState() { - return state; - } - - public String getAlarm() { - return alarm; - } - - public String getDetail() { - return detail; - } - - public static class Builder{ - private String alarm = ""; - private int state; - private String detail = ""; - - public Builder(String alarm, int state, String detail){ - this.alarm = alarm; - this.state = state; - this.detail = detail; - } - - public Builder alarm(String alarm){ - this.alarm = alarm; - return this; - } - - public Builder state(int state){ - this.state = state; - return this; - } - - public Builder detail(String detail){ - this.detail = detail; - return this; - } - - public AlarmLoggerInfo build(){ - return new AlarmLoggerInfo(alarm, state, detail); - } - - } -} |