package org.drools.semantics.util.area;
import org.drools.semantics.builder.model.Concept;
import org.drools.semantics.builder.model.PropertyRelation;
import org.drools.util.HierarchyEncoder;
import java.util.BitSet;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class PartialAreaTxnImpl {
private Collection<AreaNode<Concept,PropertyRelation>> areas;
private HierarchyEncoder encoderArea;
//
// public PartialAreaTxnImpl( Collection<AreaNode> areas, HierarchyEncoder encoderArea ) {
// this.areas = areas;
// this.encoderArea = encoderArea;
// }
//
// public void makePartialAreas() {
// Iterator<AreaNode> it = areas.iterator();
// AreaNode area;
// while ( it.hasNext() ){
// area = it.next();
// //area.getRoots().get(0)
// }
// }
//
// public Set<Concept> getOverlappingCodes() {
// Set<Concept> overlapping = new HashSet<Concept>();
// Iterator<AreaNode> it = areas.iterator();
// AreaNode area;
//
// while (it.hasNext()){
// area = it.next();
// System.out.println( "Overlapping in " + area.getNodeName() + ":" );
//
// Collection<Concept> descs = area.getConHir().lowerDescendants( area.getRootBitSet() );
// for( Concept cct : descs ) {
//
// if( cct.getSuperConcepts().size() > 1 ) {
// int numParents = 0;
//
// for( Concept root : area.getRoots() ) {
// BitSet bs = new BitSet();
// bs = (BitSet) root.getTypeCode().clone();
// bs.and( cct.getTypeCode() );
//
// if( root.getTypeCode().equals( bs ) ) {
// numParents++;
// }
//
// if( numParents > 1 ) {
// overlapping.add( cct );
// break;
// }
// }
// }
// }
// System.out.println("------------");
// }
// return overlapping;
// }
}