Revision 31735 trunk/extensions/extGraph/src/org/gvsig/graph/ODMatrixExtension.java

View differences:

ODMatrixExtension.java
41 41
package org.gvsig.graph;
42 42

  
43 43
import java.awt.Component;
44
import java.io.BufferedWriter;
45 44
import java.io.File;
46
import java.io.IOException;
47 45
import java.util.ArrayList;
48 46

  
49 47
import javax.swing.JOptionPane;
......
55 53
import org.gvsig.graph.core.NetworkUtils;
56 54
import org.gvsig.graph.gui.ODMatrixTask;
57 55
import org.gvsig.graph.gui.OdMatrixControlPanel;
58
import org.gvsig.graph.solvers.OneToManySolver;
59 56

  
60 57
import com.iver.andami.PluginServices;
61
import com.iver.andami.messages.NotificationManager;
62 58
import com.iver.andami.plugins.Extension;
63 59
import com.iver.andami.ui.mdiManager.IWindow;
64 60
import com.iver.cit.gvsig.fmap.MapContext;
......
66 62
import com.iver.cit.gvsig.fmap.layers.FLayer;
67 63
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
68 64
import com.iver.cit.gvsig.fmap.layers.SingleLayerIterator;
69
import com.iver.cit.gvsig.project.documents.gui.IDocumentWindow;
70 65
import com.iver.cit.gvsig.project.documents.view.gui.View;
71 66

  
72 67
/**
......
148 143
							
149 144
							File selectedFile = new File(ctrlDlg.getGeneratedFile());
150 145
							
146
							
151 147
							selectedWriter = odMatrixWriters.get(ctrlDlg.getFileFormat());
152 148
							
153 149
							ODMatrixTask task = new ODMatrixTask(net, originFlags, destinationFlags,
......
174 170
		
175 171

  
176 172
	}
177

  
178
	/**
179
	 * @deprecated Use ODMatrixTask instead (to allow cancel the dialog and see progress
180
	 * @param net
181
	 * @param originFlags
182
	 * @param destinationFlags
183
	 * @param generatedFile
184
	 */
185
	private void calculateOdMatrix(Network net, GvFlag[] originFlags, GvFlag[] destinationFlags, File generatedFile) {
186
		try {
187
			selectedWriter.openFile(generatedFile);
188
//						output.setByteOrder(ByteOrder.LITTLE_ENDIAN);
189

  
190
			OneToManySolver solver = new OneToManySolver();
191
			solver.setNetwork(net);
192
			solver.putDestinationsOnNetwork(destinationFlags);
193
			for (int i=0; i < originFlags.length; i++)
194
			{
195
				
196
				solver.setSourceFlag(originFlags[i]);
197
				long t1 = System.currentTimeMillis();
198
				
199
				solver.calculate();
200
				long t2 = System.currentTimeMillis();
201
				System.out.println("Punto " + i + " de " + originFlags.length + ". " + (t2-t1) + " msecs.");
202
				// Escribe el resultado
203
				// idNodo1 idNodo2 tiempo distancia
204
				
205
				for (int j=0; j < destinationFlags.length; j++)
206
				{
207
					selectedWriter.saveDist(i, j, destinationFlags[j].getCost()
208
							, destinationFlags[j].getAccumulatedLength());
209
				}
210
				long t3 = System.currentTimeMillis();
211
				System.out.println("T. de escritura: " + (t3-t2) + " msecs.");
212
				
213
			}
214
			solver.removeDestinationsFromNetwork(destinationFlags);
215
			selectedWriter.closeFile();
216
			net.removeFlags();
217
			JOptionPane.showMessageDialog((Component) PluginServices.getMainFrame(),
218
					PluginServices.getText(this,"fichero_generado"));
219
		} catch (IOException e) {
220
			// TODO Auto-generated catch block
221
			e.printStackTrace();
222
		} catch (GraphException e) {
223
			// TODO Auto-generated catch block
224
			e.printStackTrace();
225
		}
226
	}
227

  
228 173
	
229 174
	public boolean isEnabled() {
230 175
		IWindow window = PluginServices.getMDIManager().getActiveWindow();

Also available in: Unified diff