107 lines
3.3 KiB
Java
107 lines
3.3 KiB
Java
package org.gcube.application.perform.service.engine;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
|
|
import org.gcube.application.perform.service.engine.model.BeanNotFound;
|
|
import org.gcube.application.perform.service.engine.model.DBField;
|
|
import org.gcube.application.perform.service.engine.model.DBQueryDescriptor;
|
|
import org.gcube.application.perform.service.engine.model.ISQueryDescriptor;
|
|
import org.gcube.application.perform.service.engine.model.InternalException;
|
|
import org.gcube.application.perform.service.engine.model.anagraphic.Batch;
|
|
import org.gcube.application.perform.service.engine.model.anagraphic.Farm;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
@Slf4j
|
|
public class AnagraphicManagerImpl implements AnagraphicManager {
|
|
|
|
|
|
private static final String INSERT_BATCH="";
|
|
private static final String GET_BATCH="";
|
|
private static final String INSERT_FARM="";
|
|
private static final String GET_FARM="";
|
|
|
|
|
|
private ISQueryDescriptor getISQueryDescriptor() {
|
|
throw new RuntimeException("Implment this");
|
|
}
|
|
|
|
|
|
@Override
|
|
public Batch getBatch(DBQueryDescriptor desc) throws BeanNotFound,SQLException{
|
|
DataBaseManager db=DataBaseManager.get(getISQueryDescriptor());
|
|
|
|
|
|
Connection conn=db.getConnection();
|
|
PreparedStatement psInsert=conn.prepareStatement(INSERT_BATCH);
|
|
// TODO set values
|
|
boolean inserted=psInsert.executeUpdate()==1;
|
|
if(inserted)
|
|
conn.commit();
|
|
|
|
PreparedStatement psGet=conn.prepareStatement(GET_BATCH);
|
|
// TODO set values
|
|
ResultSet rs=psGet.executeQuery();
|
|
if(!rs.next())
|
|
throw new BeanNotFound("Batch not found. Condition was "+desc);
|
|
|
|
Batch toReturn=rowToBatch(rs);
|
|
if(inserted)
|
|
log.trace("Inserted Batch {} ",toReturn);
|
|
|
|
return toReturn;
|
|
|
|
}
|
|
|
|
@Override
|
|
public Farm getFarm(DBQueryDescriptor desc) throws BeanNotFound,SQLException{
|
|
DataBaseManager db=DataBaseManager.get(getISQueryDescriptor());
|
|
|
|
|
|
Connection conn=db.getConnection();
|
|
PreparedStatement psInsert=conn.prepareStatement(INSERT_FARM);
|
|
// TODO set values
|
|
boolean inserted=psInsert.executeUpdate()==1;
|
|
if(inserted)
|
|
conn.commit();
|
|
|
|
PreparedStatement psGet=conn.prepareStatement(GET_FARM);
|
|
// TODO set values
|
|
ResultSet rs=psGet.executeQuery();
|
|
if(!rs.next())
|
|
throw new BeanNotFound("Farm not found. Condition was "+desc);
|
|
|
|
Farm toReturn=rowToFarm(rs);
|
|
if(inserted)
|
|
log.trace("Inserted Batch {} ",toReturn);
|
|
|
|
return toReturn;
|
|
}
|
|
|
|
|
|
|
|
private static Batch rowToBatch(ResultSet rs) throws SQLException {
|
|
Batch toReturn=new Batch();
|
|
toReturn.setFarmId(rs.getLong(DBField.Batch.FARM_ID));
|
|
toReturn.setId(rs.getLong(DBField.Batch.BATCH_ID));
|
|
toReturn.setName(rs.getString(DBField.Batch.BATCH_NAME));
|
|
toReturn.setType(rs.getString(DBField.Batch.BATCH_TYPE));
|
|
return toReturn;
|
|
}
|
|
|
|
|
|
private static Farm rowToFarm(ResultSet rs) throws SQLException {
|
|
Farm toReturn=new Farm();
|
|
toReturn.setAssociationId(rs.getLong(DBField.Farm.ASSOCIATION_ID));
|
|
toReturn.setAssociationUUID(rs.getString(DBField.Farm.ASSOCIATION_UUID));
|
|
toReturn.setCompanyId(rs.getLong(DBField.Farm.COMPANY_ID));
|
|
toReturn.setCompanyUUID(rs.getString(DBField.Farm.COMPANY_UUID));
|
|
toReturn.setId(rs.getLong(DBField.Farm.FARM_ID));
|
|
toReturn.setUUID(rs.getString(DBField.Farm.UUID));
|
|
return toReturn;
|
|
}
|
|
}
|