Bug 6110: Fixed bugs in statistics manager due to race condition.
[openflowplugin.git] / extension / openflowplugin-extension-api / src / main / java / org / opendaylight / openflowplugin / extension / api / path / ActionPath.java
1 /**
2  * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
3  * 
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.openflowplugin.extension.api.path;
9
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.general.rev140714.general.extension.grouping.Extension;
11 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
12
13 /**
14  * @author msunal
15  *
16  */
17 public enum ActionPath implements AugmentationPath {
18
19     /**
20      * openflowplugin-extension-general.yang
21      * <pre>
22      * module: opendaylight-inventory
23      *    +--rw nodes
24      *       +--rw node* [id]
25      *          +--rw flownode:table* [id]
26      *          |  +--rw flownode:flow* [id]
27      *          |  |  +--rw flownode:instructions
28      *          |  |  |  +--rw flownode:instruction* [order]
29      *          |  |  |     +--rw (instruction)?
30      *          |  |  |        +--:(write-actions-case)
31      *          |  |  |        |  +--rw flownode:write-actions
32      *          |  |  |        |     +--rw flownode:action* [order]
33      *          |  |  |        |        +--rw (action)?
34      * </pre>
35      */
36     NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION(null),
37     /**
38      * openflowplugin-extension-general.yang
39      * <pre>
40      * module: opendaylight-inventory
41      *    +--rw nodes
42      *       +--rw node* [id]
43      *          +--rw flownode:table* [id]
44      *          |  +--rw flownode:flow* [id]
45      *          |  |  +--rw flownode:instructions
46      *          |  |  |  +--rw flownode:instruction* [order]
47      *          |  |  |     +--rw (instruction)?
48      *          |  |  |        +--:(apply-actions-case)
49      *          |  |  |        |  +--rw flownode:apply-actions
50      *          |  |  |        |     +--rw flownode:action* [order]
51      *          |  |  |        |        +--rw (action)?
52      * 
53      * </pre>
54      */
55     NODES_NODE_TABLE_FLOW_INSTRUCTIONS_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION_EXTENSIONLIST_EXTENSION(null),
56     /**
57      * openflowplugin-extension-general.yang
58      * <pre>
59      * module: opendaylight-flow-statistics
60      * notifications:
61      *    +---n flows-statistics-update             
62      *    |  +--ro flow-and-statistics-map-list* [flow-id]
63      *    |  |  +--ro instructions
64      *    |  |  |  +--ro instruction* [order]
65      *    |  |  |     +--ro (instruction)?
66      *    |  |  |        +--:(write-actions-case)
67      *    |  |  |        |  +--ro write-actions
68      *    |  |  |        |     +--ro action* [order]
69      *    |  |  |        |        +--ro (action)?
70      * </pre>
71      */
72     FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_WRITEACTIONSCASE_WRITEACTIONS_ACTION_ACTION(null),
73     /**
74      * openflowplugin-extension-general.yang
75      * <pre>
76      * module: opendaylight-flow-statistics
77      * notifications:
78      *    +---n flows-statistics-update             
79      *    |  +--ro flow-and-statistics-map-list* [flow-id]
80      *    |  |  +--ro instructions
81      *    |  |  |  +--ro instruction* [order]
82      *    |  |  |     +--ro (instruction)?
83      *    |  |  |        +--:(apply-actions-case)
84      *    |  |  |        |  +--ro apply-actions
85      *    |  |  |        |     +--ro action* [order]
86      *    |  |  |        |        +--ro (action)?
87      * </pre>
88      */
89     FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_INSTRUCTIONS_INSTRUCTION_INSTRUCTION_APPLYACTIONSCASE_APPLYACTIONS_ACTION_ACTION(null),
90     /**
91      * openflowplugin-extension-general.yang
92      * <pre>
93      * module: opendaylight-group-statistics
94      * notifications:
95      *    +---n group-desc-stats-updated    
96      *    |  +--ro group-desc-stats* [group-id]
97      *    |  |  +--ro buckets
98      *    |  |     +--ro bucket* [bucket-id]
99      *    |  |        +--ro action* [order]
100      *    |  |           +--ro (action)?
101      * </pre>
102      */
103     GROUPDESCSTATSUPDATED_GROUPDESCSTATS_BUCKETS_BUCKET_ACTION(null);
104     
105     private final InstanceIdentifier<Extension> iid;
106
107     private ActionPath(InstanceIdentifier<Extension> iid) {
108         this.iid = iid;
109     }
110
111     @Override
112     public final InstanceIdentifier<Extension> getInstanceIdentifier() {
113         return iid;
114     }
115
116 }