Skip to content

Commit

Permalink
Fixed scripting XSD (w.r.t. .Net problems).
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed May 23, 2014
1 parent 4075443 commit df9e4bf
Show file tree
Hide file tree
Showing 2 changed files with 152 additions and 135 deletions.
Expand Up @@ -37,16 +37,6 @@
</xsd:documentation>
</xsd:annotation>

<xsd:import namespace="http://www.w3.org/2001/XMLSchema"
schemaLocation="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>
Importing the schema of XSD schema definition explicitly. This causes that we can use "strict" matching
for the xsd:schema elements used in runtime.
</xsd:documentation>
</xsd:annotation>
</xsd:import>

<xsd:import namespace="http://prism.evolveum.com/xml/ns/public/annotation-3"
schemaLocation="http://prism.evolveum.com/xml/ns/public/annotation-3">
<xsd:annotation>
Expand Down Expand Up @@ -83,22 +73,30 @@
</xsd:annotation>
</xsd:import>

<!--<xsd:complexType name="ScriptingExpressionType">-->
<!--<xsd:annotation>-->
<!--<xsd:documentation>-->
<!--General wrapping element (TEMPORARY).-->
<!--</xsd:documentation>-->
<!--</xsd:annotation>-->
<!--<xsd:sequence>-->
<!--<xsd:element ref="tns:expression"/>-->
<!--</xsd:sequence>-->
<!--</xsd:complexType>-->
<!--<xsd:element name="scriptingExpression" type="tns:ScriptingExpressionType" />-->

<xsd:element name="expression" abstract="true" />
<xsd:element name="expression" type="xsd:anyType" abstract="true" /> <!-- because constant is anyType -->

<xsd:complexType name="ScriptingExpressionType">
<xsd:complexType name="ExpressionType">
<xsd:annotation>
<xsd:documentation>
General wrapping element (TEMPORARY).
Root of the expression type inheritance hierarchy.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="tns:expression"/>
</xsd:sequence>
</xsd:complexType>

<xsd:element name="scriptingExpression" />

<xsd:complexType name="ExpressionSequenceType">
<xsd:annotation>
<xsd:documentation>
Expand All @@ -108,9 +106,13 @@
the whole sequence.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="tns:expression" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element ref="tns:expression" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="sequence" type="tns:ExpressionSequenceType" substitutionGroup="tns:expression" />

Expand All @@ -124,9 +126,13 @@
pipeline.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element ref="tns:expression" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element ref="tns:expression" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="pipeline" type="tns:ExpressionPipelineType" substitutionGroup="tns:expression" />

Expand All @@ -136,43 +142,48 @@
Queries the model for objects of a given type, optionally fulfilling given condition.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="xsd:QName">
<xsd:annotation>
<xsd:documentation>
Type whose instances are searched for.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="variable" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Variable to hold found instances.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="searchFilter" type="q:SearchFilterType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Filter to apply when searching for instances.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="parameter" type="tns:ActionParameterValueType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Action parameters.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="tns:expression" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Expression to evaluate for each object found.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element name="type" type="xsd:QName">
<xsd:annotation>
<xsd:documentation>
Type whose instances are searched for.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="variable" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Variable to hold found instances.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="searchFilter" type="q:SearchFilterType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Filter to apply when searching for instances.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="parameter" type="tns:ActionParameterValueType" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Action parameters.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="tns:expression" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Expression to evaluate for each object found.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="search" type="tns:SearchExpressionType" substitutionGroup="tns:expression" />

Expand All @@ -182,15 +193,19 @@
Filters input on a given condition.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="filter" type="q:SearchFilterType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Filter to apply to the input stream.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element name="filter" type="q:SearchFilterType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Filter to apply to the input stream.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="filter" type="tns:FilterExpressionType" substitutionGroup="tns:expression" />

Expand All @@ -200,15 +215,19 @@
Select given item.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="path" type="t:ItemPathType">
<xsd:annotation>
<xsd:documentation>
Path to the data item that has to be selected.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element name="path" type="t:ItemPathType">
<xsd:annotation>
<xsd:documentation>
Path to the data item that has to be selected.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="select" type="tns:SelectExpressionType" substitutionGroup="tns:expression" />

Expand All @@ -218,16 +237,20 @@
Executes a given command individually for each item arriving at the input.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="variable" type="xsd:QName" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Variable to hold emitted instances.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="tns:expression" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element name="variable" type="xsd:QName" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Variable to hold emitted instances.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="tns:expression" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="foreach" type="tns:ForeachExpressionType" substitutionGroup="tns:expression" />

Expand All @@ -237,22 +260,27 @@
Executes a given action (add, modify, delete, enable, disable, assign, ...)
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="type" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Action to execute.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="parameter" type="tns:ActionParameterValueType" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Action parameters.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element name="type" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Action to execute.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="parameter" type="tns:ActionParameterValueType" minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
Action parameters.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="action" type="tns:ActionExpressionType" substitutionGroup="tns:expression" />

Expand All @@ -262,39 +290,28 @@
Value of a parameter for an action.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Parameter name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="tns:expression" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Parameter (argument) value.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:complexContent>
<xsd:extension base="tns:ExpressionType">
<xsd:sequence>
<xsd:element name="name" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
Parameter name.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="tns:expression" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
Parameter (argument) value.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>

<!--<xsd:complexType name="ConstantExpressionType">-->
<!--<xsd:annotation>-->
<!--<xsd:documentation>-->
<!--Constant value expression.-->
<!--</xsd:documentation>-->
<!--</xsd:annotation>-->
<!--<xsd:complexContent>-->
<!--<xsd:extension base="tns:ExpressionType">-->
<!--<xsd:sequence>-->
<!--<xsd:element name="value" type="t:RawType"/>-->
<!--</xsd:sequence>-->
<!--</xsd:extension>-->
<!--</xsd:complexContent>-->
<!--</xsd:complexType>-->

<xsd:element name="constant" type="xsd:anyType" substitutionGroup="tns:expression" nillable="true">
<xsd:annotation>
<xsd:appinfo>
Expand Down
2 changes: 1 addition & 1 deletion model/model-intest/testng.xml
Expand Up @@ -73,7 +73,7 @@
<class name="com.evolveum.midpoint.model.intest.importer.BadImportTest"/>
</classes>
</test>
<test name="Scripting" preserve-order="true" parallel="false" verbose="10" enabled="false">
<test name="Scripting" preserve-order="true" parallel="false" verbose="10" enabled="true">
<classes>
<class name="com.evolveum.midpoint.model.intest.scripting.TestScriptingBasic"/>
</classes>
Expand Down

0 comments on commit df9e4bf

Please sign in to comment.