Changeset 0ccb869


Ignore:
Timestamp:
Sep 9, 2011, 11:50:52 AM (7 years ago)
Author:
Michael Seifert <mseifert@…>
Branches:
master
Children:
b8e78ad
Parents:
7a8a931
Message:

ReplayChangeEvent? was removed;
ReplayDataChangeListener? was renamed to ReplayStorageListener?;
ReplayStorageListener? now has different methods dedicated to replays being added, removed, or changed

Files:
1 added
2 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • core/src/main/java/de/erichseifert/warp/core/DataPresenter.java

    r7a8a931 r0ccb869  
    3232
    3333import de.erichseifert.warp.core.io.MemoryStorage;
    34 import de.erichseifert.warp.core.io.ReplayDataChangeListener;
     34import de.erichseifert.warp.core.io.ReplayStorageListener;
    3535import de.erichseifert.warp.core.io.ReplayStorage;
    3636import de.erichseifert.warp.core.io.Settings;
     
    165165         * @param listener ReplayDataChangeListener.
    166166         */
    167         public void addDataChangeListener(ReplayDataChangeListener listener) {
     167        public void addDataChangeListener(ReplayStorageListener listener) {
    168168                storage.addReplayDataChangeListener(listener);
    169169        }
     
    173173         * @param listener ReplayDataChangeListener.
    174174         */
    175         public void removeDataChangeListener(ReplayDataChangeListener listener) {
     175        public void removeDataChangeListener(ReplayStorageListener listener) {
    176176                storage.removeReplayDataChangeListener(listener);
    177177        }
  • core/src/main/java/de/erichseifert/warp/core/io/AbstractReplayStorage.java

    r7a8a931 r0ccb869  
    3434 */
    3535public abstract class AbstractReplayStorage implements ReplayStorage {
    36         private transient final Set<ReplayDataChangeListener> listeners;
     36        private transient final Set<ReplayStorageListener> listeners;
    3737
    3838        /**
     
    4040         */
    4141        public AbstractReplayStorage() {
    42                 listeners = new HashSet<ReplayDataChangeListener>();
     42                listeners = new HashSet<ReplayStorageListener>();
    4343        }
    4444
     
    4646        public void save(Replay replay) {
    4747                ReplayDescriptor descriptor = replay.getDescriptor();
    48                 fireReplayDataChanged(null, descriptor);
     48                fireReplayAdded(descriptor);
    4949        }
    5050
     
    5252        public void delete(long id) {
    5353                ReplayDescriptor descriptorOld = load(id);
    54                 fireReplayDataChanged(descriptorOld, null);
     54                fireReplayRemoved(descriptorOld);
    5555        }
    5656
    5757        @Override
    58         public void addReplayDataChangeListener(ReplayDataChangeListener listener) {
     58        public void addReplayDataChangeListener(ReplayStorageListener listener) {
    5959                listeners.add(listener);
    6060        }
    6161
    6262        @Override
    63         public void removeReplayDataChangeListener(ReplayDataChangeListener listener) {
     63        public void removeReplayDataChangeListener(ReplayStorageListener listener) {
    6464                listeners.remove(listener);
    6565        }
    6666
    6767        /**
    68          * Notifies all registered listeners that the data of a replay has changed.
    69          *
    70          * If the old descriptor is <code>null</code>, a replay has been added.
    71          * If the new descriptor is <code>null</code>, a replay has been removed.
     68         * Notifies all registered listeners that a replay has been added.
     69         * @param descriptor Descriptor of the new replay.
     70         */
     71        protected void fireReplayAdded(ReplayDescriptor descriptor) {
     72                for (ReplayStorageListener listener : listeners) {
     73                        listener.replayAdded(this, descriptor);
     74                }
     75        }
     76
     77        /**
     78         * Notifies all registered listeners that a replay has been removed.
     79         * @param descriptor Descriptor of the old replay.
     80         */
     81        protected void fireReplayRemoved(ReplayDescriptor descriptor) {
     82                for (ReplayStorageListener listener : listeners) {
     83                        listener.replayRemoved(this, descriptor);
     84                }
     85        }
     86
     87        /**
     88         * Notifies all registered listeners that a replay has changed.
    7289         * @param descriptorOld Old replay descriptor.
    7390         * @param descriptorNew New replay descriptor.
    7491         */
    7592        protected void fireReplayDataChanged(ReplayDescriptor descriptorOld, ReplayDescriptor descriptorNew) {
    76                 ReplayChangeEvent evt = new ReplayChangeEvent(this, descriptorOld, descriptorNew);
    77                 for (ReplayDataChangeListener listener : listeners) {
    78                         listener.replayChanged(evt);
     93                for (ReplayStorageListener listener : listeners) {
     94                        listener.replayChanged(this, descriptorOld, descriptorNew);
    7995                }
    8096        }
     
    84100         * @return Listeners.
    85101         */
    86         protected Set<ReplayDataChangeListener> getListeners() {
     102        protected Set<ReplayStorageListener> getListeners() {
    87103                return listeners;
    88104        }
  • core/src/main/java/de/erichseifert/warp/core/io/BufferedStorage.java

    r7a8a931 r0ccb869  
    3838 * It caches the most recently used replays.
    3939 */
    40 public class BufferedStorage extends AbstractReplayStorage implements ReplayDataChangeListener {
     40public class BufferedStorage extends AbstractReplayStorage implements ReplayStorageListener {
    4141        private static final int BUFFER_SIZE_DEFAULT = 20;
    4242
     
    142142
    143143        @Override
    144         public void replayChanged(ReplayChangeEvent evt) {
    145                 /*
    146                  * Reassemble the replay change event in order to change the
    147                  * source to this storage. This is required, because registered
    148                  * listeners should refer to the buffer instead of the original
    149                  * storage.
    150                  */
    151                 ReplayChangeEvent evtNew = new ReplayChangeEvent(this, evt.getDescriptorOld(), evt.getDescriptorNew());
    152                 for (ReplayDataChangeListener listener : getListeners()) {
    153                         listener.replayChanged(evtNew);
     144        public void replayChanged(ReplayStorage source, ReplayDescriptor descriptorOld, ReplayDescriptor descriptorNew) {
     145                for (ReplayStorageListener listener : getListeners()) {
     146                        listener.replayChanged(this, descriptorOld, descriptorNew);
     147                }
     148        }
     149
     150        @Override
     151        public void replayAdded(ReplayStorage source, ReplayDescriptor descriptor) {
     152                for (ReplayStorageListener listener : getListeners()) {
     153                        listener.replayAdded(this, descriptor);
     154                }
     155        }
     156
     157        @Override
     158        public void replayRemoved(ReplayStorage source, ReplayDescriptor descriptor) {
     159                for (ReplayStorageListener listener : getListeners()) {
     160                        listener.replayRemoved(this, descriptor);
    154161                }
    155162        }
  • core/src/main/java/de/erichseifert/warp/core/io/ReplayStorage.java

    r7a8a931 r0ccb869  
    104104         * @param listener Listener to be added.
    105105         */
    106         void addReplayDataChangeListener(ReplayDataChangeListener listener);
     106        void addReplayDataChangeListener(ReplayStorageListener listener);
    107107        /**
    108108         * Removes the specified listener from the set of notified listeners.
    109109         * @param listener Listener to be removed.
    110110         */
    111         void removeReplayDataChangeListener(ReplayDataChangeListener listener);
     111        void removeReplayDataChangeListener(ReplayStorageListener listener);
    112112
    113113        /**
  • core/src/main/java/de/erichseifert/warp/core/io/search/DefaultReplayIndexer.java

    r7a8a931 r0ccb869  
    3131import java.util.Set;
    3232
    33 import de.erichseifert.warp.core.io.ReplayChangeEvent;
    3433import de.erichseifert.warp.core.io.ReplayStorage;
    35 import de.erichseifert.warp.core.io.ReplayChangeEvent.EventType;
    3634import de.erichseifert.warp.core.io.search.IndexHierarchy.Node;
    3735import de.erichseifert.warp.core.io.search.indices.Index;
     
    6664
    6765        @Override
    68         public void replayChanged(ReplayChangeEvent evt) {
    69                 ReplayStorage storage = evt.getSource();
    70                 if (evt.getType() == EventType.REMOVE || evt.getType() == EventType.CHANGE) {
    71                         ReplayDescriptor descriptor = evt.getDescriptorOld();
    72                         Replay replay = storage.getReplay(descriptor);
    73                         removeIndex(replay);
    74                 }
    75                 if (evt.getType() == EventType.ADD || evt.getType() == EventType.CHANGE) {
    76                         ReplayDescriptor descriptor = evt.getDescriptorNew();
    77                         Replay replay = storage.getReplay(descriptor);
    78                         try {
    79                                 createIndices(replay, null, 0);
    80                         } catch (IllegalArgumentException e) {
    81                                 // TODO Auto-generated catch block
    82                                 e.printStackTrace();
    83                         } catch (SecurityException e) {
    84                                 // TODO Auto-generated catch block
    85                                 e.printStackTrace();
    86                         } catch (InstantiationException e) {
    87                                 // TODO Auto-generated catch block
    88                                 e.printStackTrace();
    89                         } catch (IllegalAccessException e) {
    90                                 // TODO Auto-generated catch block
    91                                 e.printStackTrace();
    92                         } catch (InvocationTargetException e) {
    93                                 // TODO Auto-generated catch block
    94                                 e.printStackTrace();
    95                         } catch (NoSuchMethodException e) {
    96                                 // TODO Auto-generated catch block
    97                                 e.printStackTrace();
    98                         } catch (NoSuchFieldException e) {
    99                                 // TODO Auto-generated catch block
    100                                 e.printStackTrace();
    101                         } catch (IntrospectionException e) {
    102                                 // TODO Auto-generated catch block
    103                                 e.printStackTrace();
    104                         }
    105                 }
     66        public void replayAdded(ReplayStorage source, ReplayDescriptor descriptor) {
     67                Replay replay = storage.getReplay(descriptor);
     68                try {
     69                        createIndices(replay, null, 0);
     70                } catch (IllegalArgumentException e) {
     71                        // TODO Auto-generated catch block
     72                        e.printStackTrace();
     73                } catch (SecurityException e) {
     74                        // TODO Auto-generated catch block
     75                        e.printStackTrace();
     76                } catch (InstantiationException e) {
     77                        // TODO Auto-generated catch block
     78                        e.printStackTrace();
     79                } catch (IllegalAccessException e) {
     80                        // TODO Auto-generated catch block
     81                        e.printStackTrace();
     82                } catch (InvocationTargetException e) {
     83                        // TODO Auto-generated catch block
     84                        e.printStackTrace();
     85                } catch (NoSuchMethodException e) {
     86                        // TODO Auto-generated catch block
     87                        e.printStackTrace();
     88                } catch (NoSuchFieldException e) {
     89                        // TODO Auto-generated catch block
     90                        e.printStackTrace();
     91                } catch (IntrospectionException e) {
     92                        // TODO Auto-generated catch block
     93                        e.printStackTrace();
     94                }
     95        }
     96
     97        @Override
     98        public void replayRemoved(ReplayStorage source, ReplayDescriptor descriptor) {
     99                Replay replay = storage.getReplay(descriptor);
     100                removeIndex(replay);
     101        }
     102
     103        @Override
     104        public void replayChanged(ReplayStorage source, ReplayDescriptor descriptorOld, ReplayDescriptor descriptorNew) {
     105                replayRemoved(source, descriptorOld);
     106                replayAdded(source, descriptorNew);
    106107        }
    107108
  • core/src/main/java/de/erichseifert/warp/core/io/search/ReplayIndexer.java

    r7a8a931 r0ccb869  
    2626import java.util.Set;
    2727
    28 import de.erichseifert.warp.core.io.ReplayDataChangeListener;
     28import de.erichseifert.warp.core.io.ReplayStorageListener;
    2929import de.erichseifert.warp.core.io.ReplayStorage;
    3030import de.erichseifert.warp.core.io.search.IndexHierarchy.Node;
     
    4949 * @see de.erichseifert.warp.ReplayDataChangeListener
    5050 */
    51 public interface ReplayIndexer extends ReplayDataChangeListener, Serializable {
     51public interface ReplayIndexer extends ReplayStorageListener, Serializable {
    5252        /**
    5353         * Enum representing different search modes.
  • core/src/main/java/de/erichseifert/warp/core/io/statistics/SC2Statistics.java

    r7a8a931 r0ccb869  
    2222package de.erichseifert.warp.core.io.statistics;
    2323
    24 import de.erichseifert.warp.core.io.ReplayChangeEvent;
     24import de.erichseifert.warp.core.io.ReplayStorage;
     25import de.erichseifert.warp.core.replay.ReplayDescriptor;
    2526
    2627public class SC2Statistics implements Statistics {
     
    3334
    3435        @Override
    35         public void replayChanged(ReplayChangeEvent evt) {
     36        public void replayChanged(ReplayStorage source, ReplayDescriptor descriptorOld, ReplayDescriptor descriptorNew) {
    3637                // TODO Auto-generated method stub
    3738
    3839        }
    3940
     41        @Override
     42        public void replayAdded(ReplayStorage source, ReplayDescriptor descriptor) {
     43                // TODO Auto-generated method stub
     44
     45        }
     46
     47        @Override
     48        public void replayRemoved(ReplayStorage source, ReplayDescriptor descriptor) {
     49                // TODO Auto-generated method stub
     50
     51        }
    4052}
  • core/src/main/java/de/erichseifert/warp/core/io/statistics/Statistics.java

    r7a8a931 r0ccb869  
    2424import java.io.Serializable;
    2525
    26 import de.erichseifert.warp.core.io.ReplayDataChangeListener;
     26import de.erichseifert.warp.core.io.ReplayStorageListener;
    2727
    28 public interface Statistics extends ReplayDataChangeListener, Serializable {
     28public interface Statistics extends ReplayStorageListener, Serializable {
    2929
    3030        <T> T get(String key);
  • gui.swing/src/main/java/de/erichseifert/warp/gui/swing/ReplayParserGUI.java

    r7a8a931 r0ccb869  
    8383import javax.swing.table.TableRowSorter;
    8484
     85import sun.reflect.generics.reflectiveObjects.NotImplementedException;
    8586import de.erichseifert.warp.core.DataPresenter;
    8687import de.erichseifert.warp.core.ProgressListener;
    87 import de.erichseifert.warp.core.io.ReplayChangeEvent;
    88 import de.erichseifert.warp.core.io.ReplayDataChangeListener;
     88import de.erichseifert.warp.core.io.ReplayStorage;
     89import de.erichseifert.warp.core.io.ReplayStorageListener;
    8990import de.erichseifert.warp.core.io.Settings;
    90 import de.erichseifert.warp.core.io.ReplayChangeEvent.EventType;
    9191import de.erichseifert.warp.core.io.search.indices.Index.Range;
    9292import de.erichseifert.warp.core.replay.Player;
     
    105105 * to display important information. Both components are organized in a <code>JSplitPane</code>.
    106106 */
    107 public class ReplayParserGUI extends JFrame implements ReplayDataChangeListener, ProgressListener, WARPUI {
     107public class ReplayParserGUI extends JFrame implements ReplayStorageListener, ProgressListener, WARPUI {
    108108        /**
    109109         * Enum that represents the state of a GUI.
     
    601601
    602602        @Override
    603         public void replayChanged(ReplayChangeEvent evt) {
    604                 if (evt.getType() == EventType.ADD) {
    605                         replayTableModel.addRow(descriptorToRow(evt.getDescriptorNew()));
    606                 }
    607                 else if (evt.getType() == EventType.REMOVE) {
    608                         for (int i = 0; i < replayTableModel.getRowCount(); i++) {
    609                                 ReplayDescriptor descriptor = (ReplayDescriptor) replayTableModel.getValueAt(i, 0);
    610                                 if (descriptor == evt.getDescriptorOld()) {
    611                                         replayTableModel.removeRow(i);
    612                                         break;
    613                                 }
    614                         }
    615 
    616                         if (replayTableModel.getRowCount() == 0) {
    617                                 setSearchEnabled(false);
    618                         }
    619                 }
     603        public void replayAdded(ReplayStorage source, ReplayDescriptor descriptor) {
     604                replayTableModel.addRow(descriptorToRow(descriptor));
     605        }
     606
     607        @Override
     608        public void replayRemoved(ReplayStorage source, ReplayDescriptor descriptor) {
     609                for (int i = 0; i < replayTableModel.getRowCount(); i++) {
     610                        if ((ReplayDescriptor) replayTableModel.getValueAt(i, 0) == descriptor) {
     611                                replayTableModel.removeRow(i);
     612                                break;
     613                        }
     614                }
     615
     616                if (replayTableModel.getRowCount() == 0) {
     617                        setSearchEnabled(false);
     618                }
     619        }
     620
     621        @Override
     622        public void replayChanged(ReplayStorage source, ReplayDescriptor descriptorOld, ReplayDescriptor descriptorNew) {
     623                // TODO: Not implemented
     624                throw new NotImplementedException();
    620625        }
    621626
Note: See TracChangeset for help on using the changeset viewer.