[GRAAP-WG] SLA Template
Oliver Wäldrich
Oliver.Waeldrich at scai.fraunhofer.de
Tue Feb 20 08:22:00 CST 2007
Hi Dominic,
since you are using our implementation I think the following code should
work for you:
AgreementTemplateType template =
AgreementTemplateType.Factory.newInstance();
template.setAgreementId("some_id");
AgreementContextType context = template.addNewContext();
context.setServiceProvider(AgreementRoleType.AGREEMENT_RESPONDER);
template.addNewTerms();
ConstraintSectionType section =
template.addNewCreationConstraints();
OfferItemType offer = section.addNewItem();
offer.setLocation("some_location");
ItemConstraint constraint = offer.addNewItemConstraint();
LocalSimpleType simpleType = constraint.addNewSimpleType();
Restriction restriction = simpleType.addNewRestriction();
restriction.setBase(new QName("http://www.w3.org/2001/XMLSchema",
"string"));
restriction.addNewEnumeration().addNewValue().setStringValue("true");
restriction.addNewEnumeration().addNewValue().setStringValue("false");
This creates the following XML:
<?xml version="1.0" encoding="UTF-8"?>
<ws:Template ws:AgreementId="some_id"
xmlns:ws="http://schemas.ggf.org/graap/2006/07/ws-agreement"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.ggf.org/graap/2006/07/ws-agreement
agreement_types.xsd">
<ws:Context>
<ws:ServiceProvider>AgreementResponder</ws:ServiceProvider>
</ws:Context>
<ws:Terms />
<ws:CreationConstraints>
<ws:Item>
<ws:Location>some_location</ws:Location>
<ws:ItemConstraint>
<xs:simpleType
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:restriction base="xs:string">
<xs:enumeration value="true"
/>
<xs:enumeration
value="false" />
</xs:restriction>
</xs:simpleType>
</ws:ItemConstraint>
</ws:Item>
</ws:CreationConstraints>
</ws:Template>
I think this is what you want.
Regards,
Oliver
-----Ursprüngliche Nachricht-----
Von: graap-wg-bounces at ogf.org [mailto:graap-wg-bounces at ogf.org] Im Auftrag
von Dominic Battre
Gesendet: Montag, 12. Februar 2007 11:55
An: graap-wg at ogf.org
Betreff: [GRAAP-WG] SLA Template
Hello everybody,
for the AssessGrid project, we are working on SLA support for our
resource management system.
At the very moment, I am in the stage of generating an extensive SLA
template to get a good feeling about the current WSAG specification. (I
didn't follow the development for some time because I was busy with
other projects).
I would like to send you my results for comment once they are available,
but right now I have encountered the first problem already. Maybe you
can help me with this:
I would like to add a CreationConstraint that models a boolean flag,
whether some fault tolerance mechanisms need to be activated.
The respective XML fragment looks like this:
<wsag:Item wsag:Name="Checkpointing">
<wsag:Location>//assessgrid:FTService/assessgrid:Requested</wsag:Location>
<wsag:ItemConstraint>
<!-- I don't quite know how to put true / false here -->
</wsag:ItemConstraint> </wsag:Item>
So what do I put there to allow only true and false?
My first idea was to use a xs:restriction like
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
but to my surprise my editor (WTP of Eclipse) tells me that
xs:restriction is not a valid tag at this place - despite being
explicitly mentioned in the WSAG specification. Now, who is right? The
syntax checker of the editor or the WSAG spec, or both, meaning that I
am wrong?
The error message is:
cvc-complex-type.2.4.a: Invalid content was found starting with element
'xs:restriction'. One of '{"http://www.w3.org/2001/XMLSchema":simpleType,
"http://www.w3.org/2001/XMLSchema":minExclusive,
"http://www.w3.org/2001/XMLSchema":minInclusive,
"http://www.w3.org/2001/XMLSchema":maxExclusive,
"http://www.w3.org/2001/XMLSchema":maxInclusive,
"http://www.w3.org/2001/XMLSchema":totalDigits,
"http://www.w3.org/2001/XMLSchema":fractionDigits,
"http://www.w3.org/2001/XMLSchema":length,
"http://www.w3.org/2001/XMLSchema":minLength,
"http://www.w3.org/2001/XMLSchema":maxLength,
"http://www.w3.org/2001/XMLSchema":enumeration,
"http://www.w3.org/2001/XMLSchema":whiteSpace,
"http://www.w3.org/2001/XMLSchema":pattern,
"http://www.w3.org/2001/XMLSchema":group,
"http://www.w3.org/2001/XMLSchema":all,
"http://www.w3.org/2001/XMLSchema":choice,
"http://www.w3.org/2001/XMLSchema":sequence}' is expected.
This matches mostly with the specification except for the xs:restriction.
Coming back to the problem of modeling "Put true or false there", what
would be the best way? If I understand the xs:group, xs:all, xs:choice,
xs:sequence correctly, they all operate on complex types. Does this
leave anything but the xs:pattern alternative? (Note that true/false is
just a special case for any kind of enumeration.)
Thanks,
Dominic
P.S. In case you have some example files of templates, I would be very
interested in having a look at them.
--
graap-wg mailing list
graap-wg at ogf.org
http://www.ogf.org/mailman/listinfo/graap-wg
More information about the graap-wg
mailing list