diff options
Diffstat (limited to 'sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer')
6 files changed, 160 insertions, 69 deletions
diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IComponentDoneStatusMessage.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IComponentDoneStatusMessage.java new file mode 100644 index 0000000..25661bf --- /dev/null +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IComponentDoneStatusMessage.java @@ -0,0 +1,7 @@ +package org.openecomp.sdc.api.consumer; + +public interface IComponentDoneStatusMessage extends IDistributionStatusMessageBasic { + String getComponentName(); + default String getArtifactURL(){return "";} + +} diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IConfiguration.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IConfiguration.java index 19f94df..51d219f 100644 --- a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IConfiguration.java +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IConfiguration.java @@ -24,98 +24,134 @@ import java.util.List; import org.openecomp.sdc.api.notification.INotificationData; public interface IConfiguration { - /**SDC Distribution Engine address. - * Value can be either hostname (with or without port), IP:port or FQDN (Fully Qualified Domain Name). - * * @return SDC Distribution Engine address. - */ - String getAsdcAddress(); - + /** + * SDC Distribution Engine address. Value can be either hostname (with or + * without port), IP:port or FQDN (Fully Qualified Domain Name). * @return + * SDC Distribution Engine address. + */ + String getAsdcAddress(); + + /**SDC Distribution Addresses from ONAP Component + * Values need to be set from impl + */ + List<String> getMsgBusAddress(); + /** * User Name for SDC distribution consumer authentication. + * * @return User Name. */ - String getUser(); - + String getUser(); + /** * User Password for SDC distribution consumer authentication. + * * @return User Password. */ - String getPassword(); - + String getPassword(); + /** - * Distribution Client Polling Interval towards UEB in seconds. - * Can Be reconfigured in runtime. + * Distribution Client Polling Interval towards UEB in seconds. Can Be + * reconfigured in runtime. + * * @return Distribution Client Polling Interval. */ - int getPollingInterval(); - + int getPollingInterval(); + /** - * Distribution Client Timeout in seconds waiting to UEB server response in each fetch interval. - * Can Be reconfigured in runtime. + * Distribution Client Timeout in seconds waiting to UEB server response in + * each fetch interval. Can Be reconfigured in runtime. + * * @return Distribution Client Timeout in seconds. */ - int getPollingTimeout(); - - /** List of artifact types.<br> - * If the service contains any of the artifacts in the list, the callback will be activated. - * Can Be reconfigured in runtime. + int getPollingTimeout(); + + /** + * List of artifact types.<br> + * If the service contains any of the artifacts in the list, the callback + * will be activated. Can Be reconfigured in runtime. + * * @return List of artifact types. */ List<String> getRelevantArtifactTypes(); - + /** - * Returns the consumer group defined for this ECOMP component, if no consumer group is defined return null. + * Returns the consumer group defined for this ECOMP component, if no + * consumer group is defined return null. + * * @return Consumer group. */ String getConsumerGroup(); - + /** - * Returns the environment name (testing, production etc...). - * Can Be reconfigured in runtime. - * @return + * Returns the environment name (testing, production etc...). Can Be + * reconfigured in runtime. + * + * @return */ String getEnvironmentName(); - + /** * Unique ID of ECOMP component instance (e.x INSTAR name). + * * @return */ String getConsumerID(); - + /** - * Return full path to Client's Key Store that contains either CA certificate or the ASDC's public key (e.g /etc/keystore/asdc-client.jks) + * Return full path to Client's Key Store that contains either CA + * certificate or the ASDC's public key (e.g /etc/keystore/asdc-client.jks) * file will be deployed with sdc-distribution jar. + * * @return */ String getKeyStorePath(); - + /** * @return Returns client's Key Store password */ String getKeyStorePassword(); - + /** - * Sets whether SDC server TLS authentication is activated. - * If set to false, Key Store path and password are not needed to be set. + * Sets whether SDC server TLS authentication is activated. If set to false, + * Key Store path and password are not needed to be set. + * * @return */ boolean activateServerTLSAuth(); - + /** - * If set to true the method {@link INotificationData#getResources()} will return all found resources.<br> - * That means that metadata of resources that do not contain relevant artifacts types (artifacts that are defined in {@link #getRelevantArtifactTypes()} will be returned.<br> - * Setting the method to false will activate the legacy behavior, in which empty resources are not part of the notification.<br> + * If set to true the method {@link INotificationData#getResources()} will + * return all found resources.<br> + * That means that metadata of resources that do not contain relevant + * artifacts types (artifacts that are defined in + * {@link #getRelevantArtifactTypes()} will be returned.<br> + * Setting the method to false will activate the legacy behavior, in which + * empty resources are not part of the notification.<br> + * * @return */ boolean isFilterInEmptyResources(); /** - * By default, Distribution Client will use HTTPS (TLS 1.2) when connecting to DMAAP. - * This param can be null, then default (HTTPS) behavior will be applied. - * If set to false, distribution client will use HTTP when connecting to DMAAP. + * By default, Distribution Client will use HTTPS (TLS 1.2) when connecting + * to DMAAP. This param can be null, then default (HTTPS) behavior will be + * applied. If set to false, distribution client will use HTTP when + * connecting to DMAAP. + * * @return */ Boolean isUseHttpsWithDmaap(); -} - + /** + * By default, (false value) Distribution Client will trigger the regular registration + * towards SDC (register component as consumer to the SDC-DISTR-NOTIF-TOPIC-[ENV] topic and register component as producer to the SDC-DISTR-STATUS-TOPIC-[ENV]).<br> + * If set to true, distribution client trigger Register to SDC indicating + * that this component request to be consumer and producer of the + * SDC-DISTR-STATUS-TOPIC-[ENV] topic.<br> + * @return + */ + default boolean isConsumeProduceStatusTopic() { + return false; + } +} diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessage.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessage.java index 86251d1..ab3d6a7 100644 --- a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessage.java +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessage.java @@ -20,33 +20,9 @@ package org.openecomp.sdc.api.consumer; -import org.openecomp.sdc.utils.DistributionStatusEnum; +public interface IDistributionStatusMessage extends IDistributionStatusMessageBasic{ -public interface IDistributionStatusMessage { - /** - * Distribution ID published in the distribution notification.<br> - * Should be used to link the distribution status reports to the appropriate - * distribution activation.<br> - * Global Distribution Identifier: UUID generated by ASDC per each - * distribution activation.<br> - * Generated UUID is compliant with RFC 4122. It is a 128-bit value - * formatted into blocks of hexadecimal digits separated by a hyphen ("-"). - * Ex.: AA97B177-9383-4934-8543-0F91A7A02836 - */ - String getDistributionID(); - - /**Unique ID of ECOMP component instance (e.x INSTAR name)*/ - String getConsumerID(); - - /** - * Timestamp of the distribution status report creation.<br> - * The number of seconds that have elapsed since January 1, 1970. - */ - long getTimestamp(); - /**Resource URL of the downloaded/deployed artifact - URL specified in the distribution notification message*/ String getArtifactURL(); - - /**Download/Deployment status*/ - DistributionStatusEnum getStatus(); + } diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessageBasic.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessageBasic.java new file mode 100644 index 0000000..fb1194d --- /dev/null +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IDistributionStatusMessageBasic.java @@ -0,0 +1,28 @@ +package org.openecomp.sdc.api.consumer; + +import org.openecomp.sdc.utils.DistributionStatusEnum; + +public interface IDistributionStatusMessageBasic { + /** + * Distribution ID published in the distribution notification.<br> + * Should be used to link the distribution status reports to the appropriate + * distribution activation.<br> + * Global Distribution Identifier: UUID generated by SDC per each + * distribution activation.<br> + * Generated UUID is compliant with RFC 4122. It is a 128-bit value + * formatted into blocks of hexadecimal digits separated by a hyphen ("-"). + * Ex.: AA97B177-9383-4934-8543-0F91A7A02836 + */ + String getDistributionID(); + + /**Unique ID of ONAP component instance (e.x INSTAR name)*/ + String getConsumerID(); + + /** + * Timestamp of the distribution status report creation.<br> + * The number of seconds that have elapsed since January 1, 1970. + */ + long getTimestamp(); + /**Download/Deployment status*/ + DistributionStatusEnum getStatus(); +} diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IFinalDistrStatusMessage.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IFinalDistrStatusMessage.java new file mode 100644 index 0000000..42affd7 --- /dev/null +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IFinalDistrStatusMessage.java @@ -0,0 +1,9 @@ +package org.openecomp.sdc.api.consumer; + + + +public interface IFinalDistrStatusMessage extends IDistributionStatusMessageBasic{ + + default String getConsumerID(){return "";} + default String getComponentName(){return "";} +} diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IStatusCallback.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IStatusCallback.java new file mode 100644 index 0000000..a889f52 --- /dev/null +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/consumer/IStatusCallback.java @@ -0,0 +1,35 @@ +/*- + * ============LICENSE_START======================================================= + * sdc-distribution-client + * ================================================================================ + * 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.openecomp.sdc.api.consumer; + +import org.openecomp.sdc.api.notification.IStatusData; + +/** + * When a relevant status will be found activateCallback method will be + * activated with the status data.<br> + * Please implement it according to your desired callback logic. + */ +@FunctionalInterface +public interface IStatusCallback { + void activateCallback(IStatusData data); + + +} |