FECRequestDealLinkForFECRequestSpecification.java
package com.tradecloud.repository.treasury;
import java.util.List;
import com.tradecloud.domain.model.FECDealLink;
import com.tradecloud.domain.model.FECRequestDealLink;
import com.tradecloud.domain.model.RequestSpecification;
import com.tradecloud.domain.model.fecrequest.FECRequest;
import com.tradecloud.repository.FECRequestDealLinkRepository;
/**
* @deprecated This class design means that entities have a reference to their
* Repository and needs to be refactored
*/
public class FECRequestDealLinkForFECRequestSpecification implements RequestSpecification<FECRequest> {
private FECRequest fecRequest;
private FECRequestDealLinkRepository fecRequestDealLinkRepository;
public FECRequestDealLinkForFECRequestSpecification(FECRequest fecRequest) {
this.fecRequest = fecRequest;
}
public boolean isSatisfiedBy(FECDealLink link) {
return link.getFec().getId() == fecRequest.getId();
}
@Override
public boolean isSatisfiedBy(FECRequestDealLink link) {
if (link != null && fecRequest != null) {
if (link.getFecRequest().getId() == fecRequest.getId()) {
return true;
}
}
return false;
}
/**
* TODO - had to add deprecated method call
* TreasuryConfig.requireFECAuthorization() here to meet the new interface
* changes No comments on that method as to why it's deprecated so I can't
* figure out what the intension of the change was.
*/
@Override
public List<FECRequestDealLink> findAllSatisfiedBy() {
return fecRequestDealLinkRepository.findAllByFECRequest(fecRequest);
}
public void setMatching(FECRequest fec) {
this.fecRequest = fec;
}
public FECRequestDealLinkForFECRequestSpecification() {
}
public void setFecRequestDealLinkRepository(FECRequestDealLinkRepository fecRequestDealLinkRepository) {
this.fecRequestDealLinkRepository = fecRequestDealLinkRepository;
}
}