package org.gcube.application.perform.service.engine; import java.sql.ResultSet; import java.sql.SQLException; import org.gcube.application.perform.service.engine.model.DBField; import org.gcube.application.perform.service.engine.model.anagraphic.Batch; import org.gcube.application.perform.service.engine.model.anagraphic.Farm; import org.gcube.application.perform.service.engine.model.importer.ImportRoutineDescriptor; public class Queries { public static final Query GET_BATCH_BY_DESCRIPTIVE_KEY= new Query("Select * from batches where farmid=? AND type=? AND name= ?", new DBField[] {}); public static final Query INSERT_BATCH=new Query("INSERT INTO batches (id,uuid,farmid,type,name) VALUES (SELECT (max(id)+1 from batches),?,?,?,?) ON CONFLICT DO NOTHING", new DBField[] {}); public static final Query GET_FARM_BY_ID=new Query(String.format("SELECT f.farmid as $1%s, f.uuid as %2$s, c.companyid as %3$s, c.uuid as %4$s, a.associationid as %5$s, a.uuid as %6$s FROM " + "farms as f INNER JOIN companies as c ON f.companyid=c.companyid INNER JOIN associations as a ON c.associationid=a.associationid WHERE f.farmid = ?", DBField.Farm.FARM_ID,DBField.Farm.UUID,DBField.Farm.COMPANY_ID,DBField.Farm.COMPANY_UUID,DBField.Farm.ASSOCIATION_ID,DBField.Farm.ASSOCIATION_UUID), new DBField[] {}); public static final Query GET_BATCH_BY_ID=new Query("Select * from batches where id = ?", new DBField[] {}); // "acquire" // set lock = hostname where ID =? and LOCK is null // Acquired = updated rows == 1 public static final Query ORPHAN_IMPORTS=new Query("",new DBField[]{}); public static final Query ACQUIRE_PS=new Query("",new DBField[]{}); public static final Query GET_BY_ID=new Query("",new DBField[]{}); public static final Query INSERT_ROUTINE=new Query("",new DBField[]{}); public static final Query FILTER_IMPORTS=new Query("",new DBField[]{}); // LOADERS public 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; } public 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; } public static ImportRoutineDescriptor rowToDescriptor(ResultSet rs) { throw new RuntimeException("IMPLEMENT THIS SHIT"); } }