PlaceRepositoryImpl.java
package com.tradecloud.repository.impl;
import java.util.List;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import com.tradecloud.domain.place.*;
import com.tradecloud.repository.PlaceRepository;
import com.tradecloud.repository.base.impl.RepositoryBaseImpl;
@Repository
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
public class PlaceRepositoryImpl extends RepositoryBaseImpl<NamedPlace, Object> implements PlaceRepository {
private static Logger log = Logger.getLogger(PlaceRepositoryImpl.class);
public static final String BY_NAME_QUERY = "from PlaceOfLoading as d where d.code = :code";
@Override
public Depot findDepotByName(String portName, DepotType type) {
Criteria searchCriteria = getSessionCustom().createCriteria(Depot.class);
searchCriteria.add(Restrictions.eq("name", portName));
searchCriteria.add(Restrictions.eq("type", type));
return (Depot) searchCriteria.uniqueResult();
}
@Override
public Depot findDepotByCode(String code) {
Criteria searchCriteria = getSessionCustom().createCriteria(Depot.class);
searchCriteria.add(Restrictions.eq("code", code));
return (Depot) searchCriteria.uniqueResult();
}
@Override
public PlaceOfLoading findPlaceOfLoadingByName(String placeOfLoadingName) {
// Criteria searchCriteria = getSessionFlushMode().createCriteria(PlaceOfLoading.class);
// searchCriteria.createCriteria("depot").add(Restrictions.eq("code", portName));
// return (PlaceOfLoading)searchCriteria.uniqueResult();
return null;
}
@Override
public PlaceOfDischarge findPlaceOfDischargeByName(String placeOfDischargeName) {
/*
* Criteria searchCriteria = getSessionFlushMode().createCriteria(PlaceOfDischarge.class); searchCriteria.add(Restrictions.eq("code",
* placeOfDischargeName)); return (PlaceOfDischarge) searchCriteria.uniqueResult();
*/
return null;
}
@Override
public FinalDestination findFinalDestinationByName(String finalDestinationName) {
// TODO Auto-generated method stub
return null;
}
@Override
public PlaceOfLoading findPlaceOfLoadingByPortCode(String portCode) {
Criteria searchCriteria = getSessionCustom().createCriteria(PlaceOfLoading.class);
searchCriteria.add(Restrictions.eq("code", portCode));
List<PlaceOfLoading> list = searchCriteria.list();
if (list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public PlaceOfDischarge findPlaceOfDischargeByPortCode(String portCode) {
Criteria searchCriteria = getSessionCustom().createCriteria(PlaceOfDischarge.class);
searchCriteria.add(Restrictions.eq("code", portCode));
List<PlaceOfDischarge> list = searchCriteria.list();
if (list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public FinalDestination findFinalDestinationByPortCode(String code) {
Criteria searchCriteria = getSessionCustom().createCriteria(FinalDestination.class);
searchCriteria.add(Restrictions.eq("code", code));
return (FinalDestination) searchCriteria.uniqueResult();
}
}