Revision 30600

View differences:

trunk/extensions/extCAD/src/com/iver/cit/gvsig/ExportTo.java
147 147
				lyrDef.setShapeType(FShape.POINT);
148 148
				writer.initialize(lyrDef);
149 149
			}
150
			if(writer instanceof ShpWriter && lyrVect.getSource() instanceof VectorialFileAdapter)
151
				((ShpWriter)writer).loadDbfEncoding(((VectorialFileAdapter)lyrVect.getSource()).getFile().getAbsolutePath());
152

  
150
			
153 151
			// Creamos la tabla.
154 152
			writer.preProcess();
155 153

  
......
653 651
					lyrDefPoint.setFile(filePoints);
654 652
					lyrDefPoint.setName(filePoints.getName());
655 653
					lyrDefPoint.setShapeType(FShape.POINT);
654
					loadEnconding(layer, writer1);
656 655
					writer1.setFile(filePoints);
657 656
					writer1.initialize(lyrDefPoint);
658 657
					writers[0]=writer1;
659 658
					drivers[0]=getOpenShpDriver(filePoints);
660 659
					//drivers[0]=null;
661 660

  
662

  
663

  
664 661
					ShpWriter writer2 = (ShpWriter) LayerFactory.getWM().getWriter(
665 662
					"Shape Writer");
666 663
					// Lineas
......
672 669
					lyrDefLine.setFile(fileLines);
673 670
					lyrDefLine.setName(fileLines.getName());
674 671
					lyrDefLine.setShapeType(FShape.LINE);
672
					loadEnconding(layer, writer2);
675 673
					writer2.setFile(fileLines);
676 674
					writer2.initialize(lyrDefLine);
677 675
					writers[1]=writer2;
......
688 686
					lyrDefPolygon.setFile(filePolygons);
689 687
					lyrDefPolygon.setName(filePolygons.getName());
690 688
					lyrDefPolygon.setShapeType(FShape.POLYGON);
689
					loadEnconding(layer, writer3);
691 690
					writer3.setFile(filePolygons);
692 691
					writer3.initialize(lyrDefPolygon);
693 692
					writers[2]=writer3;
......
698 697
				} else {
699 698
					ShpWriter writer = (ShpWriter) LayerFactory.getWM().getWriter(
700 699
						"Shape Writer");
701
					if(layer.getSource() instanceof VectorialFileAdapter)
702
						writer.loadDbfEncoding(((VectorialFileAdapter)layer.getSource()).getFile().getAbsolutePath());
700
					loadEnconding(layer, writer);
703 701
					IndexedShpDriver drv = getOpenShpDriver(newFile);
704 702
					SHPLayerDefinition lyrDef = new SHPLayerDefinition();
705 703
					lyrDef.setFieldsDesc(fieldsDescrip);
......
734 732
		}
735 733

  
736 734
	}
735
	
736
	/**
737
	 * Loads the dbf enconding
738
	 * @param layer
739
	 * @param writer
740
	 */
741
	private void loadEnconding(FLyrVect layer, ShpWriter writer) {
742
		if(layer.getSource() instanceof VectorialFileAdapter)
743
			writer.loadDbfEncoding(((VectorialFileAdapter)layer.getSource()).getFile().getAbsolutePath());
744
		else {
745
			Object s = layer.getProperty("DBFFile");
746
			if(s != null && s instanceof String)
747
				writer.loadDbfEncoding((String)s);
748
		}
749
	}
737 750

  
738 751
	private IndexedShpDriver getOpenShpDriver(File fileShp) throws OpenDriverException {
739 752
		IndexedShpDriver drv = new IndexedShpDriver();
trunk/extensions/extAddEventTheme/src/com/iver/gvsig/addeventtheme/gui/AddEventThemePanel.java
56 56

  
57 57
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
58 58
import com.hardcode.gdbms.engine.data.DataSource;
59
import com.hardcode.gdbms.engine.data.SourceInfo;
60
import com.hardcode.gdbms.engine.data.file.FileSourceInfo;
59 61
import com.iver.andami.PluginServices;
60 62
import com.iver.andami.messages.NotificationManager;
61 63
import com.iver.andami.ui.mdiManager.IWindow;
......
196 198
	        FLayer capa = null;
197 199
            capa = LayerFactory.createLayer(tableName, addEventThemeDriver, mapContext.getProjection());
198 200
	        capa.addLayerListener(new AddEventThemListener());
201
	        
202
	        //Guardamos el nombre del fichero asociado a la capa de eventos 
203
	        SourceInfo srcInfo = ds.getDataSourceFactory().getDriverInfo(tableName);
204
	        if(srcInfo instanceof FileSourceInfo) 
205
	        	capa.setProperty("DBFFile", ((FileSourceInfo)srcInfo).file);
206
	        
199 207
	        projectTable.setAssociatedTable((AlphanumericData)capa);
200 208
	        mapContext.getLayers().addLayer(capa);
201 209
        } catch (ReadDriverException e1) {

Also available in: Unified diff