Package de.FeatureModellingTool.FeatureModel

Examples of de.FeatureModellingTool.FeatureModel.Feature


      }
      CompositeConstraint cc = (CompositeConstraint)cons;
      if (cv!=null) {
        List<Customization> sCustomization = new ArrayList<Customization>();
        for (Iterator<Feature> itFeature=cc.getSourceFeatureSet().iterator() ; itFeature.hasNext() ; ) {
          Feature feature = itFeature.next();
          CFRelation cf = constraintModel.getCFRelation(feature , cc , true);
          if (cf==null) {
              cf = constraintModel.getCFRelation(feature , cc , false);
          }
          sCustomization.add(super.convertCustomization(cv.getFinalCustomizationById(feature.getID()) , cf));
        }
        Customization lValue = Customization.Undecided;
        if (cc.getSourceType().getName().equals(CompositeConstraintPortType.Single.getName())) {
          if (super.getCustomizationCount(sCustomization , Customization.Undecided)>0) {
            lValue = Customization.Undecided;
          } else if (super.getCustomizationCount(sCustomization , Customization.Selected)==1) {
            lValue = Customization.Selected;
          } else {
            lValue = Customization.Unselected;
          }
        } else if (cc.getSourceType().getName().equals(CompositeConstraintPortType.All.getName())) {
          if (super.getCustomizationCount(sCustomization , Customization.Undecided)>0) {
            lValue = Customization.Undecided;
          } else if (super.getCustomizationCount(sCustomization , Customization.Unselected)==0) {
            lValue = Customization.Selected;
          } else {
            lValue = Customization.Unselected;
          }
        } else /*if (gc.getType().getName().equals(GroupConstraintType.SingleGroup))*/ {
          if (super.getCustomizationCount(sCustomization , Customization.Selected)>0) {
            lValue = Customization.Selected;
          } else if (super.getCustomizationCount(sCustomization , Customization.Undecided)>0) {
            lValue = Customization.Undecided;
          } else {
            lValue = Customization.Unselected;
          }
        }
       
        sCustomization = new ArrayList<Customization>();
        for (Iterator<Feature> itFeature=cc.getSinkFeatureSet().iterator() ; itFeature.hasNext() ; ) {
          Feature feature = itFeature.next();
          CFRelation cf = constraintModel.getCFRelation(feature , cc , true);
          if (cf==null) {
              cf = constraintModel.getCFRelation(feature , cc , false);
          }
          sCustomization.add(super.convertCustomization(cv.getFinalCustomizationById(feature.getID()) , cf));
        }
        Customization rValue = Customization.Undecided;
        if (cc.getSinkType().getName().equals(CompositeConstraintPortType.Single.getName())) {
          if (super.getCustomizationCount(sCustomization , Customization.Undecided)>0) {
            rValue = Customization.Undecided;
View Full Code Here


      Collection<ConstraintRelationDiagram.NGraph> graphs = crd.getGraph().getConnectedGraph();
      List<Feature> rootList = new ArrayList<Feature>();
      for (Iterator<ConstraintRelationDiagram.NGraph> itGraph=graphs.iterator() ; itGraph.hasNext() ; ) {
        ConstraintRelationDiagram.NGraph graph = itGraph.next();
        for (Iterator<Feature> itFeature=roots.iterator() ; itFeature.hasNext() ; ) {
          Feature feature = itFeature.next();
          if (graph.nodes.containsKey(feature)) {
            rootList.add(feature);
          }
        }
      }
View Full Code Here

//    Map include      =  featureModel.getAllFeatureRelation(FeatureRelation.DECOMPOSE);
//    Map dimensionValue  =  featureModel.getAllFeatureRelation(FeatureRelation.ATTRIBUTE);
//    Map require      =  featureModel.getAllFeatureRelation(FeatureRelation.REQUIRE);
   
    Iterator  e    =  null;
    Feature    child  =  null;
    FeatureRelation  r  =  null;
    AtomedFeature  startAtomedFeature  =  null,
            endAtomedFeature  =  null;
   
    e  =  include.keySet().iterator();
View Full Code Here

    }
    result.add(father);
    AtomedFeature fatherAtomedFeature = allAtomedFeatures.get(father);

    Iterator e = null;
    Feature child = null;
    FeatureRelation r = null;
    AtomedFeature startAtomedFeature = null, endAtomedFeature = null;

    e = include.keySet().iterator();
    while (e.hasNext()) {
View Full Code Here

          }
        }
      }
     
      for (int i=0 ; i<featureOrder.size() ; i++) {
        Feature feature = featureOrder.get(i);
        AtomedFeature aFeature  =  allAtomedFeatures.get(feature);
        if (aFeature.BddVar==AtomedFeature.UNDEFINED) {
          aFeature.createBddVar(bdd);
          for (Iterator<AtomedFeature> itFeature=allAtomedFeatures.values().iterator() ; itFeature.hasNext() ; ) {
            AtomedFeature newFeature = itFeature.next();
View Full Code Here

        FeatureRelation  r  =  null;
        AtomedFeature  startAtomedFeature  =  null,
                endAtomedFeature  =  null,
                fatherAtomedFeature  =  null;
       
        Feature  father  =  list.getFirst();
        list.removeFirst();
        fatherAtomedFeature  =  allAtomedFeatures.get(father)
       
        i  =  include.keySet().iterator();
        while(i.hasNext()){
View Full Code Here

    while(e.hasNext()){
    //  System.out.println("************Building_VPConstraint");
      VPConstraint  c  =  (VPConstraint)vpConstraint.get(e.next());
      if(c.getSourceFeatureSet().isEmpty() || c.getSinkFeatureSet().isEmpty())
        continue;
      Feature  sourceFeature  =  c.getSourceFeatureSet().iterator().next();
      AtomedFeature  sourceAtomedFeature  =  allAtomedFeatures.get(sourceFeature);
      Set  sinkFeature    =  c.getSinkFeatureSet();
      VPConstraintType  type  =  c.getType();
      int  tempBdd  =  -1;
     
View Full Code Here

  public AtomSet(FeatureModel featureModel,  ConstraintModel  constraintModel){
    Map  allFeatures  =  featureModel.getAllFeature();
    Iterator  e  =  allFeatures.keySet().iterator();
    allAtomedFeatures  =  new LinkedHashMap<Feature, AtomedFeature>();
    while(e.hasNext()){
      Feature  f  =  (Feature)allFeatures.get(e.next());
      AtomedFeature  x  =  new AtomedFeature(f);
      allAtomedFeatures.put(f, x);
    }
       
    Map include        =  featureModel.getAllFeatureRelation(FeatureRelation.DECOMPOSE);
    Map dimensionValue    =  featureModel.getAllFeatureRelation(FeatureRelation.ATTRIBUTE);
    Map require        =  featureModel.getAllFeatureRelation(FeatureRelation.REQUIRE);

   
//    ����include��ϵ������ԭ�Ӽ�
//      allAtomedFeatures��ʾ��feature������Ӧ��ԭ�Ӽ�
    if(include  !=  null){
      e  =  include.keySet().iterator();
     
    //  System.out.println(include);
    //  if  (!e.hasNext())  System.out.println("!!!!!!!!!!");
     
      while(e.hasNext()){
        FeatureRelation    r  =  (FeatureRelation)include.get(e.next());
        Feature startFeature  =  r.getStartFeature();
        Feature endFeature    =  r.getEndFeature();
       
      //  System.out.print(endFeature.getName()+" "+startFeature.getName());
      /*  if(featureModel.getParentFeature(endFeature.getID())!=null)
          System.out.println(" "+featureModel.getParentFeature(endFeature.getID()).getName());
        else
          System.out.println(" null");*/
        if  (endFeature.getVariability().equals(de.FeatureModellingTool.FeatureModel.Variability.Mandatory)
            &&
            featureModel.getParentFeature(endFeature.getID())  ==  startFeature){
          if  (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1
              &&
              allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
          else if    (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1){
            int  n  =  allAtomedFeatures.get(endFeature).getAtomSetNum();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
          }
          else if    (allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  allAtomedFeatures.get(startFeature).getAtomSetNum();
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
          else{
            int  m  =  allAtomedFeatures.get(startFeature).getAtomSetNum();
            int  n  =  allAtomedFeatures.get(endFeature).getAtomSetNum();
            Iterator  i  =  allAtomedFeatures.keySet().iterator();
            while(i.hasNext()){
              AtomedFeature  cur  =  allAtomedFeatures.get(i.next());
              if(cur.getAtomSetNum()  ==  n)
                cur.setAtomSetNum(m);
            }
           
          }
         
        }//end if
        else{
          if  (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
          }
          if  (allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
        }//end else
      }//end while
    }
   
//    ����dimensionValue��ϵ������ԭ�Ӽ�
    if(dimensionValue  !=  null){
      e  =  dimensionValue.keySet().iterator();
      while(e.hasNext()){
        FeatureRelation    r  =  (FeatureRelation)dimensionValue.get(e.next());
        Feature startFeature  =  r.getStartFeature();
        Feature endFeature    =  r.getEndFeature();
       
      /*  System.out.print(endFeature.getName()+" "+startFeature.getName());
        if(featureModel.getParentFeature(endFeature.getID())!=null)
          System.out.println(" "+featureModel.getParentFeature(endFeature.getID()).getName());
        else
          System.out.println(" null");*/
        if  (endFeature.getVariability().equals(de.FeatureModellingTool.FeatureModel.Variability.Mandatory)
            &&
            featureModel.getParentFeature(endFeature.getID())  ==  startFeature){
          if  (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1
              &&
              allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
          else if    (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1){
            int  n  =  allAtomedFeatures.get(endFeature).getAtomSetNum();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
          }
          else if    (allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  allAtomedFeatures.get(startFeature).getAtomSetNum();
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
          else{
            int  m  =  allAtomedFeatures.get(startFeature).getAtomSetNum();
            int  n  =  allAtomedFeatures.get(endFeature).getAtomSetNum();
            Iterator  i  =  allAtomedFeatures.keySet().iterator();
            while(i.hasNext()){
              AtomedFeature  cur  =  allAtomedFeatures.get(i.next());
              if(cur.getAtomSetNum()  ==  n)
                cur.setAtomSetNum(m);
            }
           
          }
         
        }//end if
        else{
          if  (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
          }
          if  (allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
        }//end else
      }//end while 
   
//    ����require��ϵ������ԭ�Ӽ�
    if(require  !=  null){
      e  =  require.keySet().iterator();
      while(e.hasNext()){
        FeatureRelation    r  =  (FeatureRelation)require.get(e.next());
        Feature startFeature  =  r.getStartFeature();
        Feature endFeature    =  r.getEndFeature();
       
      /*  System.out.print(endFeature.getName()+" "+startFeature.getName());
        if(featureModel.getParentFeature(endFeature.getID())!=null)
          System.out.println(" "+featureModel.getParentFeature(endFeature.getID()).getName());
        else
          System.out.println(" null");*/
        if  (startFeature.getVariability().equals(de.FeatureModellingTool.FeatureModel.Variability.Mandatory)
            &&
            featureModel.getParentFeature(endFeature.getID())  ==  startFeature){
          if  (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1
              &&
              allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
          else if    (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1){
            int  n  =  allAtomedFeatures.get(endFeature).getAtomSetNum();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
          }
          else if    (allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  allAtomedFeatures.get(startFeature).getAtomSetNum();
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
          else{
            int  m  =  allAtomedFeatures.get(startFeature).getAtomSetNum();
            int  n  =  allAtomedFeatures.get(endFeature).getAtomSetNum();
            Iterator  i  =  allAtomedFeatures.keySet().iterator();
            while(i.hasNext()){
              AtomedFeature  cur  =  allAtomedFeatures.get(i.next());
              if(cur.getAtomSetNum()  ==  n)
                cur.setAtomSetNum(m);
            }
           
          }
         
        }//end if
        else{
          if  (allAtomedFeatures.get(startFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(startFeature).setAtomSetNum(n);
          }
          if  (allAtomedFeatures.get(endFeature).getAtomSetNum() == -1){
            int  n  =  AtomedFeature.increaseSet();
            allAtomedFeatures.get(endFeature).setAtomSetNum(n);
          }
        }//end else
      }//end while
    }
   
//    ����û�о�����ϵ����������Щ�������Զ�ռһ��ԭ�Ӽ�
    e  =  allAtomedFeatures.keySet().iterator();
    while(e.hasNext()){
      Feature      f  =  (Feature)e.next();
      AtomedFeature  a  =  allAtomedFeatures.get(f);
      if(a.atomSetNum  ==  -1){
        int  n  =  AtomedFeature.increaseSet();
        a.setAtomSetNum(n);
      }
View Full Code Here

    roots  =  new  TreeSet<Feature>();
    Map  allFeatures  =  featureModel.getAllFeature();
    Iterator  e  =  allFeatures.keySet().iterator();
    while(e.hasNext()){
      String  featureId  =  ((Feature)allFeatures.get(e.next())).getID();
      Feature root  =  featureModel.getRootFeature(featureId)
      while(root  !=  featureModel.getRootFeature(root.getID()))
        root  =  featureModel.getRootFeature(root.getID());
       
      roots.add(root);
    }
   
  //  System.out.println("TESTING COMPUTEROOTS");
View Full Code Here

          fs.add(relation.getEndFeature());
        }
      }
    }
    for (Iterator<Feature> itFeature=fm.getAllFeature().values().iterator() ; itFeature.hasNext() ; ) {
      Feature feature = itFeature.next();
      if (feature.getVariability().getName().equals(Variability.Optional) && !fs.contains(feature)) {
        fs.add(feature);
      }
    }
   
    HashSet<Feature> parents = new HashSet<Feature>();
View Full Code Here

TOP

Related Classes of de.FeatureModellingTool.FeatureModel.Feature

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.