NIFI-250: Updated flow.xml schema to take reporting tasks and controller services into account; removed schemas for reporting tasks and controller services.
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/f14a34f6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/f14a34f6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/f14a34f6 Branch: refs/heads/NIFI-250 Commit: f14a34f6686621501ddcc68efbcc64f001c96ab8 Parents: 24b4f1c Author: Mark Payne <[email protected]> Authored: Tue Jan 27 09:22:40 2015 -0500 Committer: Mark Payne <[email protected]> Committed: Tue Jan 27 09:22:40 2015 -0500 ---------------------------------------------------------------------- .../ControllerServiceConfiguration.xsd | 61 -------------- .../src/main/resources/FlowConfiguration.xsd | 59 +++++++++++-- .../resources/ReportingTaskConfiguration.xsd | 87 -------------------- 3 files changed, 54 insertions(+), 153 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f14a34f6/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ControllerServiceConfiguration.xsd ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ControllerServiceConfiguration.xsd b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ControllerServiceConfiguration.xsd deleted file mode 100644 index d3efed1..0000000 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ControllerServiceConfiguration.xsd +++ /dev/null @@ -1,61 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> - <xs:element name="services" type="ControllerServices"/> - - <xs:complexType name="ControllerServices"> - <xs:sequence> - - <!-- Each "processor" defines the actual dataflow work horses that make dataflow happen--> - <xs:element name="service" type="ControllerServiceType" minOccurs="0" maxOccurs="unbounded"/> - - </xs:sequence> - </xs:complexType> - - <!-- the Controller Task "id" is a key that should be valid within each flowController--> - <xs:complexType name="ControllerServiceType"> - <xs:sequence> - - <!-- The "id" is a name used to uniquely identify the Controller Task. --> - <xs:element name="identifier" type="NonEmptyStringType"/> - - <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1" /> - - <!-- "class" is the actual Java class that performs the type of controller task desired--> - <xs:element name="class" type="NonEmptyStringType"/> - - <!-- "optionalTaskProperty" are properties that may exist and offer further information about a task. - For instance, information about where a specific task should send information. --> - <xs:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - - <!-- Name/Value properties--> - <xs:complexType name="PropertyType"> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="name" type="xs:string"></xs:attribute> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - - - <xs:simpleType name="NonEmptyStringType"> - <xs:restriction base="xs:string"> - <xs:minLength value="1"/> - </xs:restriction> - </xs:simpleType> -</xs:schema> http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f14a34f6/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/FlowConfiguration.xsd ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/FlowConfiguration.xsd b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/FlowConfiguration.xsd index 1e6c25c..e2f146f 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/FlowConfiguration.xsd +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/FlowConfiguration.xsd @@ -28,6 +28,10 @@ <!-- Groupings of Processors/Ports --> <xs:element name="rootGroup" type="RootProcessGroupType" /> + + <xs:element name="controllerServices" type="ControllerServicesType" minOccurs="0" maxOccurs="1" /> + + <xs:element name="reportingTasks" type="ReportingTasksType" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> @@ -58,11 +62,6 @@ IFF schedulingStrategy is EVENT_DRIVEN --> <xs:element name="maxConcurrentTasks" type="xs:nonNegativeInteger"/> - <!-- "schedulingPeriodSeconds" is the maximum number of seconds that should elapse - between successive executions of each task for this configured processor. If a - task takes longer than the period specified then the next execution of this - task will take place immediately after termination of the previous run and as soon - as their is an available thread.--> <xs:element name="schedulingPeriod" type="NonEmptyStringType"/> <xs:element name="penalizationPeriod" type="TimePeriod" /> @@ -332,4 +331,54 @@ <xs:enumeration value="CRON_DRIVEN"></xs:enumeration> </xs:restriction> </xs:simpleType> + + <xs:complexType name="ControllerServicesType"> + <xs:sequence> + <xs:element name="controllerService" type="ControllerServiceType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ControllerServiceType"> + <xs:sequence> + <xs:element name="id" type="NonEmptyStringType" /> + <xs:element name="name" type="NonEmptyStringType" /> + <xs:element name="comment" type="xs:string" /> + <xs:element name="class" type="NonEmptyStringType" /> + <xs:element name="enabled" type="xs:boolean" /> + <xs:element name="availability" type="Availability" /> + + <xs:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="annotationData" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> + + <xs:simpleType name="Availability"> + <xs:restriction base="xs:string"> + <xs:enumeration value="CLUSTER_MANAGER_ONLY"></xs:enumeration> + <xs:enumeration value="NODE_ONLY"></xs:enumeration> + <xs:enumeration value="BOTH"></xs:enumeration> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="ReportingTasksType"> + <xs:sequence> + <xs:element name="reportingTask" type="ReportingTaskType" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="ReportingTaskType"> + <xs:sequence> + <xs:element name="id" type="NonEmptyStringType" /> + <xs:element name="name" type="NonEmptyStringType" /> + <xs:element name="comment" type="xs:string" /> + <xs:element name="class" type="NonEmptyStringType" /> + <xs:element name="schedulingPeriod" type="NonEmptyStringType"/> + <xs:element name="schedulingState" type="ScheduledState" /> + <xs:element name="schedulingStrategy" type="SchedulingStrategy" /> + <xs:element name="availability" type="Availability" /> + + <xs:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="annotationData" type="xs:string" minOccurs="0" maxOccurs="1" /> + </xs:sequence> + </xs:complexType> </xs:schema> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/f14a34f6/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ReportingTaskConfiguration.xsd ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ReportingTaskConfiguration.xsd b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ReportingTaskConfiguration.xsd deleted file mode 100644 index dcf1090..0000000 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/resources/ReportingTaskConfiguration.xsd +++ /dev/null @@ -1,87 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> - <xs:element name="tasks" type="ReportingTasks"/> - - <xs:complexType name="ReportingTasks"> - <xs:sequence> - - <!-- properties that may exist and offer further information about all tasks. - For instance, possibly the system that is sending the information. --> - <xs:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded"/> - - <!-- Each "processor" defines the actual dataflow work horses that make dataflow happen--> - <xs:element name="task" type="ReportingTaskType" minOccurs="0" maxOccurs="unbounded"/> - - </xs:sequence> - </xs:complexType> - - <!-- the Controller Task "id" is a key that should be valid within each flowController--> - <xs:complexType name="ReportingTaskType"> - <xs:sequence> - - <!-- The "id" is a name used to uniquely identify the Controller Task. --> - <xs:element name="id" type="NonEmptyStringType"/> - - <!-- The "name" is a nicely displayable description of the Controller Task's duty--> - <xs:element name="name" type="NonEmptyStringType"/> - - <!-- "class" is the actual Java class that performs the type of controller task desired--> - <xs:element name="class" type="NonEmptyStringType"/> - - <!-- - "schedulingPeriod" is the amount of time that should elapse between successive - executions of this task. The timer starts as soon as an execution finishes - --> - <xs:element name="schedulingPeriod" type="NonEmptyStringType"/> - - <xs:element name="schedulingStrategy" type="SchedulingStrategyType" minOccurs="0" default="TIMER_DRIVEN" /> - - <!-- "optionalTaskProperty" are properties that may exist and offer further information about a task. - For instance, information about where a specific task should send information. --> - <xs:element name="property" type="PropertyType" minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> - - <!-- Name/Value properties--> - <xs:complexType name="PropertyType"> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="name" type="xs:string"></xs:attribute> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - - <xs:simpleType name="SchedulingStrategyType"> - <xs:restriction base="xs:string"> - <xs:enumeration value="TIMER_DRIVEN"></xs:enumeration> - <xs:enumeration value="CRON_DRIVEN"></xs:enumeration> - </xs:restriction> - </xs:simpleType> - - <xs:simpleType name="NonEmptyStringType"> - <xs:restriction base="xs:string"> - <xs:minLength value="1"/> - </xs:restriction> - </xs:simpleType> - - <xs:simpleType name="TimePeriod"> - <xs:restriction base="xs:string"> - <xs:pattern value="\d+\s*(ns|nano|nanos|nanoseconds|ms|milli|millis|milliseconds|s|sec|secs|seconds|m|min|mins|minutes|h|hr|hrs|hours|d|day|days)"></xs:pattern> - </xs:restriction> - </xs:simpleType> - -</xs:schema>
