/****Alberto&Loredana*****/
package eu.mosaic_cloud.sla;
import eu.mosaic_cloud.cloudlets.connectors.kvstore.IKvStoreConnector;
import eu.mosaic_cloud.cloudlets.connectors.kvstore.IKvStoreConnectorFactory;
import eu.mosaic_cloud.cloudlets.connectors.kvstore.KvStoreCallbackCompletionArguments;
import eu.mosaic_cloud.cloudlets.connectors.queue.amqp.IAmqpQueuePublisherConnector;
import eu.mosaic_cloud.cloudlets.connectors.queue.amqp.IAmqpQueuePublisherConnectorFactory;
import eu.mosaic_cloud.cloudlets.core.CallbackArguments;
import eu.mosaic_cloud.cloudlets.core.CloudletCallbackArguments;
import eu.mosaic_cloud.cloudlets.core.CloudletCallbackCompletionArguments;
import eu.mosaic_cloud.cloudlets.core.GenericCallbackCompletionArguments;
import eu.mosaic_cloud.cloudlets.core.ICallback;
import eu.mosaic_cloud.cloudlets.core.ICloudletController;
import eu.mosaic_cloud.cloudlets.tools.DefaultAmqpPublisherConnectorCallback;
import eu.mosaic_cloud.cloudlets.tools.DefaultCloudletCallback;
import eu.mosaic_cloud.cloudlets.tools.DefaultKvStoreConnectorCallback;
import eu.mosaic_cloud.platform.core.configuration.ConfigurationIdentifier;
import eu.mosaic_cloud.platform.core.configuration.IConfiguration;
import eu.mosaic_cloud.platform.core.utils.JsonDataEncoder;
import eu.mosaic_cloud.tools.callbacks.core.CallbackCompletion;
public class SLAgwSec {
public static final class KeyValueResultCallback
extends DefaultKvStoreConnectorCallback<SLAgwSecContext, String, Void>
{
@Override
public CallbackCompletion<Void> destroySucceeded (final SLAgwSecContext context, final CallbackArguments arguments)
{
this.logger.info ("SLAgwSecCloudlet kvResultStore destroyed successfully.");
return ICallback.SUCCESS;
}
@Override
public CallbackCompletion<Void> initializeSucceeded (final SLAgwSecContext context, final CallbackArguments arguments)
{
this.logger.info ("SLAgwSecCloudlet kvResultStore initialized successfully.");
return ICallback.SUCCESS;
}
public CallbackCompletion<Void> setSucceeded (final SLAgwSecContext context, final KvStoreCallbackCompletionArguments<String, Void> arguments)
{
this.logger.info("Set kvResultStore : OK");
return ICallback.SUCCESS;
}
public CallbackCompletion<Void> getSucceeded (final SLAgwSecContext context, final KvStoreCallbackCompletionArguments<String, Void> arguments)
{
this.logger.info("Get kvResultStore Succeded: OK");
String kv=arguments.getKey();
String vl=(String)arguments.getValue();
this.logger.info("GetChiave: "+kv);
this.logger.info("GetValore: "+vl);
return ICallback.SUCCESS;
}
}
public static final class AmqpPublisherCallback
extends DefaultAmqpPublisherConnectorCallback<SLAgwSecContext, String, Void>
{
@Override
public CallbackCompletion<Void> destroySucceeded (final SLAgwSecContext context, final CallbackArguments arguments)
{
this.logger.info ("SLAgwCloudlet publisher destroyed successfully.");
return ICallback.SUCCESS;
}
@Override
public CallbackCompletion<Void> initializeSucceeded (final SLAgwSecContext context, final CallbackArguments arguments)
{
this.logger.info ("SLAgwCloudlet publisher initialized successfully.");
return ICallback.SUCCESS;
}
@Override
public CallbackCompletion<Void> publishSucceeded (final SLAgwSecContext context, final GenericCallbackCompletionArguments<Void> arguments)
{
//context.cloudlet.destroy ();
return ICallback.SUCCESS;
}
}
public static final class LifeCycleHandler
extends DefaultCloudletCallback<SLAgwSecContext>
{
@Override
public CallbackCompletion<Void> destroy (final SLAgwSecContext context, final CloudletCallbackArguments<SLAgwSecContext> arguments)
{
this.logger.info ("SLAgwCloudlet destroying...");
return context.publisher.destroy ();
}
@Override
public CallbackCompletion<Void> destroySucceeded (final SLAgwSecContext context, final CloudletCallbackCompletionArguments<SLAgwSecContext> arguments)
{
this.logger.info ("SLAgwCloudlet destroyed successfully.");
return ICallback.SUCCESS;
}
@Override
public CallbackCompletion<Void> initialize (final SLAgwSecContext context, final CloudletCallbackArguments<SLAgwSecContext> arguments)
{
this.logger.info ("SLAgwCloudlet initializing...");
context.cloudlet = arguments.getCloudlet ();
final IConfiguration configuration = context.cloudlet.getConfiguration ();
//final IConfiguration configuration2 = context.cloudlet.getConfiguration ();
//final IConfiguration configuration3 = context.cloudlet.getConfiguration ();
final IConfiguration kvResultConfiguration = configuration.spliceConfiguration (ConfigurationIdentifier.resolveAbsolute ("kvresult"));
context.kvResult = context.cloudlet.getConnectorFactory (IKvStoreConnectorFactory.class).create (kvResultConfiguration, String.class, JsonDataEncoder.create(String.class), new KeyValueResultCallback (), context);
final IConfiguration queueConfiguration = configuration.spliceConfiguration(ConfigurationIdentifier.resolveAbsolute ("queue.update"));
//final IConfiguration queueChoiceConfiguration = configuration2.spliceConfiguration(ConfigurationIdentifier.resolveAbsolute ("queue.choice"));
//final IConfiguration queueOptAvailConfiguration = configuration3.spliceConfiguration (ConfigurationIdentifier.resolveAbsolute ("queue.optionavailable"));
context.publisher = context.cloudlet.getConnectorFactory (IAmqpQueuePublisherConnectorFactory.class).create(queueConfiguration, String.class, JsonDataEncoder.create(String.class),new AmqpPublisherCallback (), context);
//context.choice = context.cloudlet.getConnectorFactory (IAmqpQueuePublisherConnectorFactory.class).create(queueChoiceConfiguration, String.class, JsonDataEncoder.create (String.class),new AmqpChoiceCallback (), context);
//context.optionavailable = context.cloudlet.getConnectorFactory (IAmqpQueueConsumerConnectorFactory.class).create (queueOptAvailConfiguration, QPT[].class, JsonDataEncoder.create(QPT[].class), new AmqpOptAvailCallback (), context);
return CallbackCompletion.createAndChained (context.kvResult.initialize(),context.publisher.initialize ()/*,context.optionavailable.initialize()*/);
}
@Override
public CallbackCompletion<Void> initializeSucceeded (final SLAgwSecContext context, final CloudletCallbackCompletionArguments<SLAgwSecContext> arguments)
{
this.logger.info ("SLAgwCloudlet initialized successfully.");
context.publisher.publish("{'type':'Submit','id':'1','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Check','id':'1','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Submit','id':'2','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Check','id':'2','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Submit','id':'1','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"2\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_6"
+"SA-01.Q1_3"
+"} SA-01"
+"AND{"
+"SA-02.1_6"
+"SA-02.2_5"
+"SA-02.3_3"
+"SA-02.4_5"
+"SA-02.5_6"
+"SA-02.6_5"
+"SA-02.7_3"
+"} SA-02"
+"AND{"
+"SA-03.1_4"
+"} SA-03"
+"AND{"
+"SA-04.1_6"
+"SA-04.2_4"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Check','id':'1','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"2\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_6"
+"SA-01.Q1_3"
+"} SA-01"
+"AND{"
+"SA-02.1_6"
+"SA-02.2_5"
+"SA-02.3_3"
+"SA-02.4_5"
+"SA-02.5_6"
+"SA-02.6_5"
+"SA-02.7_3"
+"} SA-02"
+"AND{"
+"SA-03.1_4"
+"} SA-03"
+"AND{"
+"SA-04.1_6"
+"SA-04.2_4"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Sign','id':'2','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Check','id':'2','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Terminate','id':'1','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
try {
Thread.sleep(120000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.publisher.publish("{'type':'Check','id':'1','wsag':'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+"<wsag:Agreement wsag:AgreementId=\"1\">\n"
+"\t<wsag:Name>SecNeg</wsag:Name>\n"
+"\t<wsag:Context>\n"
+"\t\t<wsag:ServiceProvider/></wsag:ServiceProvider>\n"
//+"\t\t<ws:TemplateId> t1 </ws:TemplateId>\n"
//+"\t\t<ws:TemplateName> Client Compute Template </ws:TemplateName>\n"
+"\t</wsag:Context>\n"
+"\t<wsag:Terms>\n"
+"\t\t<wsag:All>\n"
+"\t\t\t<wsag:ServiceDescriptionTerm wsag:Name=\"SA-02\" wsag:ServiceName=\"SecurityArchitecture\">\n"
+"\t\t\t</wsag:ServiceDescriptionTerm>\n"
+"\t\t\t<wsag:GuaranteeTerm wsag:Name=\"UserRequirementOn_SA\" Obligated=\"Provider\">\n"
+"\t\t\t<wsag:ServiceScope ServiceName=\"string\">SecurityArchitecture\n"
+"\t\t\t\t</wsag:ServiceScope>\n"
+"\t\t\t\t\t<wsag:ServiceLevelObjective>\n"
+"\t\t\t\t\t<wsag:CustomServiceLevel>"
+"AND{"
+"SA-01.1_5"
+"SA-01.Q1_5"
+"} SA-01"
+"AND{"
+"SA-02.1_5"
+"SA-02.2_5"
+"SA-02.3_5"
+"SA-02.4_5"
+"SA-02.5_5"
+"SA-02.6_5"
+"SA-02.7_5"
+"} SA-02"
+"AND{"
+"SA-03.1_5"
+"} SA-03"
+"AND{"
+"SA-04.1_5"
+"SA-04.2_5"
+"} SA-04"
+"AND{"
+"SA-05.1_5"
+"} SA-05"
+"AND{"
+"SA-06.1_5"
+"} SA-06"
+"AND{"
+"SA-07.1_5"
+"} SA-07"
+"AND{"
+"SA-09.1_5"
+"SA-09.2_5"
+"SA-09.3_5"
+"SA-09.4_5"
+"} SA-09"
+"AND{"
+"SA-12.1_5"
+"} SA-12"
+"AND{"
+"SA-13.1_5"
+"} SA-13"
+"AND{"
+"SA-14.1_5"
+"SA-14.2_5"
+"SA-14.3_5"
+"} SA-14"
+"AND{"
+"SA-01:4_5"
+"SA-02:4_5"
+"SA-03:4_5"
+"SA-04:4_5"
+"SA-05:4_5"
+"SA-06:4_5"
+"SA-07:4_5"
+"SA-09:4_5"
+"SA-12:4_5"
+"SA-13:4_5"
+"SA-14:4_5"
+"} SA\n"
+"\t\t\t\t\t</wsag:CustomServiceLevel>\n"
+"\t\t\t\t\t</wsag:ServiceLevelObjective>\n"
+"\t\t\t\t<wsag:BusinessValueList>\n"
+"\t\t\t<wsag:Penalty>\n"
+"\t\t\t<wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:TimeInterval>Always</wsag:TimeInterval>\n"
+"\t\t\t\t\t</wsag:AssessmentInterval>\n"
+"\t\t\t\t<wsag:Count>1</wsag:Count>\n"
+"\t\t\t\t<wsag:ValueExpression>DisableAccount</wsag:ValueExpression>\n"
+"\t\t\t</wsag:Penalty>\n"
+"\t\t\t</wsag:BusinessValueList>\n"
+"\t\t\t</wsag:GuaranteeTerm>\n"
+"\t\t</wsag:All>\n"
+"\t\t</wsag:Terms>\n"
+"\t</wsag:Agreement>\n'}");
return ICallback.SUCCESS;
}
}
public static final class SLAgwSecContext {
ICloudletController<SLAgwSecContext> cloudlet;
IKvStoreConnector<String, Void> kvResult;
IAmqpQueuePublisherConnector<String, Void> publisher;
//IAmqpQueuePublisherConnector<String, Void> choice;
//IAmqpQueueConsumerConnector<QPT[], Void> optionavailable;
}
}