Revision 39584

View differences:

trunk/extensions/extGeoProcessing/src/com/iver/cit/gvsig/geoprocess/core/fmap/DefinitionUtils.java
158 158
		solution.setShapeType(firstLayer.getShapeType());
159 159
		SelectableDataSource firstDatasource = firstLayer.getRecordset();
160 160
		SelectableDataSource secondDatasource = secondLayer.getRecordset();
161
		int numFieldsA = firstDatasource.getFieldCount();
162
		int numFieldsB = secondDatasource.getFieldCount();
163
		FieldDescription[] fields =
164
			new FieldDescription[numFieldsA + numFieldsB];
165
		FieldDescription fieldDesc = null;
166
		for(int i = 0; i < numFieldsA; i++){
167
			fieldDesc = new FieldDescription();
168
			fieldDesc.setFieldName(firstDatasource.getFieldName(i));
169
			int fieldType = firstDatasource.getFieldType(i);
170
			fieldDesc.setFieldType(fieldType);
171
			int fieldLength  = getDataTypeLength(fieldType);
172
			fieldDesc.setFieldLength(fieldLength);
173
			fieldDesc.setFieldDecimalCount(NUM_DECIMALS);
174
			fields[i] = fieldDesc;
161
		FieldDescription[] fields = 
162
			new FieldDescription[firstDatasource.getFieldCount() + secondDatasource.getFieldCount()];
163
		
164
		int i = 0;
165
		for (FieldDescription fieldDesc:firstDatasource.getFieldsDescription()) {
166
		    fields[i++] = fieldDesc;
175 167
		}
176

  
177
		for(int i = 0; i < numFieldsB; i++){
178
			fieldDesc = new FieldDescription();
179
			fieldDesc.setFieldName(secondDatasource.getFieldName(i));
180
			int fieldType = secondDatasource.getFieldType(i);
181
			fieldDesc.setFieldType(fieldType);
182
			int fieldLength  = getDataTypeLength(fieldType);
183
			fieldDesc.setFieldLength(fieldLength);
184
			fieldDesc.setFieldDecimalCount(NUM_DECIMALS);
185
			fields[i + numFieldsA] = fieldDesc;
168
		for (FieldDescription fieldDesc:secondDatasource.getFieldsDescription()) {
169
		    fields[i++] = fieldDesc;
186 170
		}
171
		
187 172
		solution.setFieldsDesc(fields);
188 173
		return solution;
189 174
	}

Also available in: Unified diff