001    /**
002     * Created by IntelliJ IDEA.
003     * User: Wei Wang
004     * Date: Apr 10, 2003
005     * Time: 11:18:01 PM
006     */
007    
008    package EVolve.util.unifyutils;
009    
010    import java.awt.Color;
011    import java.util.ArrayList;
012    import java.util.HashMap;
013    import java.util.HashSet;
014    import java.util.Iterator;
015    
016    import EVolve.Scene;
017    import EVolve.data.Entity;
018    import EVolve.visualization.AutoImage;
019    import EVolve.visualization.ReferenceDimension;
020    import EVolve.visualization.Visualization;
021    
022    public class Unification {
023    
024        public static void unifyEntities(HashMap standard, HashMap toBeUnified) {
025            Iterator it = toBeUnified.keySet().iterator();
026            while (it.hasNext()) {
027                Entity entity = (Entity)toBeUnified.get(it.next());
028    
029                if (!standard.containsKey(entity.getName())) {
030                    standard.put(entity.getName(), entity);
031                }
032            }
033        }
034    
035        public static void getUnifiedEntity(HashSet fullEntitySet, ArrayList vizList, int dimension) {
036            HashSet dsourceFound = new HashSet();
037            HashMap standard = new HashMap();
038    
039            for (int i=0; i<vizList.size(); i++) {
040                Visualization visual = (Visualization)vizList.get(i);
041                Integer dsourceId = new Integer(visual.getDataSourceId());
042    
043                if (dsourceFound.contains(dsourceId)) continue;
044    
045                dsourceFound.add(dsourceId);
046    
047                ReferenceDimension dim = visual.getLinkableDimension(dimension);
048    
049                HashMap toBeUnified = Scene.getDataSourceManager().getDataManager(dsourceId.intValue()).getEntity()[dim.getDataFilter().getTargetType()];
050    
051                Unification.unifyEntities(standard, toBeUnified);
052            }
053    
054            Iterator it = standard.keySet().iterator();
055            while (it.hasNext()) {
056                fullEntitySet.add(standard.get(it.next()));
057            }
058    
059        }
060    
061        public static void changeColor(AutoImage image, Color newColor) {
062            int w = image.getW();
063            int h = image.getH();
064    
065            for (int i=0; i<w; i++) {
066                for (int j=0; j<h; j++) {
067                    Object temp = image.getColor(i,j);
068                    if ((temp == null)||(newColor==null)) continue;
069                    image.setColor(i, j,newColor);
070                }
071            }
072        }
073    }