Revision 44388

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVFilesystemServerProvider.java
25 25

  
26 26
import java.io.File;
27 27
import java.io.IOException;
28
import org.apache.commons.lang3.StringUtils;
28 29
import org.gvsig.fmap.dal.DALLocator;
29 30
import org.gvsig.fmap.dal.DataManager;
30 31

  
......
50 51
import org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProvider;
51 52
import org.gvsig.fmap.dal.serverexplorer.filesystem.spi.FilesystemServerExplorerProviderServices;
52 53
import org.gvsig.tools.dataTypes.DataTypes;
54
import org.supercsv.comment.CommentStartsWith;
53 55
import org.supercsv.prefs.CsvPreference;
56
import org.supercsv.quote.QuoteMode;
54 57

  
55 58
public class CSVFilesystemServerProvider extends AbstractFilesystemServerExplorerProvider
56 59
        implements FilesystemServerExplorerProvider, ResourceConsumer {
......
148 151
            resource.execute(new ResourceAction() {
149 152
                @Override
150 153
                public Object run() throws Exception {
154
                    String s;
155
                    char quoteChar;
156
                    int delimiterChar;
157
                    String endOfLineSymbols;
158

  
151 159
                    CSVFeatureWriter writer = new CSVFeatureWriter();
152
                    //TODO correct values to the writer from params
153
                    writer.initialize(params, file.getAbsoluteFile(), params.getDefaultFeatureType(), null);
160

  
161
                    CSVNewStoreParameters newparams = (CSVNewStoreParameters) params;
162
                    CsvPreference defaultPreference = CSVStoreParameters.getPredefinedCSVPreferences(newparams);
163

  
164
                    s = CSVStoreParameters.getQuoteCharacter(params);
165
                    if (StringUtils.isBlank(s)) {
166
                        quoteChar = (char) defaultPreference.getQuoteChar();
167
                    } else {
168
                        quoteChar = s.charAt(0);
169
                    }
170

  
171
                    s = CSVStoreParameters.getDelimiter(newparams);
172
                    if (StringUtils.isBlank(s)) {
173
                        delimiterChar = defaultPreference.getDelimiterChar();
174
                    } else {
175
                        delimiterChar = s.charAt(0);
176
                    }
177

  
178
                    endOfLineSymbols = CSVStoreParameters.getRecordSeparator(params);
179
                    if (StringUtils.isBlank(endOfLineSymbols)) {
180
                        endOfLineSymbols = defaultPreference.getEndOfLineSymbols();
181
                    }
182

  
183
                    CsvPreference.Builder builder = new CsvPreference.Builder(quoteChar, delimiterChar, endOfLineSymbols);
184

  
185
                    s = CSVStoreParameters.getCommentStartMarker(newparams);
186
                    if (!StringUtils.isBlank(s)) {
187
                        CommentStartsWith cs = new CommentStartsWith(s);
188
                        builder.skipComments(cs);
189
                    }
190

  
191
                    builder.surroundingSpacesNeedQuotes(CSVStoreParameters
192
                            .getSurroundingSpacesNeedQuotes(newparams));
193
                    QuoteMode quoteMode = CSVStoreParameters.getQuoteMode(newparams);
194
                    if (quoteMode != null) {
195
                        builder.useQuoteMode(quoteMode);
196
                    }
197

  
198
                    CsvPreference csvpreferences = builder.build();
199

  
200
                    writer.initialize(params, file.getAbsoluteFile(), params.getDefaultFeatureType(), csvpreferences);
154 201
                    writer.begin();
155 202

  
156 203
//                    writer.begin(
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/CSVStoreProvider.java
319 319
                        getCSVParameters(),
320 320
                        getCSVParameters().getFile(),
321 321
                        getFeatureStore().getDefaultFeatureType(),
322
                        null
322
                        getCSVPreferences()
323 323
                );
324 324
                writer.beginAppend();
325 325
                return null;

Also available in: Unified diff