Subversion Repository Public Repository

litesoft

Diff Revisions 786 vs 787 for /trunk/Java/KeyHole/src/org/litesoft/aokeyhole/AbstractMain.java

Diff revisions: vs.
  @@ -27,7 +27,7 @@
27 27 // Constructor...
28 28 private final SubSystemFactory mSubSystemFactory;
29 29 private final EditViewPanelFactory mEditViewPanelFactory;
30 - private final PersistableProxy[] mPersistables;
30 + private final SubSystemPersister[] mPersisters;
31 31 private final boolean mEditable;
32 32
33 33 private String mVersion = BASE_VERSION;
  @@ -54,16 +54,16 @@
54 54 private boolean mNewAttributeVirtual;
55 55 private AttributeSet mNewAttributeSet;
56 56
57 - protected AbstractMain( SubSystemFactory pSubSystemFactory, EditViewPanelFactory pEditViewPanelFactory, PersistableProxy[] pPersistables, boolean pReadOnly )
57 + protected AbstractMain( SubSystemFactory pSubSystemFactory, EditViewPanelFactory pEditViewPanelFactory, boolean pReadOnly, SubSystemPersister... pPersisters )
58 58 throws IOException
59 59 {
60 60 mSubSystemFactory = pSubSystemFactory;
61 61 mEditViewPanelFactory = pEditViewPanelFactory;
62 - if ( (mPersistables = pPersistables).length == 0 )
62 + if ( (mPersisters = pPersisters).length == 0 )
63 63 {
64 64 throw new IllegalArgumentException( "No Data Sources Provided" );
65 65 }
66 - mEditable = !(pReadOnly || getLastPersistable().isReadOnly());
66 + mEditable = !(pReadOnly || getLastPersister().isReadOnly());
67 67
68 68 unpersistAllObjects();
69 69
  @@ -87,18 +87,18 @@
87 87 return mSubSystemForSaving;
88 88 }
89 89
90 - public void saveToPersistableForSaving( String[] pDataToSave )
90 + public void persistSubSystem( SubSystemWriter pSubSystemWriter )
91 91 throws IOException
92 92 {
93 93 if ( mEditable )
94 94 {
95 - getLastPersistable().saveLines( pDataToSave );
95 + pSubSystemWriter.write();
96 96 }
97 97 }
98 98
99 - private PersistableProxy getLastPersistable()
99 + private SubSystemPersister getLastPersister()
100 100 {
101 - return mPersistables[mPersistables.length - 1];
101 + return mPersisters[mPersisters.length - 1];
102 102 }
103 103
104 104 /**
  @@ -134,10 +134,10 @@
134 134 SystemMetaData zSMD = new SystemMetaData( mEditable, BASE_VERSION, mSubSystemFactory );
135 135
136 136 SubSystemMetaData lastSS = null;
137 - for ( int i = 0; i < mPersistables.length; i++ )
137 + for ( int i = 0; i < mPersisters.length; i++ )
138 138 {
139 - PersistableProxy zPersistable = mPersistables[i];
140 - lastSS = zSMD.unpersistSubSystemMetaData( i, zPersistable.getName(), zPersistable ).createObjectsFromLines( zPersistable.loadLines() );
139 + SubSystemPersister zPersister = mPersisters[i];
140 + lastSS = zSMD.unpersistSubSystemMetaData( i, zPersister ).loadObjects();
141 141 }
142 142 zSMD.setRehydrated();
143 143
  @@ -153,7 +153,9 @@
153 153 */
154 154 public void start()
155 155 {
156 - mEditViewPanelController = mEditViewPanelFactory.createEditViewPanelController( mEditable, getLastPersistable().getName(), mSystemMetaData.getObjectSets(), mSystemMetaData.getAttributeSets(), this, this, this, this );
156 + mEditViewPanelController = mEditViewPanelFactory
157 + .createEditViewPanelController( mEditable, getLastPersister().getName(), mSystemMetaData.getObjectSets(), mSystemMetaData.getAttributeSets(),
158 + this, this, this, this );
157 159
158 160 mSystemMetaData.add( buildUI( mVersion, mEditViewPanelController ) );
159 161
  @@ -238,7 +240,7 @@
238 240 /**
239 241 * Called on the "UI" Event Thread
240 242 */
241 - protected void save( final String[] pDataToSave )
243 + protected void save( final SubSystemWriter pSubSystemWriter )
242 244 {
243 245 postMainThreadRunnable( "Save Changes", new Runnable()
244 246 {
  @@ -254,7 +256,7 @@
254 256 {
255 257 try
256 258 {
257 - saveToPersistableForSaving( pDataToSave );
259 + persistSubSystem( pSubSystemWriter );
258 260 getSystemMetaData().clearChangeIndicators();
259 261 updateStatus( "Save Complete" );
260 262 }
  @@ -863,7 +865,7 @@
863 865 public void requestSave()
864 866 {
865 867 updateStatus( "Saving..." );
866 - save( mSubSystemForSaving.toLinesObjects() );
868 + save( mSubSystemForSaving.toSubSystemWriter() );
867 869 }
868 870
869 871 @Override