CPD Results

The following document contains the results of PMD's CPD 3.9.

Duplications

FileLine
migratool\datasources\geometric\GeometricOriginDataSource.java145
migratool\datasources\geometric\textFile\GeomTextFileOriginDataSource.java148
							reg.setObject(field.getName(), createStringGeometry(geom));
							break;

						case igis.datasources.Types.INTEGER :
							reg.setInt(
								field.getName(),
								rs.getInt(field.getName()));
							break;
						case igis.datasources.Types.REAL :
							double value = rs.getDouble(field.getName());
							int valueInt = (int) value;
							if (value - valueInt == 0)
								reg.setInteger(field.getName(), valueInt);
							else
								reg.setDouble(field.getName(), value);
							break;
						case igis.datasources.Types.CHARACTER :
							reg.setString(
								field.getName(),
								rs.getString(field.getName()));
							break;
						case igis.datasources.Types.DATE :
							SimpleDateFormat sdf =
								new SimpleDateFormat("dd/MM/yyyy");
							reg.setString(
								field.getName(),
								sdf.format(rs.getDate(field.getName())));
							break;

					}
				}

				if (ok)
					regs.add(reg);
			}
		} catch (SQLException e) {
			throw new DataSourceException(
				"Problemas para preencher os dados da "
					+ " consulta: \n"
					+ cons,e);
		}

		return regs;
	}
		
	/**
	 * M�todo que usa um adaptador de geometrias para o Oracle
	 * @param dataSource A fonte de dados
	 * @param con A conex�o
	 * @return O adaptador
	 */
	public GeometryAdapter getGeometryAdapter() {
		return OraSpatialManager.getGeometryAdapter("SDO", "8.1.6", STRUCT.class,
				STRUCT.class, null, dbConnection);
	}

	private Collection createCollection() {
		return new Vector();
	}

	/**
	 * Retorna o conjunto de fields de um ResultSetMetaData
	 * @param rsmd Os metadados de uma consulta
	 * @return Iterador com objetos do tipo field
	 * @throws SQLException
	 */
	public Collection loadFields(ResultSetMetaData rsmd) throws SQLException {
		Collection fields = new Vector();
		for (int i = 1; i <= rsmd.getColumnCount(); i++) {
			Field field = new Field();
			field.setName(rsmd.getColumnName(i));
			try {
				field.setNumber(i);
			} catch (InvalidFieldNumberException e) {
				e.printStackTrace();
			}

			int fieldType = -1;
			int colType = rsmd.getColumnType(i);

			switch (colType) {

				case java.sql.Types.DOUBLE :
				case java.sql.Types.FLOAT :
				case java.sql.Types.DECIMAL :
				case java.sql.Types.NUMERIC :
					fieldType = igis.datasources.Types.REAL;
					break;
				case java.sql.Types.INTEGER :
				case java.sql.Types.SMALLINT :
					fieldType = igis.datasources.Types.INTEGER;
					break;
				case java.sql.Types.VARCHAR :
				case java.sql.Types.CHAR :
				case java.sql.Types.LONGVARCHAR :
					fieldType = igis.datasources.Types.CHARACTER;
					break;
				case java.sql.Types.DATE :
				case java.sql.Types.TIME :
				case java.sql.Types.TIMESTAMP :
					fieldType = igis.datasources.Types.DATE;
					break;
				case java.sql.Types.BINARY :
				case java.sql.Types.BLOB :
				case java.sql.Types.LONGVARBINARY :
				case java.sql.Types.VARBINARY :
					fieldType = igis.datasources.Types.BYTE;
					break;
				default :
					fieldType = igis.datasources.Types.SPATIAL;
					break;
			}

			field.setType(fieldType);

			fields.add(field);
		}

		return fields;
	}


	public String toString() {
		return "GeometricOriginDataSource";
	}

	public LogicTable getData() {
		return null;
	}

FileLine
migratool\datasources\geometric\GeometricOriginDataSource.java58
migratool\datasources\geometric\textFile\GeomTextFileOriginDataSource.java65
	public GeomTextFileOriginDataSource(BDdescription fromDescrition) {
		super(fromDescrition);
	}

	public Collection getDataTable() throws DataSourceException, igis.datasources.DataSourceException{
		ResultSet rs = null;
		String cons = "select * from " + originDescription.getTableName();
		try {
			rs = dbConnection.createStatement().executeQuery(cons);
		} catch (SQLException e) {
			throw new DataSourceException("Problemas na consulta: \n" + cons,e);
		}

		ResultSetMetaData rsmd = null;
		try {
			rsmd = rs.getMetaData();
		} catch (SQLException e) {
			throw new DataSourceException(
				"Problemas para obter os metadados da "
					+ " consulta: \n"
					+ cons,e);
		}

		Iterator fieldsIt = null;
		Collection fields = null;

		try {

			fields = loadFields(rsmd);
			fieldsIt = fields.iterator();
		} catch (SQLException e) {
			throw new DataSourceException(
				"Problemas para preencher os campos da "
					+ " consulta: \n"
					+ cons,
				e);
		}

		Unit result = new Unit();

		result.setName(cons);

		while (fieldsIt.hasNext()) {
			Field field = (Field) fieldsIt.next();
			result.defineField(field);
		}

		Collection regs = createCollection();

		try {
			while (rs.next()) {
				Registry reg = new Registry(result);

				fieldsIt = fields.iterator();

				boolean ok = true;

				while (fieldsIt.hasNext()) {
					Field field = (Field) fieldsIt.next();
					int type = field.getType();

					switch (type) {

						case igis.datasources.Types.SPATIAL :

							oracle.sdoapi.geom.Geometry geom = null;
							Object geomObj = null;
							try {

								geomObj = rs.getObject(field.getName());
								if (geomObj == null)
									break;
								geom = getGeometryAdapter().importGeometry(geomObj);
								
							} catch (Exception e) {