示例#1
0
  /** PointSet木を ローカルのStorageに作成する */
  public void init() {

    Storage2Admin admin = Storage2Admin.getInstance();
    admin.log(
        "fiap.client.writecopy.init.begin",
        "fiapURI="
            + m_FIAPURI
            + "; frequency="
            + m_Frequency
            + "; mode="
            + m_Mode
            + "; offset="
            + m_OffSet,
        false);

    java.util.Map<String, PointData> roots = new java.util.Hashtable<String, PointData>();
    java.util.Map<String, PointData> points = new java.util.Hashtable<String, PointData>();
    String[] keys = new String[0];
    keys = m_PointMap.keySet().toArray(keys);
    for (int i = 0; i < keys.length; i++) {
      PointData obj = m_PointMap.get(keys[i]);
      PointData clone = null;
      if (obj.hasPointSet()) {
        PointSet clonePS = new PointSet();
        clonePS.setId(obj.getPointSet().getId());
        clone = new PointData(clonePS);
      } else if (obj.hasPoint()) {
        Point cloneP = new Point();
        cloneP.setId(obj.getPoint().getId());
        clone = new PointData(cloneP);
      }
      if (m_PointTreeRoots.containsKey(keys[i])) {
        roots.put(keys[i], clone);
      }
      points.put(keys[i], clone);
    }
    keys = new String[0];
    keys = m_ChildToParentMap.keySet().toArray(keys);
    for (int i = 0; i < keys.length; i++) {
      String id = keys[i];
      String parent = m_ChildToParentMap.get(id);
      PointData child = points.get(id);
      if (child.hasPointSet()) {
        points.get(parent).getPointSet().addPointSet(child.getPointSet());
      } else if (child.hasPoint()) {
        points.get(parent).getPointSet().addPoint(child.getPoint());
      }
    }

    keys = new String[0];
    keys = roots.keySet().toArray(keys);
    for (int i = 0; i < keys.length; i++) {
      PointData obj = roots.get(keys[i]);
      //	System.out.println(keys[i]);
      m_Parent.sendUpdate(obj);
    }

    admin.log(
        "fiap.client.writecopy.init.end",
        "fiapURI="
            + m_FIAPURI
            + "; frequency="
            + m_Frequency
            + "; mode="
            + m_Mode
            + "; offset="
            + m_OffSet,
        false);
  }