Revision 33639

View differences:

branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/LayoutExtension.java
49 49
import java.awt.Component;
50 50
import java.io.File;
51 51
import java.io.FileOutputStream;
52
import java.io.OutputStreamWriter;
53 52

  
54 53
import javax.swing.JFileChooser;
55 54
import javax.swing.JOptionPane;
56 55

  
57 56
import org.slf4j.Logger;
58 57
import org.slf4j.LoggerFactory;
59
import org.exolab.castor.xml.Marshaller;
58

  
60 59
import org.gvsig.andami.PluginServices;
61 60
import org.gvsig.andami.messages.NotificationManager;
62 61
import org.gvsig.andami.plugins.Extension;
......
65 64
import org.gvsig.andami.ui.mdiManager.IWindow;
66 65
import org.gvsig.app.gui.preferencespage.LayoutPage;
67 66
import org.gvsig.app.project.documents.layout.FLayoutZooms;
68
import org.gvsig.app.project.documents.layout.fframes.FFrameBasicFactory;
69
import org.gvsig.app.project.documents.layout.fframes.FFrameGraphicsFactory;
70
import org.gvsig.app.project.documents.layout.fframes.FFrameGridFactory;
71
import org.gvsig.app.project.documents.layout.fframes.FFrameGroupFactory;
72
import org.gvsig.app.project.documents.layout.fframes.FFrameLegendFactory;
73
import org.gvsig.app.project.documents.layout.fframes.FFrameNorthFactory;
74
import org.gvsig.app.project.documents.layout.fframes.FFrameOverViewFactory;
75
import org.gvsig.app.project.documents.layout.fframes.FFramePictureFactory;
76
import org.gvsig.app.project.documents.layout.fframes.FFrameScaleBarFactory;
77
import org.gvsig.app.project.documents.layout.fframes.FFrameSymbolFactory;
78
import org.gvsig.app.project.documents.layout.fframes.FFrameTableFactory;
79
import org.gvsig.app.project.documents.layout.fframes.FFrameTextFactory;
80
import org.gvsig.app.project.documents.layout.fframes.FFrameViewFactory;
81 67
import org.gvsig.app.project.documents.layout.gui.LayoutPanel;
68
import org.gvsig.tools.ToolsLocator;
69
import org.gvsig.tools.persistence.PersistenceManager;
70
import org.gvsig.tools.persistence.PersistentState;
82 71
import org.gvsig.utils.GenericFileFilter;
83
import org.gvsig.utils.XMLEntity;
84 72

  
85 73

  
86 74

  
......
147 135

  
148 136
			try {
149 137
				FileOutputStream fos = new FileOutputStream(file.getAbsolutePath());
150
	            OutputStreamWriter writer = new OutputStreamWriter(fos, ProjectExtension.PROJECTENCODING);
151
				Marshaller m = new Marshaller(writer);
152
				m.setEncoding(ProjectExtension.PROJECTENCODING);
153
				XMLEntity xml=layout.getXMLEntity();
154
				xml.putProperty("followHeaderEncoding", true);
155
				m.marshal(xml.getXmlTag());
138
//	            OutputStreamWriter writer = new OutputStreamWriter(fos, ProjectExtension.PROJECTENCODING);
139
//				Marshaller m = new Marshaller(writer);
140
//				m.setEncoding(ProjectExtension.PROJECTENCODING);
141
//				XMLEntity xml=layout.getXMLEntity();
142
//				xml.putProperty("followHeaderEncoding", true);
143
//				m.marshal(xml.getXmlTag());
144
				
145
		        PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager();
146
                PersistentState persistentState = persistenceManager.getState(layout);
147
                persistenceManager.saveState(persistentState, fos);
156 148
			} catch (Exception e) {
157 149
				NotificationManager.addError(PluginServices.getText(this, "Error_guardando_la_plantilla"), e);
158 150
			}
......
177 169
	/**
178 170
	 * @see org.gvsig.andami.plugins.IExtension#initialize()
179 171
	 */
180
	public void initialize() {
181
		registerFFrames();
172
	public void initialize() {		
182 173
		registerIcons();
183 174
	}
184
	private void registerFFrames() {
185
		FFrameBasicFactory.register();
186
		FFrameGraphicsFactory.register();
187
		FFrameGroupFactory.register();
188
		FFrameLegendFactory.register();
189
		FFrameNorthFactory.register();
190
		FFrameOverViewFactory.register();
191
		FFramePictureFactory.register();
192
		FFrameScaleBarFactory.register();
193
		FFrameSymbolFactory.register();
194
		FFrameTableFactory.register();
195
		FFrameTextFactory.register();
196
		FFrameViewFactory.register();
197
		FFrameGridFactory.register();
198
	}
199 175

  
200 176
	private void registerIcons(){
201 177
		PluginServices.getIconTheme().registerDefault(
branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ProjectExtension.java
44 44
import java.io.File;
45 45
import java.io.FileInputStream;
46 46
import java.io.FileNotFoundException;
47
import java.io.FileReader;
48
import java.io.Reader;
49 47
import java.util.ArrayList;
50 48
import java.util.Iterator;
51 49
import java.util.List;
......
53 51

  
54 52
import javax.swing.JOptionPane;
55 53

  
56
import org.exolab.castor.xml.MarshalException;
57
import org.exolab.castor.xml.ValidationException;
58 54
import org.gvsig.andami.Launcher;
59
import org.gvsig.andami.Launcher.TerminationProcess;
60 55
import org.gvsig.andami.PluginServices;
56
import org.gvsig.andami.Launcher.TerminationProcess;
61 57
import org.gvsig.andami.messages.NotificationManager;
62 58
import org.gvsig.andami.plugins.Extension;
63 59
import org.gvsig.andami.plugins.IExtension;
......
69 65
import org.gvsig.andami.ui.wizard.UnsavedDataPanel;
70 66
import org.gvsig.app.project.Project;
71 67
import org.gvsig.app.project.ProjectManager;
72
import org.gvsig.app.project.documents.exceptions.OpenException;
73 68
import org.gvsig.app.project.documents.gui.ProjectWindow;
74 69
import org.gvsig.app.project.documents.layout.LayoutDocument;
75 70
import org.gvsig.app.project.documents.layout.LayoutManager;
76
import org.gvsig.app.project.documents.layout.gui.DefaultLayoutPanel;
77 71
import org.gvsig.app.project.documents.layout.gui.LayoutPanel;
78 72
import org.gvsig.app.project.documents.table.TableManager;
79 73
import org.gvsig.app.project.documents.view.ViewManager;
80 74
import org.gvsig.gui.beans.swing.JFileChooser;
81 75
import org.gvsig.tools.ToolsLocator;
82 76
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
77
import org.gvsig.tools.persistence.PersistenceManager;
78
import org.gvsig.tools.persistence.PersistentState;
83 79
import org.gvsig.tools.persistence.exception.PersistenceException;
84 80
import org.gvsig.utils.GenericFileFilter;
85
import org.gvsig.utils.XMLEntity;
86 81
import org.gvsig.utils.save.AfterSavingListener;
87 82
import org.gvsig.utils.save.BeforeSavingListener;
88 83
import org.gvsig.utils.save.SaveEvent;
89 84
import org.gvsig.utils.swing.threads.IMonitorableTask;
90
import org.gvsig.utils.xml.XMLEncodingUtils;
91
import org.gvsig.utils.xmlEntity.generate.XmlTag;
92 85

  
93 86

  
94 87

  
......
395 388
			try {
396 389
				File xmlFile = new File(file.getAbsolutePath());
397 390
				FileInputStream is = new FileInputStream(xmlFile);
398
				Reader reader = XMLEncodingUtils.getReader(is);
391
				
392
				PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager();
393
				PersistentState persistentState = persistenceManager.loadState(is);
394
				layout = (LayoutPanel)persistenceManager.create(persistentState);
399 395

  
400
				XmlTag tag = (XmlTag) XmlTag.unmarshal(reader);
401
				try {
402
					XMLEntity xml=new XMLEntity(tag);
403
					if (xml.contains("followHeaderEncoding")) {
404
						layout = DefaultLayoutPanel.createLayout(xml,p);
405
					}
406
					else {
407
						reader = new FileReader(xmlFile);
408
						tag = (XmlTag) XmlTag.unmarshal(reader);
409
						xml=new XMLEntity(tag);
410
						layout = DefaultLayoutPanel.createLayout(xml,p);
411
					}
412

  
413
				} catch (OpenException e) {
414
					e.showError();
415
				}
416
				//fPanelLegendManager.setRenderer(LegendFactory.createFromXML(new XMLEntity(tag)));
417 396
			} catch (FileNotFoundException e) {
418 397
				NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
419
			} catch (MarshalException e) {
420
				NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
421
			} catch (ValidationException e) {
422
				NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
423
			}
398
			} catch (PersistenceException e) {
399
			    NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e);
400
            }
401

  
424 402
			LayoutDocument layoutDocument = (LayoutDocument) ProjectManager.getInstance().createDocument(LayoutManager.TYPENAME, file.getName());
425 403
			p.add(layoutDocument);
426 404
			PluginServices.getMDIManager().addWindow(layout);

Also available in: Unified diff