Ejemplo n.º 1
0
        void checkSourceAssociations()
        {
            Hashtable <String, int> hashPassed = new Hashtable <String, int>();

            for (int nCurSrc = m_sources.size() - 1; nCurSrc > 0;)
            {
                SyncSource oCurSrc = (SyncSource)m_sources.elementAt(nCurSrc);
                if (oCurSrc.getAssociations().size() == 0 || hashPassed.containsKey(oCurSrc.getName()))
                {
                    nCurSrc--;
                }
                else
                {
                    int nSrc = nCurSrc;
                    for (int i = 0; i < (int)oCurSrc.getAssociations().size(); i++)
                    {
                        SyncSource.CAssociation oAssoc = (SyncSource.CAssociation)oCurSrc.getAssociations().elementAt(i);
                        int nAssocSrcIndex             = findSrcIndex(m_sources, oAssoc.m_strSrcName);
                        if (nAssocSrcIndex >= 0 && nAssocSrcIndex < nSrc)
                        {
                            m_sources.removeElementAt(nSrc);
                            m_sources.insertElementAt(oCurSrc, nAssocSrcIndex);

                            nSrc = nAssocSrcIndex;
                        }
                    }
                }

                hashPassed.put(oCurSrc.getName(), 1);
            }
        }