Merge "fixed sonar issue in DBConfigFactory"
authorDan Timoney <dtimoney@att.com>
Tue, 11 Dec 2018 15:04:41 +0000 (15:04 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 11 Dec 2018 15:04:41 +0000 (15:04 +0000)
INFO.yaml
dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/CachedDataSourceFactory.java
dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/DBResourceManager.java
dblib/provider/src/main/java/org/onap/ccsdk/sli/core/dblib/config/DbConfigPool.java
sli/common/src/main/resources/crAseNetwork.sql [deleted file]
sli/common/src/main/yang/ase-network.yang [deleted file]
sli/common/src/main/yang/ase-type.yang [deleted file]
sli/common/src/main/yang/ase.yang [deleted file]
sli/common/src/test/resources/svclogic.xsd [deleted file]

index 070df11..e15dda3 100644 (file)
--- a/INFO.yaml
+++ b/INFO.yaml
@@ -33,10 +33,9 @@ committers:
         company: 'ATT'
         id: 'jh245g'
         timezone: 'America/New York'
-    - name: 'Ryan Goulding'
-        email: 'ryandgoulding@gmail.com'
-        company: 'Inocybe Technologies'
-        id: 'rgoulding'
-        timezone: 'America/New York'
 tsc:
     approval: 'https://lists.onap.org/pipermail/onap-tsc'
+    changes:
+        - type: 'Deletion'
+            name: 'Ryan Goulding'
+            link: 'https://lists.onap.org/g/onap-tsc/message/4261'
index 296fe70..15aa7a1 100644 (file)
@@ -4,6 +4,8 @@
  * ================================================================================
  * Copyright (C) 2016 - 2017 ONAP
  * ================================================================================
+ * Modifications Copyright (C) 2018 IBM.
+ * ================================================================================
  * Licensed 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
@@ -38,7 +40,7 @@ public class CachedDataSourceFactory {
                if(config instanceof JDBCConfiguration)
                        return JdbcDBCachedDataSource.createInstance(config);
 
-               return (CachedDataSource)null;
+               return null;
        }
 
 }
index 9acae34..047fa29 100755 (executable)
@@ -4,6 +4,8 @@
  * ================================================================================
  * Copyright (C) 2016 - 2017 ONAP
  * ================================================================================
+ * Modifications Copyright (C) 2018 IBM.
+ * ================================================================================
  * Licensed 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
@@ -68,7 +70,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb
     transient protected long retryInterval = 10000L;
     transient boolean recoveryMode = true;
 
-    SortedSet<CachedDataSource> dsQueue = new ConcurrentSkipListSet<CachedDataSource>(new DataSourceComparator());
+    SortedSet<CachedDataSource> dsQueue = new ConcurrentSkipListSet<>(new DataSourceComparator());
     protected final Set<CachedDataSource> broken = Collections.synchronizedSet(new HashSet<CachedDataSource>());
     protected final Object monitor = new Object();
     protected final Properties configProps;
@@ -80,6 +82,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb
     protected final long monitoringInitialDelay;
     protected final long expectedCompletionTime;
     protected final long unprocessedFailoverThreshold;
+    private static final String LOGGER_ALARM_MSG="Generated alarm: DBResourceManager.getData - No active DB connection pools are available.";
 
     public DBResourceManager(final DBLIBResourceProvider configuration) {
         this(configuration.getProperties());
@@ -393,7 +396,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb
 
         // test if there are any connection pools available
         if(this.dsQueue.isEmpty()){
-            LOGGER.error("Generated alarm: DBResourceManager.getData - No active DB connection pools are available.");
+            LOGGER.error(LOGGER_ALARM_MSG);
             throw new DBLibException("No active DB connection pools are available in RequestDataWithRecovery call.");
         }
 
@@ -457,7 +460,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb
 
     private CachedRowSet requestDataNoRecovery(String statement, ArrayList<Object> arguments, String preferredDS) throws SQLException {
         if(dsQueue.isEmpty()){
-            LOGGER.error("Generated alarm: DBResourceManager.getData - No active DB connection pools are available.");
+            LOGGER.error(LOGGER_ALARM_MSG);
             throw new DBLibException("No active DB connection pools are available in RequestDataNoRecovery call.");
         }
         CachedDataSource active = this.dsQueue.first();
@@ -533,7 +536,7 @@ public class DBResourceManager implements DataSource, DataAccessor, DBResourceOb
 
     private boolean writeDataNoRecovery(String statement, ArrayList<Object> arguments, String preferredDS) throws SQLException {
         if(dsQueue.isEmpty()){
-            LOGGER.error("Generated alarm: DBResourceManager.getData - No active DB connection pools are available.");
+            LOGGER.error(LOGGER_ALARM_MSG);
             throw new DBLibException("No active DB connection pools are available in RequestDataNoRecovery call.");
         }
 
index 21fdab2..fb94ea0 100644 (file)
@@ -4,6 +4,8 @@
  * ================================================================================
  * Copyright (C) 2016 - 2017 ONAP
  * ================================================================================
+ * Modifications Copyright (C) 2018 IBM.
+ * ================================================================================
  * Licensed 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
@@ -30,7 +32,7 @@ public class DbConfigPool {
 
        private final String type;
 
-       private ArrayList<BaseDBConfiguration> configurations = new ArrayList<BaseDBConfiguration>();
+       private ArrayList<BaseDBConfiguration> configurations = new ArrayList<>();
 
        public DbConfigPool(Properties properties) {
                LOGGER.debug("Initializing DbConfigType");
@@ -38,7 +40,6 @@ public class DbConfigPool {
        }
 
        public int getTimeout() {
-               // TODO Auto-generated method stub
                return 0;
        }
 
diff --git a/sli/common/src/main/resources/crAseNetwork.sql b/sli/common/src/main/resources/crAseNetwork.sql
deleted file mode 100644 (file)
index 83f1dfc..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
----
--- ============LICENSE_START=======================================================
--- ONAP : CCSDK
--- ================================================================================
--- Copyright (C) 2017 AT&T Intellectual Property. All rights
---                                             reserved.
--- ================================================================================
--- Licensed 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.
--- ============LICENSE_END=========================================================
----
-
-CREATE TABLE sdnctl.ASE (
-       ase_network_id INT NOT NULL,
-       topology VARCHAR(25),
-       CONSTRAINT P_ASE PRIMARY KEY(ase_network_id));
-       
-CREATE TABLE sdnctl.ASE_PORT (
-       esm_name VARCHAR(25),
-       resource_emt_clli VARCHAR(25) NOT NULL,
-       resource_emt_ip_addr VARCHAR(25) NOT NULL,
-       port_action VARCHAR(25),
-       profile VARCHAR(25) ,
-       port VARCHAR(15) NOT NULL,
-       state VARCHAR(25),
-       resource_mode VARCHAR(25),
-    speed INT,
-    resource_lldp VARCHAR(1),
-       resource_mtu VARCHAR(5),
-       resource_autoneg VARCHAR(10),
-       resource_twamp VARCHAR(10),
-       resource_description VARCHAR(80),
-       uni_circuit_id VARCHAR(45),
-       CONSTRAINT P_ASE_PORT PRIMARY KEY(resource_emt_clli, port));
-       
-CREATE TABLE sdnctl.ASE_EVC (
-       esm_name VARCHAR(25),
-       emt_ip_addr VARCHAR(25) NOT NULL,
-       evc_action VARCHAR(25),
-       service_id VARCHAR(25),
-       serv_type VARCHAR(25),
-       evc_choice VARCHAR(25),
-       uni_port VARCHAR(25) NOT NULL,
-       lag_port VARCHAR(25),
-       mac_onoff VARCHAR(25),  
-       ppcos VARCHAR(25),
-       cir VARCHAR(25),
-       cbs VARCHAR(25),
-       ebs VARCHAR(25),        
-       sgos VARCHAR(25),
-       pe VARCHAR(25),
-       unit VARCHAR(25),
-       qinq VARCHAR(25),       
-       interface VARCHAR(25),
-       evc_description VARCHAR(80),    
-       bandwidth VARCHAR(10),
-       svlan VARCHAR(5),
-       cvlan VARCHAR(5),
-       routing_instance VARCHAR(25),
-       rd VARCHAR(25),
-       rt VARCHAR(25),
-       evc_limit VARCHAR(25),
-       label_block_size VARCHAR(25),
-       site VARCHAR(25),
-       int_mac_limit VARCHAR(5),
-       sgos_grade VARCHAR(25),
-       bum_rate VARCHAR(25),
-       uni_circuit_id VARCHAR(45),
-       leg INT,
-       CONSTRAINT P_ASE_EVC PRIMARY KEY(emt_ip_addr, uni_port,leg));
-       
-       
-       
diff --git a/sli/common/src/main/yang/ase-network.yang b/sli/common/src/main/yang/ase-network.yang
deleted file mode 100755 (executable)
index ae654ae..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-module ase {
-  namespace "att:ase";
-  prefix ase;
-  revision "2014-06-03" {
-    description "Example ASE Network Module";
-  }
-
-  container ase {
-      config true;
-      leaf ase-network-id{
-        type uint32;
-      }
-      leaf topology {
-        type string ; // check enum
-      }
-  }
-
-  container ase-port {
-      config true;
-      // is this really a list of cpe ports one for each  uni-ckt
-      leaf esm-name {
-               type string;
-      }
-      
-      leaf resource-emt-clli {
-       type string;
-      }
-      
-      leaf resource-emt-ip-addr{
-               type string;
-      }
-      leaf port-action {
-               type string;
-      }
-      leaf profile  {
-               type string;
-      }
-      leaf port {
-               type string;
-      }
-      leaf state {
-               type string;
-      }
-      leaf resource-mode {
-               type string;
-      }
-      leaf speed {
-               type string;
-      }
-      leaf resource-lldp {
-               type string;
-      }
-      leaf  resource-mtu {
-               type string;
-      }
-      leaf resource-autoneg{
-               type string;
-      }
-      leaf  resource-twamp {
-               type string;
-      }
-      leaf resource-description {
-               type string;
-      }
-      leaf uni-circuit-id {
-       type string;
-      }
-    } // ase-port container  
-
-    container ase-evc {
-//  Port contains a list of EVC
-//     EVCs are either point to point or multipoint (topology)
-//     EVCs are connected ? what ID is used to connected them ? (network-id) ?
-      config true;
-      leaf esm-name {  
-               type string;
-      }        
-         leaf emt-ip-addr {
-               type string;
-      }        
-         leaf evc-action {
-               type string;
-      }        
-         leaf service-id {
-               type string;
-      }        
-
-         leaf serv-type {
-               type string;
-      }        
-         leaf evc-choice {
-               type string;
-      }        
-         leaf uni-port {
-               type string;
-      }        
-         leaf lag-port {
-               type string;
-      }        
-         leaf mac-onoff {
-               type string;
-      }        
-
-         leaf ppcos {
-               type string;
-      }        
-         leaf cir {
-               type string;
-      }        
-         leaf cbs {
-               type string;
-      }        
-         leaf ebs {
-               type string;
-     } 
-        leaf sgos {
-               type string;
-     } 
-// ipag Device Data
-       leaf pe {
-               type string;
-      }        
-       leaf unit {
-               type string;
-      }        
-         leaf qinq {
-               type string;
-      }        
-         leaf interface {
-               type string;
-      }        
-         leaf evc-description {
-               type string;
-      }        
-         leaf bandwidth {
-               type string;
-      }        
-         leaf svlan {
-               type string;
-               description "Service VLAN is either outer tag or only tag depending on QinQ";
-      }        
-         leaf cvlan  {
-               type string;
-               description "Customer VLAN is null if not QinQ";
-      }        
-         leaf routing-instance {
-               type string;
-      }        
-         leaf rd {
-               type string;
-      }        
-         leaf rt {
-               type string;
-      }        
-         leaf limit {
-               type string;
-      }        
-         leaf label-block-size {
-               type string;
-      }        
-         leaf site {
-               type string;
-      }        
-         leaf int-mac-limit {
-               type string;
-      }        
-         leaf sgos-grade {
-               type string;
-      }        
-         leaf bum-rate {
-               type string;
-      }        
-      leaf uni-circuit-id {
-       type string;
-      }
-    } // ase-evc container
-
-} // module ase-network 
-
diff --git a/sli/common/src/main/yang/ase-type.yang b/sli/common/src/main/yang/ase-type.yang
deleted file mode 100755 (executable)
index 2de186e..0000000
+++ /dev/null
@@ -1,561 +0,0 @@
-module ase-type {
-
-  namespace "att:ase:type";
-  prefix ase-type;
-
-  organization "AT&T ASE";
-
-  revision 2014-06-09 {
-    description
-      "Initial version";
-  }
-  
-  /////////////////////////////////////////////////////
-  // ASE Service Model Typedefs & Groupings
-  /////////////////////////////////////////////////////
-
-  typedef query-type {
-    type enumeration {
-      enum getDevicePortDetails{
-       value 0;
-      }
-      enum GetServiceDetailsRequest{
-       value 1;
-      }
-    }
-  }
-
-  typedef uni-action-type {   
-    type enumeration {
-      enum PortPreReserveRequest{
-       value 0;
-      }
-      enum PortReleaseRequest{
-       value 1;
-      }
-      enum PortDeProvRequest{
-       value 2;
-      }
-      enum ChangePortProvRequest{
-       value 3;
-      }
-      enum PortActivateRequest{
-       value 4;
-      }
-      enum ChangePortActivateRequest{
-       value 5;
-      }
-      enum DisconnectPortRequest{
-       value 6;
-      }
-      enum getDevicePortDetails{
-       value 7;
-      }
-    }
-  }
-
-  typedef evc-action-type {   
-    type enumeration {
-      enum ConnectionProvRequest{
-       value 0;
-      }
-      enum ChangeConnectionProvRequest{
-       value 1;
-      }
-      enum ConnectionDeProvrequest{
-       value 2;
-      }
-      enum ConnectionActivateRequest{
-       value 3;
-      }
-      enum ChangeConnectionActivateRequest{
-       value 4;
-      }
-      enum DisconnectConnectionRequest{
-       value 5;
-      }
-      enum GetServiceDetailsRequest{
-       value 6;
-      }
-    }
-  }
-  
-  typedef evc-gos-type {
-    type enumeration {
-      enum "REAL-TIME"{
-       value 0;
-      }
-      enum "INTERACTIVE"{
-       value 1;
-      }
-      enum "BUSINESS-CRITICAL-HIGH"{
-       value 2;
-      }
-      enum "BUSINESS-CRITICAL-MEDIUM"{
-       value 3;
-      }
-      enum "NON-CRITICAL-HIGH"{
-       value 4;
-      }
-      enum "NON-CRITICAL-LOW"{
-       value 5;
-      }
-    }
-  }
-
-  typedef cir-rate-type {
-    type enumeration {
-      enum "Mbps"{
-       value 0;
-      }
-      enum "Gbps"{
-       value 1;
-      }
-    }
-  } 
-  
-  typedef ase-yes-no-type {
-    type enumeration {
-      enum "Y"{
-       value 0;
-      }
-      enum "N"{
-       value 1;
-      }
-    }
-  }
-  
-  typedef provisioning-indicator {
-     type enumeration {
-      enum "Y"{
-       value 0;
-      }
-      enum "N"{
-       value 1;
-      }
-    }
-  }
-
-  typedef media-type {
-    type enumeration {
-      enum "SFP-1GE-SX"{
-       value 0;
-      }
-      enum "SFP-1GE-LX"{
-       value 1;
-      }
-      enum "SFP-1GE"{
-       value 2;
-      }
-      enum "Ethernet-10_100_1000M"{
-       value 3;
-      }
-    }
-  }
-
-  typedef media-speed-type {
-    type enumeration {
-      enum "100"{
-       value 0;
-      }
-      enum "1000"{
-       value 1;
-      }
-      enum "10000"{
-       value 2;
-      }
-    }
-  }
-
-  typedef cos-category-type {
-    type enumeration {
-      enum "GOS"{
-       value 0;
-      }
-      enum "PPCOS"{
-       value 1;
-      }
-    }
-  }
-
-  typedef uni-gos-type {
-    type enumeration {
-      enum "INTERACTIVE"{
-       value 0;
-      }
-      enum "BUSINESS-CRITICAL-HIGH"{
-       value 1;
-      }
-      enum "BUSINESS-CRITICAL-MEDIUM"{
-       value 2;
-      }
-      enum "NON-CRITICAL-HIGH"{
-       value 3;
-      }
-    }
-  }
-
-  typedef uni-cir-value-type {
-    type enumeration {
-      enum "2"{
-       value 0;
-      }
-      enum "4"{
-       value 1;
-      }
-      enum "5"{
-       value 2;
-      }
-      enum "8"{
-       value 3;
-      }
-      enum "10"{
-       value 4;
-      }
-      enum "20"{
-       value 5;
-      }
-      enum "30"{
-       value 6;
-      }
-      enum "40"{
-       value 7;
-      }
-      enum "50"{
-       value 8;
-      }
-      enum "60"{
-       value 9;
-      }
-      enum "70"{
-       value 10;
-      }
-      enum "80"{
-       value 11;
-      }
-      enum "90"{
-       value 12;
-      }
-      enum "100"{
-       value 13;
-      }
-      enum "125"{
-       value 14;
-      }
-      enum "150"{
-       value 15;
-      }
-      enum "175"{
-       value 16;
-      }
-      enum "200"{
-       value 17;
-      }
-      enum "225"{
-       value 18;
-      }
-      enum "250"{
-       value 19;
-      }
-    }
-  }
-
-  typedef uni-mac-limit-type {
-    description "MAC address limit for UNI port";
-    type enumeration {
-      enum "Y"{
-       value 0;
-      }
-      enum "N"{
-       value 1;
-      }
-    } 
-  }
-
-  typedef port-tagging-type {
-    type enumeration {
-      enum "port-based"{
-       value 0;
-      }
-      enum "vlan-based"{
-       value 1;
-      }
-    }
-  }
-  
-  typedef port-status {
-    type enumeration {
-      enum "Available"{
-       value 0;
-      }
-      enum "Reserved"{
-       value 1;
-      }
-      enum "Active" {
-       value 2;
-      }
-    }
-  }
-
-  grouping uni-common-request-hdr {        
-    leaf request-id {
-      type string;
-      mandatory true;
-    }
-    leaf source {
-      description "The source system requesting action or info";
-      type string;
-      mandatory true;
-    }
-    leaf request-action {
-      description "action indicator for this service instance";
-      type uni-action-type;
-    }
-    leaf undo-indicator {
-      type provisioning-indicator;
-    }  
-    leaf notification-url {
-      description "When this field exists, NCS will return an "
-       + "acknowledgement that the request is legal "
-       + "Once the activate is finished (or fails) NCS"
-       + "will utilize the URL to indicate the status";
-      type string;
-    }
-  }
-  
-  grouping uni-common-return-hdr {
-    leaf request-action {
-      description "action indicator for this service instance";
-      type uni-action-type;
-    } 
-    leaf request-id {
-      description "Identifier for the request from NGO";
-      type string;
-      
-    } 
-  }
-
-  grouping uni-common-error-format {
-    leaf error-code {
-      description "Error code";
-      type int32;
-    }
-    leaf error-message {
-      description "Error text describing the API error occurance";
-      type string;
-    }
-  }
-
-  grouping query-common-hdr {
-    leaf request-id {
-      description "Identifier for the request from NGO";
-      type string;    
-    }
-    leaf request-type {
-      description "action indicator for this service instance";
-      type query-type;
-    }
-  }
-
-  grouping query-error-format {
-    leaf error-code {
-      description "Error code";
-      type int32;
-    }
-    leaf error-message {
-      description "Error text describing the API error occurance";
-      type string;
-    }
-  }
-
-  grouping evc-common-request-hdr {
-    leaf request-id {
-      description "Identifier for the request from NGO";
-      type string;
-    }
-    leaf source {
-      description "The source system requesting action or info";
-      type string;
-      mandatory true;
-    }
-    leaf uni-order-number {
-      type string;
-    }
-    leaf request-action {
-      description "action indicator for this service instance";
-      type evc-action-type;
-      mandatory true;
-    }
-    leaf undo-indicator {
-      type provisioning-indicator;
-    }  
-    leaf notification-url {
-      description "When this field exists, NCS will return an "
-       + "acknowledgement that the request is legal "
-       + "Once the activate is finished (or fails) NCS"
-       + "will utilize the URL to indicate the status";
-      type string;
-    }
-    leaf evc-name {
-      type string;
-      mandatory true;
-    }
-  }
-   
-  grouping evc-common-error-format {
-    leaf error-code {
-      description "Error code";
-      type int32;
-    }
-    leaf error-message {
-      description "Error text describing the API error occurance";
-      type string;
-    }
-  }
-
-  /////////////////////////////////////////
-  // UNI-PORTS table contains all circuits
-  /////////////////////////////////////////
-  container uni-ports {
-    description
-      "UNI port container";
-    list uni-port {
-      key "uni-circuit-id";
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }
-      leaf subscriber-name {
-       type string;
-       mandatory true;
-      }
-      leaf uni-order-number {
-       type string;
-       mandatory true;
-      }
-      leaf edge-device-clli {
-       description "Edge device (e.g. EMT) on which port " 
-         + " reservation is needed";
-       type string;
-       mandatory true;
-      }
-      leaf uni-location-city {
-       type string;
-       mandatory true;
-      }
-      leaf uni-location-state {
-       type string;
-       mandatory true;
-      }
-      leaf media-type {
-       type media-type;
-       mandatory true;
-      }
-      leaf media-speed {
-       type media-speed-type;
-       mandatory true;
-      }
-      leaf uni-cir-value {
-       description "Integer value for the CIR";
-       type uni-cir-value-type;
-       mandatory true;
-      }
-      leaf uni-cir-units {
-       description "Units for the CIR";
-       type cir-rate-type;
-       mandatory true;
-      }
-      leaf cos-category {
-       description "CoS Type";
-       type cos-category-type;
-       mandatory true;   
-      }
-      leaf gos-profile {
-       description "GoS tpye";
-       type uni-gos-type;
-       mandatory true;
-      } 
-      leaf aditional-mac-allowed {
-       type uni-mac-limit-type;
-      }
-      leaf port-tagging {
-       type port-tagging-type;
-       mandatory true;
-      }
-      leaf port-status {
-       type port-status;
-      }
-      leaf name-value-pair {
-       type string;
-      }  
-    }
-  }
-
-  ///////////////////////////////////////////
-  // EVCS table contains all evc associations
-  ///////////////////////////////////////////
-  container evcs {
-    list evc {
-      key "evc-name";
-      leaf evc-name {
-       type string;
-       mandatory true;
-      }
-      leaf topology {
-       type enumeration {
-         enum "MultiPoint"{
-           value 0;
-         }
-         enum "PointToPoint"{
-           value 1;
-         }
-       }
-      }
-      list evc-leg {
-       key evc-access-name;
-       leaf evc-access-name {
-         type string;    
-       }
-       leaf subscriber-name {
-         type string;
-       }
-       leaf cvlan {
-         type uint16 {
-           range "2..4090";
-         }
-       }
-       leaf connection-cir-value {
-         type uni-cir-value-type;
-       }
-       leaf connection-cir-units-string {
-         type cir-rate-type;
-       }
-       leaf connection-gos-profile {
-         type evc-gos-type;
-       }
-       leaf connection-additional-mac-allowed {
-         type uni-mac-limit-type;
-       }
-       leaf connection-emc-indicator {
-         type enumeration {
-           enum "Y"{
-             value 0;
-           }
-           enum "N"{
-             value 1;
-           }
-         } 
-       }
-       leaf connection-emc-speed-value {
-         type uni-cir-value-type;
-       }
-       leaf connection-emc-speed-units-string {
-         type cir-rate-type;
-       }
-      }
-      leaf name-value-pair {
-       type string;
-      } 
-    }   
-  }
-}
diff --git a/sli/common/src/main/yang/ase.yang b/sli/common/src/main/yang/ase.yang
deleted file mode 100755 (executable)
index 0b36a56..0000000
+++ /dev/null
@@ -1,558 +0,0 @@
-module ase {
-
-  namespace "att:ase";
-  prefix ase;
-
-  import ase-type {prefix ase-type; revision-date "2014-06-09";}
-
-  organization "AT&T ASE";
-
-  description
-    "This submodule contains a collection of YANG definitions for
-     defining the ASE service model(s) for UNI and EVC";
-
-  revision 2014-03-27 {
-    description 
-      "Additional detail for UNI and EVC API";
-  }
-  revision 2014-03-18 {
-    description
-      "Initial version";
-  }
-
-
-  /////////////////////////////////////////////////////
-  // ASE Query Actions
-  /////////////////////////////////////////////////////
-  
-  ////
-  // Port Reserve Request
-  ////
-  rpc ase-port-reserve {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string; 
-       mandatory true;
-      }
-      leaf edge-device-clli {
-       description "Edge device (e.g. EMT) on which port " 
-         + " reservation is needed";
-       type string;
-       mandatory true;
-      }
-      leaf uni-cir-value {
-       description "Integer value for the CIR";
-       type ase-type:uni-cir-value-type;
-       mandatory true;
-      }
-      leaf uni-cir-units {
-       description "Units for the CIR";
-       type ase-type:cir-rate-type;
-       mandatory true;
-      }
-    }
-    output {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string; 
-      }
-      leaf uni-port-id {
-       description "Allocated UNI port id";
-       type string;
-      }
-
-      uses ase-type:uni-common-error-format;
-    }
-  }
-
-  ////
-  // Release Port Request
-  ////
-  rpc ase-release-port-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string; 
-       mandatory true;
-      }
-    }
-    output {
-      uses ase-type:uni-common-return-hdr;
-      uses ase-type:uni-common-error-format;
-    }
-  }
-
-  ////
-  // Port Provisioning Request
-  ////
-  rpc ase-port-prov-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }
-      leaf subscriber-name {
-       type string;
-       mandatory true;
-      }
-      leaf uni-order-number {
-       type string;
-       mandatory true;
-      }
-      leaf edge-device-clli {
-       description "Edge device (e.g. EMT) on which port " 
-         + " reservation is needed";
-       type string;
-       mandatory true;
-      }
-      leaf uni-location-city {
-       type string;
-       mandatory true;
-      }
-      leaf uni-location-state {
-       type string;
-       mandatory true;
-      }
-      leaf media-type {
-       type ase-type:media-type;
-       mandatory true;
-      }
-      leaf media-speed {
-       type ase-type:media-speed-type;
-       mandatory true;
-      }
-      leaf uni-cir-value {
-       description "Integer value for the CIR";
-       type ase-type:uni-cir-value-type;
-       mandatory true;
-      }
-      leaf uni-cir-units {
-       description "Units for the CIR";
-       type ase-type:cir-rate-type;
-       mandatory true;
-      }
-      leaf cos-category {
-       description "CoS Type";
-       type ase-type:cos-category-type;
-       mandatory true;   
-      }
-      leaf gos-profile {
-       description "GoS tpye";
-       type ase-type:uni-gos-type;
-       mandatory true;
-      } 
-      leaf aditional-mac-allowed {
-       type ase-type:uni-mac-limit-type;
-      }
-      leaf port-tagging {
-       type ase-type:port-tagging-type;
-       mandatory true;
-      }
-      leaf name-value-pair {
-       type string;
-      }  
-    }
-    output {
-      uses ase-type:uni-common-return-hdr;  
-      uses ase-type:uni-common-error-format;
-    }
-  }
-
-  ////
-  // Deprovisioning Port Request
-  ////
-  rpc ase-deprov-port-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }
-    }
-    output {
-      uses ase-type:uni-common-error-format;
-    }
-  }
-
-  ////
-  // Change Port Provisioning Request
-  ////
-  rpc ase-change-port-prov-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }
-      leaf subscriber-name {
-       type string;
-      } 
-      leaf media-speed {
-       type ase-type:media-speed-type;
-      }
-      leaf uni-cir-value {
-       description "Integer value for the CIR";
-       type ase-type:uni-cir-value-type;
-      }
-      leaf uni-cir-units {
-       description "Units for the CIR";
-       type ase-type:cir-rate-type;
-      }
-      leaf cos-catagory {
-       type ase-type:cos-category-type;
-      } 
-      leaf gos-profile {
-       type ase-type:uni-gos-type;
-      }
-      leaf additional-mac-allowed {
-       type ase-type:uni-mac-limit-type;
-      }
-      leaf port-tagging {
-       type ase-type:port-tagging-type;
-       mandatory true;
-      }
-      leaf name-value-pair {
-       type string;
-      }  
-    }
-    output {
-      uses ase-type:uni-common-error-format;
-    }
-  }
-
-  ////
-  // Port Activate Request
-  ////
-  rpc ase-port-activate-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }
-    }
-    output {
-      uses ase-type:uni-common-error-format;
-    }
-  }
-    
-  ////
-  // Port Change Activation Request
-  ////
-  rpc ase-change-port-activation-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }          
-    }
-    output {
-      uses ase-type:uni-common-error-format;
-    }
-  }    
-    
-  ////
-  // Port Disconnect Request
-  ////
-  rpc ase-port-disconnect-request {
-    input {
-      uses ase-type:uni-common-request-hdr;
-
-      leaf uni-circuit-id {
-       type string;
-       mandatory true;
-      }    
-    }
-    output {
-      uses ase-type:uni-common-error-format;
-    }
-  }
-
-  /////////////////////////////////////////////////////
-  // EVC API
-  /////////////////////////////////////////////////////
-
-  ////
-  // EVC Provision Request
-  ////
-  rpc ase-evc-activation {
-    input {
-      uses ase-type:evc-common-request-hdr;
-      leaf topology {
-       type enumeration {
-         enum "MultiPoint"{
-           value 0;
-         }
-         enum "PointToPoint"{
-           value 1;
-         }
-       }
-      }
-      list evc-leg {
-       key evc-access-name;
-       leaf evc-access-name {
-         type string;    
-       }
-       leaf subscriber-name {
-         type string;
-       }
-       leaf cvlan {
-         type uint16 {
-           range "2..4090";
-         }
-       }
-       leaf connection-cir-value {
-         type ase-type:uni-cir-value-type;
-       }
-       leaf connection-cir-units-string {
-         type ase-type:cir-rate-type;
-       }
-       leaf connection-gos-profile {
-         type ase-type:evc-gos-type;
-       }
-       leaf connection-additional-mac-allowed {
-         type ase-type:uni-mac-limit-type;
-       }
-       leaf connection-emc-indicator {
-         type enumeration {
-           enum "Y"{
-             value 0;
-           }
-           enum "N"{
-             value 1;
-           }
-         } 
-       }
-       leaf connection-emc-speed-value {
-         type ase-type:uni-cir-value-type;
-       }
-       leaf connection-emc-speed-units-string {
-         type ase-type:cir-rate-type;
-       }
-      }
-      leaf name-value-pair {
-       type string;
-      }
-    }
-    output {
-      uses ase-type:evc-common-error-format;
-    }
-  }
-    
-  ////
-  // EVC Change Activation Request
-  ////
-  rpc ase-evc-change-activation {
-    input {
-      uses ase-type:evc-common-request-hdr;
-      leaf topology {
-       type enumeration {
-         enum "MultiPoint"{
-           value 0;
-         }
-         enum "PointToPoint"{
-           value 1;
-         }
-       }
-      }
-      list evc-leg {
-       key evc-access-name;
-       leaf evc-access-name {
-         type string;    
-       }
-       leaf connection-cir-value {
-         type ase-type:uni-cir-value-type;
-       }
-       leaf connection-cir-units-string {
-         type ase-type:cir-rate-type;
-       }
-       leaf connection-gos-profile {
-         type ase-type:evc-gos-type;
-       }
-       leaf connection-additional-mac-allowed {
-         type ase-type:uni-mac-limit-type;
-       }
-          
-      }
-      leaf name-value-pair {
-       type string;
-      }
-        
-    }
-    output {
-      uses ase-type:evc-common-error-format;
-    }
-  }
-    
-  ////
-  // EVC Disconnet Connection Request
-  ////
-  rpc ase-evc-disconnect-request {
-    input {
-      uses ase-type:evc-common-request-hdr;
-      leaf topology {
-       type enumeration {
-         enum "MultiPoint"{
-           value 0;
-         }
-         enum "PointToPoint"{
-           value 1;
-         }
-       }
-      }
-      list evc-leg {
-       key evc-access-name;
-       leaf evc-access-name {
-         type string;    
-       }          
-      }
-      leaf name-value-pair {
-       type string;
-      }
-        
-    }
-    output {
-      uses ase-type:evc-common-error-format;
-    }
-  }
-
-  /////////////////////////////////////////////////////
-  // ASE Query Actions
-  /////////////////////////////////////////////////////
-
-  rpc find-available-ports {
-    description "Return a count of available ports";
-    input {
-      uses ase-type:query-common-hdr;
-      leaf edge-device-clli {
-       type string;
-       mandatory true;
-      }
-          
-      leaf port-role {
-       type enumeration {
-         enum "NETWORK"{
-           value 0;
-         }
-         enum "ACCESS"{
-           value 1;
-         }
-         enum "SDN-ACCESS"{
-           value 2;
-         }
-       }
-       mandatory true;
-      }
-      leaf port-assigned {
-       type string;
-      }
-    }
-    output {
-      uses ase-type:query-common-hdr;
-      container statuss {
-       leaf edge-device-clli {
-         type string;
-       }
-       container max-cir {
-         leaf cir-value {
-           type uint16;
-         }
-         leaf cir-type {
-           type ase-type:cir-rate-type;
-         } 
-       }
-       leaf if-count {
-         type uint16;
-       }
-      }
-      uses ase-type:query-error-format;
-    }
-  }
-
-  rpc find-evcs-in-uni {
-    description "Return EVC instances for a specified UNI";
-    input {
-      uses ase-type:query-common-hdr;
-
-      leaf uni-circuit-id {
-       type string;  //leafref
-      }
-      leaf edge-device-clli {
-       description "Edge device (e.g. EMT) on which port " 
-         + " reservation is needed";
-       type string;
-      }
-    }
-    output {
-      uses ase-type:query-common-hdr;
-
-      leaf uni-leg-name {
-       description "NGO-proivded named";
-       type string;
-      }
-      uses ase-type:query-error-format;
-    }
-  }
-
-  rpc find-service-details {
-    description "Return EVC instances for a specified UNI";
-    input {
-      uses ase-type:query-common-hdr;
-      leaf uni-circuit-id {
-       type string;  //leafref
-      }
-      leaf source {
-       type string;
-       mandatory true;
-      }
-      leaf service-name {
-       type string;
-       mandatory true;
-      }
-      leaf service-type {
-       type string;
-       mandatory true;
-      }
-    }
-    output {
-      uses ase-type:query-common-hdr;
-          
-      leaf service-name {
-       type string;
-       mandatory true;
-      }
-      leaf service-type {
-       type string;
-       mandatory true;
-      } 
-      leaf service-state {
-       type enumeration {
-         enum "Active"{
-           value 0;
-         }
-         enum "NotActive"{
-           value 1;
-         }
-       }
-      }
-      leaf has-pending-change {
-       type ase-type:ase-yes-no-type;
-      } 
-      leaf allowed-connection-count {
-       type int16;
-      }
-      uses ase-type:query-error-format;
-    }
-  }
-} //module
diff --git a/sli/common/src/test/resources/svclogic.xsd b/sli/common/src/test/resources/svclogic.xsd
deleted file mode 100755 (executable)
index 3e109c7..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>\r
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.onap.org/sdnc/svclogic" xmlns="http://www.onap.org/sdnc/svclogic">\r
-\r
-       <xsd:simpleType name="modeType">\r
-               <xsd:restriction base="xsd:string">\r
-                       <xsd:enumeration value="sync" />\r
-                       <xsd:enumeration value="async" />\r
-               </xsd:restriction>\r
-       </xsd:simpleType>\r
-\r
-       <xsd:group name="node">\r
-               <xsd:choice>\r
-                       <xsd:element ref="block" />\r
-                       <xsd:element ref="is-available" />\r
-                       <xsd:element ref="exists" />\r
-                       <xsd:element ref="reserve" />\r
-                       <xsd:element ref="release" />\r
-                       <xsd:element ref="allocate" />\r
-                       <xsd:element ref="get-resource" />\r
-                       <xsd:element ref="configure" />\r
-                       <xsd:element ref="return" />\r
-                       <xsd:element ref="switch" />\r
-                       <xsd:element ref="record" />\r
-                       <xsd:element ref="save" />\r
-                       <xsd:element ref="for" />\r
-                       <xsd:element ref="set" />\r
-                       <xsd:element ref="execute" />\r
-                       <xsd:element ref="delete" />\r
-                       <xsd:element ref="update" />\r
-                       <xsd:element ref="call" />\r
-                       <xsd:element ref="notify" />\r
-                       <xsd:element ref="break" />\r
-                       <xsd:element ref="while" />\r
-                       <xsd:element ref="exit" />\r
-               </xsd:choice>\r
-       </xsd:group>\r
-\r
-       <xsd:element name="service-logic">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="method" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="module" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="version" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="method">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="rpc" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="mode" use="optional" type="modeType" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="block">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="is-available">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="exists">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="outcome">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="ref" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="value" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="reserve">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <!-- This node does not actually read from parameters -->\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="select" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="release">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="record">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="allocate">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <!-- This node does not actually read from parameters -->\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="pfx" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="get-resource">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <!-- This node does not actually read from parameters -->\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
-                       <xsd:attribute name="order-by" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-                       <!-- force is retired and does not do anything -->\r
-                       <xsd:attribute name="force" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="configure">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="adaptor" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="activate" use="optional" type="xsd:boolean" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-\r
-       <xsd:element name="parameter">\r
-               <xsd:complexType>\r
-                       <xsd:attribute name="name" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="value" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-\r
-       <xsd:element name="return">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="status" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="switch">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="test" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="save">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="force" use="optional" type="xsd:boolean" />\r
-                       <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="delete">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <!-- This node does not actually read from parameters -->\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <!-- force is retired and does not do anything -->\r
-                       <xsd:attribute name="force" use="optional" type="xsd:string" />\r
-                       <!-- local-only is retired and does not do anything -->\r
-                       <xsd:attribute name="local-only" use="optional" type="xsd:string" />\r
-                       <!-- pfx is retired and does not do anything -->\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="for">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="atomic" use="optional" type="xsd:boolean" />\r
-                       <xsd:attribute name="index" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="start" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="end" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="silentFailure" use="optional" type="xsd:boolean" default="false" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="set">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="only-if-unset" use="optional"\r
-                               type="xsd:boolean" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="execute">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="method" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="emitsOutcome" use="optional" type="xsd:boolean" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="update">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="force" use="optional" type="xsd:boolean" />\r
-                       <xsd:attribute name="local-only" use="optional" type="xsd:boolean" />\r
-                       <xsd:attribute name="pfx" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="call">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <!-- This node does not actually read from parameters -->\r
-                               <xsd:element ref="parameter" minOccurs="0" maxOccurs="100" />\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="module" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="rpc" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="version" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="mode" use="required" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="notify">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:element ref="outcome" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="plugin" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="resource" use="optional" type="xsd:string" />\r
-                       <xsd:attribute name="action" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="key" use="optional" type="xsd:string" />\r
-                       <!-- force is retired and does not do anything -->\r
-                       <xsd:attribute name="force" use="optional" type="xsd:string" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-       <xsd:element name="break">\r
-               <xsd:complexType />\r
-       </xsd:element>\r
-\r
-       <xsd:element name="exit">\r
-               <xsd:complexType />\r
-       </xsd:element>\r
-\r
-       <xsd:element name="while">\r
-               <xsd:complexType>\r
-                       <xsd:sequence>\r
-                               <xsd:group ref="node" minOccurs="0" maxOccurs="100" />\r
-                       </xsd:sequence>\r
-                       <xsd:attribute name="test" use="required" type="xsd:string" />\r
-                       <xsd:attribute name="do" use="optional" type="xsd:boolean" />\r
-               </xsd:complexType>\r
-       </xsd:element>\r
-\r
-</xsd:schema>\r