Changeset 3034 for DataCleaner
- Timestamp:
- 01/15/12 21:31:53 (4 months ago)
- Location:
- DataCleaner/trunk/core/src/main
- Files:
-
- 1 added
- 10 edited
-
java/org/eobjects/datacleaner/actions/OpenAnalysisJobActionListener.java (modified) (8 diffs)
-
java/org/eobjects/datacleaner/guice/DCModule.java (modified) (2 diffs)
-
java/org/eobjects/datacleaner/macos/MacOSManager.java (modified) (1 diff)
-
java/org/eobjects/datacleaner/panels/ProgressInformationPanel.java (modified) (1 diff)
-
java/org/eobjects/datacleaner/util/AnalysisRunnerSwingWorker.java (modified) (1 diff)
-
java/org/eobjects/datacleaner/util/FileFilters.java (modified) (1 diff)
-
java/org/eobjects/datacleaner/widgets/DefaultFileIconFactory.java (modified) (2 diffs)
-
java/org/eobjects/datacleaner/widgets/OpenAnalysisJobFileChooserAccessory.java (modified) (1 diff)
-
java/org/eobjects/datacleaner/windows/OpenAnalysisJobAsTemplateDialog.java (modified) (1 diff)
-
java/org/eobjects/datacleaner/windows/ResultWindow.java (modified) (4 diffs)
-
resources/images/filetypes/analysis_result.png (added)
Legend:
- Unmodified
- Added
- Removed
-
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/actions/OpenAnalysisJobActionListener.java
r3027 r3034 24 24 import java.awt.event.ActionListener; 25 25 import java.io.File; 26 import java.io.FileInputStream; 27 import java.io.FileNotFoundException; 26 28 27 29 import javax.inject.Inject; … … 29 31 import javax.swing.JOptionPane; 30 32 33 import org.apache.commons.lang.SerializationUtils; 31 34 import org.eobjects.analyzer.configuration.AnalyzerBeansConfiguration; 32 35 import org.eobjects.analyzer.job.AnalysisJobMetadata; … … 34 37 import org.eobjects.analyzer.job.NoSuchDatastoreException; 35 38 import org.eobjects.analyzer.job.builder.AnalysisJobBuilder; 39 import org.eobjects.analyzer.result.AnalysisResult; 36 40 import org.eobjects.datacleaner.bootstrap.WindowContext; 37 41 import org.eobjects.datacleaner.guice.DCModule; … … 43 47 import org.eobjects.datacleaner.windows.AnalysisJobBuilderWindow; 44 48 import org.eobjects.datacleaner.windows.OpenAnalysisJobAsTemplateDialog; 49 import org.eobjects.datacleaner.windows.ResultWindow; 45 50 46 51 import com.google.inject.Guice; … … 87 92 fileChooser.setAccessory(accessory); 88 93 89 fileChooser.setFileFilter(FileFilters.ANALYSIS_XML); 94 fileChooser.addChoosableFileFilter(FileFilters.ANALYSIS_XML); 95 fileChooser.addChoosableFileFilter(FileFilters.ANALYSIS_RESULT_SER); 96 fileChooser.setFileFilter(FileFilters.combined("DataCleaner analysis files", FileFilters.ANALYSIS_XML, 97 FileFilters.ANALYSIS_RESULT_SER)); 90 98 int openFileResult = fileChooser.showOpenDialog((Component) event.getSource()); 91 99 … … 96 104 } 97 105 106 private void openFile(File file) { 107 if (file.getName().toLowerCase().endsWith(FileFilters.ANALYSIS_RESULT_SER.getExtension())) { 108 openAnalysisResult(file); 109 } else { 110 openAnalysisJob(file); 111 } 112 } 113 114 public void openAnalysisResult(final File file) { 115 final AnalysisResult analysisResult; 116 try { 117 analysisResult = (AnalysisResult) SerializationUtils.deserialize(new FileInputStream(file)); 118 } catch (FileNotFoundException e) { 119 throw new IllegalStateException(e); 120 } 121 122 Injector injector = Guice.createInjector(new DCModule(_parentModule, null) { 123 public String getJobFilename() { 124 return file.getName(); 125 }; 126 127 @Override 128 public AnalysisResult getAnalysisResult() { 129 return analysisResult; 130 } 131 132 @Override 133 public AnalysisJobBuilder getAnalysisJobBuilder() { 134 return null; 135 } 136 }); 137 138 ResultWindow resultWindow = injector.getInstance(ResultWindow.class); 139 resultWindow.setVisible(true); 140 } 141 98 142 /** 99 143 * Opens a job file … … 101 145 * @param file 102 146 */ 103 public void open File(File file) {147 public void openAnalysisJob(File file) { 104 148 JaxbJobReader reader = new JaxbJobReader(_configuration); 105 149 try { 106 150 AnalysisJobBuilder ajb = reader.create(file); 107 151 108 open Job(file, ajb);152 openAnalysisJob(file, ajb); 109 153 } catch (NoSuchDatastoreException e) { 110 154 AnalysisJobMetadata metadata = reader.readMetadata(file); … … 126 170 * @param ajb 127 171 */ 128 public void open Job(final File file, final AnalysisJobBuilder ajb) {172 public void openAnalysisJob(final File file, final AnalysisJobBuilder ajb) { 129 173 _userPreferences.setAnalysisJobDirectory(file.getParentFile()); 130 174 _userPreferences.addRecentJobFile(file); -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/guice/DCModule.java
r3015 r3034 43 43 import org.eobjects.analyzer.reference.ReferenceDataCatalog; 44 44 import org.eobjects.analyzer.reference.ReferenceDataCatalogImpl; 45 import org.eobjects.analyzer.result.AnalysisResult; 45 46 import org.eobjects.analyzer.result.renderer.RendererFactory; 46 47 import org.eobjects.analyzer.storage.InMemoryStorageProvider; … … 295 296 296 297 @Provides 298 public AnalysisResult getAnalysisResult() { 299 return null; 300 } 301 302 @Provides 297 303 public final WindowContext getWindowContext() { 298 304 return _windowContextRef.get(); -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/macos/MacOSManager.java
r3030 r3034 88 88 final String filename = event.getFilename(); 89 89 final OpenAnalysisJobActionListener actionListener = _openAnalysisJobActionListenerProvider.get(); 90 actionListener.open File(new File(filename));90 actionListener.openAnalysisJob(new File(filename)); 91 91 } 92 92 -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/panels/ProgressInformationPanel.java
r3022 r3034 262 262 @Override 263 263 public void run() { 264 _loadingIcon.setVisible(false); 265 _loadingLabel.setVisible(false); 264 266 _stopButton.setEnabled(false); 265 267 Collection<DCProgressBar> progressBars = _progressBars.values(); -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/util/AnalysisRunnerSwingWorker.java
r3033 r3034 181 181 public void explorerSuccess(AnalysisJob job, ExplorerJob explorerJob, AnalyzerResult result) { 182 182 _progressInformationPanel.addUserLog("Explorer '" + LabelUtils.getLabel(explorerJob) + "' finished"); 183 _progressInformationPanel.addUserLog("Adding result to tab of " + explorerJob.getDescriptor().getDisplayName()); 183 184 _resultWindow.addResult(explorerJob, result); 184 185 } -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/util/FileFilters.java
r2656 r3034 80 80 81 81 public static final ExtensionFilter ANALYSIS_XML = new ExtensionFilter("Analysis job (.analysis.xml)", ".analysis.xml"); 82 public static final ExtensionFilter ANALYSIS_RESULT_SER = new ExtensionFilter("Analysis result (.analysis.result.ser)", ".analysis.result.ser"); 82 83 83 84 } -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/widgets/DefaultFileIconFactory.java
r2901 r3034 51 51 private static final ImageIcon ICON_FILE_ANALYSIS_JOB = imageManager.getImageIcon("images/filetypes/analysis_job.png", 52 52 IconUtils.ICON_SIZE_MEDIUM); 53 private static final ImageIcon ICON_FILE_ANALYSIS_RESULT = imageManager.getImageIcon("images/filetypes/analysis_result.png", 54 IconUtils.ICON_SIZE_MEDIUM); 53 55 private static final ImageIcon ICON_FILE_XML = imageManager.getImageIcon(IconUtils.XML_IMAGEPATH, 54 56 IconUtils.ICON_SIZE_MEDIUM); … … 88 90 return ICON_FILE_ANALYSIS_JOB; 89 91 } 92 if (name.endsWith(FileFilters.ANALYSIS_RESULT_SER.getExtension())) { 93 return ICON_FILE_ANALYSIS_RESULT; 94 } 90 95 if (name.endsWith(FileFilters.ODB.getExtension())) { 91 96 return ICON_FILE_ODB; -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/widgets/OpenAnalysisJobFileChooserAccessory.java
r2903 r3034 129 129 public void actionPerformed(ActionEvent e) { 130 130 OpenAnalysisJobActionListener openAnalysisJobActionListener = _openAnalysisJobActionListenerProvider.get(); 131 openAnalysisJobActionListener.open File(_file);131 openAnalysisJobActionListener.openAnalysisJob(_file); 132 132 _fileChooser.cancelSelection(); 133 133 } -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/windows/OpenAnalysisJobAsTemplateDialog.java
r2796 r3034 117 117 118 118 OpenAnalysisJobActionListener openAnalysisJobActionListener = _openAnalysisJobActionListenerProvider.get(); 119 openAnalysisJobActionListener.open Job(_file, ajb);119 openAnalysisJobActionListener.openAnalysisJob(_file, ajb); 120 120 121 121 OpenAnalysisJobAsTemplateDialog.this.dispose(); -
DataCleaner/trunk/core/src/main/java/org/eobjects/datacleaner/windows/ResultWindow.java
r3033 r3034 95 95 _jobFilename = jobFilename; 96 96 _rendererFactory = new RendererFactory(configuration.getDescriptorProvider(), rendererInitializerProvider.get()); 97 _progressInformationPanel = new ProgressInformationPanel(); 98 _tabbedPane.addTab("Progress information", imageManager.getImageIcon("images/model/progress_information.png"), 99 _progressInformationPanel); 100 _tabbedPane.setUnclosableTab(0); 97 101 98 102 if (result == null) { 99 // set up a progress information panel, and run the job in a swing 100 // worker 101 _progressInformationPanel = new ProgressInformationPanel(); 102 _tabbedPane.addTab("Progress information", imageManager.getImageIcon("images/model/progress_information.png"), 103 _progressInformationPanel); 104 _tabbedPane.setUnclosableTab(0); 105 103 // run the job in a swing worker 106 104 _worker = new AnalysisRunnerSwingWorker(_configuration, _job, this, _progressInformationPanel); 107 105 … … 114 112 } else { 115 113 // don't add the progress information, simply render the job asap 116 _progressInformationPanel = null;117 114 _worker = null; 118 115 … … 121 118 ComponentJob componentJob = entry.getKey(); 122 119 AnalyzerResult analyzerResult = entry.getValue(); 123 120 124 121 addResult(componentJob, analyzerResult); 125 122 } 123 _progressInformationPanel.onSuccess(); 126 124 } 127 125 } … … 241 239 boolean closing = super.onWindowClosing(); 242 240 if (closing) { 243 _worker.cancelIfRunning(); 241 if (_worker != null) { 242 _worker.cancelIfRunning(); 243 } 244 244 } 245 245 return closing;
Note: See TracChangeset
for help on using the changeset viewer.
