Added inputstream download not on disk and final result validation.
Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>
This commit is contained in:
@@ -45,8 +45,8 @@ public class DdiExampleClient implements Runnable {
|
||||
private final RootControllerResourceClient rootControllerResourceClient;
|
||||
private final PersistenceStrategy persistenceStrategy;
|
||||
private DdiClientStatus clientStatus;
|
||||
|
||||
private FinalResult finalReusltOfCurrentUpdate;
|
||||
private final DdiDefaultFeignClient sdiDefaultFeignClient;
|
||||
private FinalResult finalResultOfCurrentUpdate;
|
||||
|
||||
/**
|
||||
* Constructor for the DDI example client.
|
||||
@@ -63,13 +63,18 @@ public class DdiExampleClient implements Runnable {
|
||||
public DdiExampleClient(final String baseUrl, final String controllerId, final String tenant,
|
||||
final PersistenceStrategy persistenceStrategy) {
|
||||
this.controllerId = controllerId;
|
||||
this.rootControllerResourceClient = new DdiDefaultFeignClient(baseUrl, tenant)
|
||||
.getRootControllerResourceClient();
|
||||
sdiDefaultFeignClient = new DdiDefaultFeignClient(baseUrl, tenant);
|
||||
|
||||
this.rootControllerResourceClient = sdiDefaultFeignClient.getRootControllerResourceClient();
|
||||
this.actionIdOfLastInstalltion = null;
|
||||
this.persistenceStrategy = persistenceStrategy;
|
||||
this.clientStatus = DdiClientStatus.DOWN;
|
||||
}
|
||||
|
||||
public DdiDefaultFeignClient getSdiDefaultFeignClient() {
|
||||
return sdiDefaultFeignClient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
clientStatus = DdiClientStatus.UP;
|
||||
@@ -85,7 +90,7 @@ public class DdiExampleClient implements Runnable {
|
||||
final Long actionId = getActionIdOutOfLink(controllerDeploymentBaseLink);
|
||||
final Integer resource = getResourceOutOfLink(controllerDeploymentBaseLink);
|
||||
if (actionId != actionIdOfLastInstalltion) {
|
||||
finalReusltOfCurrentUpdate = FinalResult.NONE;
|
||||
finalResultOfCurrentUpdate = FinalResult.NONE;
|
||||
startDownload(actionId, resource);
|
||||
finishUpdateProcess(actionId);
|
||||
actionIdOfLastInstalltion = actionId;
|
||||
@@ -119,7 +124,7 @@ public class DdiExampleClient implements Runnable {
|
||||
final String[] downloadLinkSep = downloadLink.getHref().split(Pattern.quote("/"));
|
||||
final Long softwareModuleId = Long.valueOf(downloadLinkSep[8]);
|
||||
for (final DdiArtifact ddiArtifact : artifactList) {
|
||||
if (finalReusltOfCurrentUpdate != FinalResult.FAILURE) {
|
||||
if (finalResultOfCurrentUpdate != FinalResult.FAILURE) {
|
||||
downloadArtifact(actionId, softwareModuleId, ddiArtifact.getFilename());
|
||||
}
|
||||
}
|
||||
@@ -144,7 +149,7 @@ public class DdiExampleClient implements Runnable {
|
||||
} catch (final IOException e) {
|
||||
sendFeedBackMessage(actionId, ExecutionStatus.PROCEEDING, FinalResult.NONE,
|
||||
"Downloaded of artifact " + artifact + "failed");
|
||||
finalReusltOfCurrentUpdate = FinalResult.FAILURE;
|
||||
finalResultOfCurrentUpdate = FinalResult.FAILURE;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -163,11 +168,11 @@ public class DdiExampleClient implements Runnable {
|
||||
|
||||
private void finishUpdateProcess(final Long actionId) {
|
||||
|
||||
if (finalReusltOfCurrentUpdate == FinalResult.FAILURE) {
|
||||
if (finalResultOfCurrentUpdate == FinalResult.FAILURE) {
|
||||
sendFeedBackMessage(actionId, ExecutionStatus.CLOSED, FinalResult.FAILURE, "Error during update process");
|
||||
}
|
||||
|
||||
if (finalReusltOfCurrentUpdate == FinalResult.NONE) {
|
||||
if (finalResultOfCurrentUpdate == FinalResult.NONE) {
|
||||
sendFeedBackMessage(actionId, ExecutionStatus.CLOSED, FinalResult.SUCESS,
|
||||
"Simulated installation successful");
|
||||
}
|
||||
|
||||
@@ -19,7 +19,10 @@ public class DoNotSaveArtifactsStrategy implements PersistenceStrategy {
|
||||
|
||||
@Override
|
||||
public void handleInputStream(final InputStream in, final String artifactName) throws IOException {
|
||||
// do nothing
|
||||
|
||||
while (in.read() != -1) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public class SaveArtifactsStrategy implements PersistenceStrategy {
|
||||
@Override
|
||||
public void handleInputStream(final InputStream in, final String artifactName) throws IOException {
|
||||
final File tempDir = Files.createTempDir();
|
||||
final File file = new File(tempDir + "\\" + artifactName);
|
||||
final File file = new File(tempDir, artifactName);
|
||||
final OutputStream out = new FileOutputStream(file);
|
||||
ByteStreams.copy(in, out);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user