From 7712aebd58699838b4926c577b46536de1e25baa Mon Sep 17 00:00:00 2001 From: Michael Shitrit Date: Tue, 12 Dec 2017 08:51:19 +0200 Subject: Distribution-client Tenant Isolation Issue-ID: SDC-744 Change-Id: I965cb1ad1c9dae6aa38a3c3baced3bbbb1d8f5af Signed-off-by: Michael Shitrit --- .../org/openecomp/sdc/api/IDistributionClient.java | 137 ++++++++++++++++----- 1 file changed, 104 insertions(+), 33 deletions(-) (limited to 'sdc-distribution-client/src/main/java/org/openecomp/sdc/api/IDistributionClient.java') diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/IDistributionClient.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/IDistributionClient.java index 620babf..8caf109 100644 --- a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/IDistributionClient.java +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/IDistributionClient.java @@ -22,33 +22,34 @@ package org.openecomp.sdc.api; import java.util.List; -import org.openecomp.sdc.api.consumer.IConfiguration; -import org.openecomp.sdc.api.consumer.IDistributionStatusMessage; -import org.openecomp.sdc.api.consumer.INotificationCallback; +import org.openecomp.sdc.api.consumer.*; +import org.openecomp.sdc.api.consumer.IStatusCallback; import org.openecomp.sdc.api.notification.IArtifactInfo; import org.openecomp.sdc.api.notification.IVfModuleMetadata; import org.openecomp.sdc.api.results.IDistributionClientDownloadResult; import org.openecomp.sdc.api.results.IDistributionClientResult; public interface IDistributionClient { - + /** * Update the configuration of the distribution client
- * Updatable configuration parameters are: pollingInterval, pollingTimeout, consumerGroup and relevantArtifactTypes + * Updatable configuration parameters are: pollingInterval, pollingTimeout, + * consumerGroup and relevantArtifactTypes * - * @param newConf - contains updated configuration + * @param newConf + * - contains updated configuration * * @return IDistributionClientResult */ IDistributionClientResult updateConfiguration(IConfiguration newConf); - + /** * Retrieve the configuration of the distribution client
* * @return IConfiguration */ IConfiguration getConfiguration(); - + /** * Start distribution client
* - start polling notification topic
@@ -56,17 +57,17 @@ public interface IDistributionClient { * @return IDistributionClientResult */ IDistributionClientResult start(); - + /** * Stop distribution client
* - stop polling notification topic
* - unregister topics (via ASDC)
- * - delete keys from UEB + * - delete keys from UEB * * @return IDistributionClientResult */ IDistributionClientResult stop(); - + /** * Downloads an artifact from ASDC Catalog
* @@ -74,66 +75,136 @@ public interface IDistributionClient { * @return IDistributionClientDownloadResult */ IDistributionClientDownloadResult download(IArtifactInfo artifactInfo); - + /** - * Initialize the distribution client
- * - fetch the UEB server list from ASDC
- * - create keys in UEB
- * - register for topics (via ASDC)
- * - set the notification callback
- * - * Note: all configuration fields are mandatory.
- * Password must be in clear text and not encrypted
- * ECOMP-Component MUST store password as SHA-2 (256) hashed with dynamically generated salt value
+ * Initialize the distribution client
+ * - fetch the UEB server list from ASDC
+ * - create keys in UEB
+ * - register for topics (via ASDC)
+ * - set the notification callback
+ * + * Note: all configuration fields are mandatory.
+ * Password must be in clear text and not encrypted
+ * ONAP-Component MUST store password as SHA-2 (256) hashed with + * dynamically generated salt value
* * @param conf * @param callback * @return IDistributionClientResult */ IDistributionClientResult init(IConfiguration conf, INotificationCallback callback); - - + /** - * Build and publish Distribution Download Status event to Distribution Status Topic + * Initialize the distribution client
+ * - fetch the UEB server list from ASDC
+ * - create keys in UEB
+ * - register for topics (via ASDC)
+ * - set the notification callback
+ * + * Note: all configuration fields are mandatory.
+ * Password must be in clear text and not encrypted
+ * ONAP-Component MUST store password as SHA-2 (256) hashed with + * dynamically generated salt value
+ * + * @param conf + * @param notificationCallback + * @param statusCallback + * @return IDistributionClientResult + */ + IDistributionClientResult init(IConfiguration conf, INotificationCallback notificationCallback, + IStatusCallback statusCallback); + + /** + * Build and publish Distribution Download Status event to Distribution + * Status Topic * * @param statusMessage * @return IDistributionClientResult */ IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage statusMessage); - + /** - * Build and publish Distribution Download Status event to Distribution Status Topic With Error Reason. + * Build and publish Distribution Download Status event to Distribution + * Status Topic With Error Reason. * * @param statusMessage * @param errorReason * @return IDistributionClientResult */ IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage statusMessage, String errorReason); + + /** + * Build and publish Distribution Deployment Status event to Distribution + * Status Topic + * + * @param statusMessage + * @return IDistributionClientResult + */ + IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage statusMessage); + + /** + * Build and publish Distribution Deployment Status event to Distribution + * Status Topic With Error Reason. + * + * @param statusMessage + * @param errorReason + * @return IDistributionClientResult + */ + IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage statusMessage, String errorReason); + + /** + * Build and publish Distribution Component Status event to Distribution + * Status Topic + * + * @param statusMessage + * @return IDistributionClientResult + */ + IDistributionClientResult sendComponentDoneStatus(IComponentDoneStatusMessage statusMessage); + + /** + * Build and publish Distribution Component Status event to Distribution + * Status Topic With Error Reason. + * + * @param statusMessage + * @param errorReason + * @return IDistributionClientResult + */ + IDistributionClientResult sendComponentDoneStatus(IComponentDoneStatusMessage statusMessage, String errorReason); /** - * Build and publish Distribution Deployment Status event to Distribution Status Topic + * Build and publish Distribution Final Status event to Distribution + * Status Topic * * @param statusMessage * @return IDistributionClientResult */ - IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage statusMessage); + IDistributionClientResult sendFinalDistrStatus(IFinalDistrStatusMessage statusMessage); + /** - * Build and publish Distribution Deployment Status event to Distribution Status Topic With Error Reason. + * Build and publish Distribution Final Status event to Distribution + * Status Topic With Error Reason. * * @param statusMessage * @param errorReason * @return IDistributionClientResult */ - IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage statusMessage, String errorReason); + IDistributionClientResult sendFinalDistrStatus(IFinalDistrStatusMessage statusMessage, String errorReason); + - /**This method parses artifact of type VF_MODULES_METADATA payload data .
- * Method is deprecated due to VF Module changes. Only backward compatibility is supported.
+ /** + * This method parses artifact of type VF_MODULES_METADATA payload data + * .
+ * Method is deprecated due to VF Module changes. Only backward + * compatibility is supported.
+ * * @param artifactPayload * @return IVfModuleMetadata list */ - @Deprecated + @Deprecated List decodeVfModuleArtifact(byte[] artifactPayload); + + } -- cgit 1.2.3-korg