~danilovesky/workcraft/trunk-menu-tools

« back to all changes in this revision

Viewing changes to SONPlugin/src/org/workcraft/plugins/son/tasks/AbstractStructuralVerification.java

  • Committer: Danil Sokolov
  • Date: 2015-05-15 15:46:50 UTC
  • mfrom: (599.1.8 trunk-son-mbson)
  • Revision ID: danilovesky@gmail.com-20150515154650-es3cqmx1x1d4p757
Merge proposal for blueprint son-bson-extension approved.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
import java.util.ArrayList;
4
4
import java.util.Collection;
 
5
import java.util.Map;
5
6
 
6
7
import org.apache.log4j.Logger;
7
8
import org.workcraft.dom.Node;
8
9
import org.workcraft.plugins.son.ONGroup;
 
10
import org.workcraft.plugins.son.Phase;
9
11
import org.workcraft.plugins.son.SON;
10
12
import org.workcraft.plugins.son.algorithm.BSONAlg;
11
13
import org.workcraft.plugins.son.algorithm.BSONCycleAlg;
14
16
import org.workcraft.plugins.son.algorithm.Path;
15
17
import org.workcraft.plugins.son.algorithm.RelationAlgorithm;
16
18
import org.workcraft.plugins.son.algorithm.TSONAlg;
 
19
import org.workcraft.plugins.son.elements.Condition;
17
20
 
18
21
abstract class AbstractStructuralVerification implements StructuralVerification{
19
22
        
27
30
        private BSONCycleAlg bsonPathAlg;
28
31
        private ONCycleAlg onPathAlg;
29
32
        private TSONAlg tsonAlg;
 
33
        private Map<Condition, Collection<Phase>> allPhases;
30
34
        
31
35
        public AbstractStructuralVerification(SON net){
32
36
                this.net = net;
 
37
                
33
38
                relationAlg = new RelationAlgorithm(net);
34
39
                csonPathAlg = new CSONCycleAlg(net);
35
40
                bsonAlg = new BSONAlg(net);
36
 
                bsonPathAlg = new BSONCycleAlg(net);
 
41
                allPhases = bsonAlg.getAllPhases();
 
42
                bsonPathAlg = new BSONCycleAlg(net, allPhases);
37
43
                onPathAlg = new ONCycleAlg(net);
38
44
                tsonAlg = new TSONAlg(net);
39
 
                
40
45
        }
41
46
        
42
47
        public abstract void task(Collection<ONGroup> groups);
43
48
 
44
 
        public Collection<String> getRelationErrorsSetReferences(Collection<Node> set){
 
49
        public Collection<String> getRelationErrorsSetRefs(Collection<Node> set){
45
50
                Collection<String> result = new ArrayList<String>();
46
51
                for(Node node : set)
47
52
                        result.add(net.getNodeReference(node));
48
53
                return result;
49
54
        }
50
55
        
51
 
        public Collection<String> getGroupErrorsSetReferences(Collection<ONGroup> set){
 
56
        public Collection<String> getGroupErrorsSetRefs(Collection<ONGroup> set){
52
57
                Collection<String> result = new ArrayList<String>();
53
58
                for(ONGroup node : set)
54
59
                        result.add(net.getNodeReference(node));
55
60
                return result;
56
61
        }
57
62
        
58
 
        public Collection<ArrayList<String>> getcycleErrorsSetReferences(Collection<Path> set){
 
63
        public Collection<ArrayList<String>> getCycleErrorsSetRefs(Collection<Path> set){
59
64
                Collection<ArrayList<String>> result = new ArrayList<ArrayList<String>>();
60
65
                for(Path path : set){
61
66
                        ArrayList<String> sPath = new ArrayList<String>();
67
72
                return result;
68
73
        }
69
74
        
 
75
        public Map<Condition, Collection<Phase>> getAllPhases(){        
 
76
                return allPhases;       
 
77
        }
 
78
        
70
79
        public void infoMsg(String msg){
71
80
                logger.info(msg);
72
81
        }