knu project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

110 lines
3.7 KiB

package kr.co.kihyun.beans.entity;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;
import javax.jdo.PersistenceManager;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.NullValue;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import kr.co.kihyun.beans.entity.ecross.IRemotePersistable;
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public abstract class AcceptanceLimitStrategy extends LongEntity implements IRemotePersistable {
/**
*
*/
private static final long serialVersionUID = -8462477835809004737L;
@Persistent(nullValue = NullValue.EXCEPTION)
private TotDocProcess process = TotDocProcess.REG;
@Persistent(mappedBy = "acceptanceLimitStrategy")
private TotDoc totDoc;
@Persistent
private Long limitCount;
public AcceptanceLimitStrategy() {
}
public abstract List<TotReport> getCompReports(PersistenceManager pm, Map<String, Object> filterMap);
public abstract TotDocProcess getProcess(PersistenceManager pm);
public abstract String getDescription(PersistenceManager pm);
public static AcceptanceLimitStrategy create(String strategyName, Long limitCount) throws IllegalArgumentException {
//44.적절하지 않은 예외처리(광범위예외클래스)_CWE-754 : Update by YOUNGJUN,CHO
/*
try {
return (AcceptanceLimitStrategy) Class.forName(
AcceptanceLimitStrategy.class.getPackage().getName() + "." + strategyName)
.getConstructor(Long.class).newInstance(limitCount);
} catch (Exception e) {
throw new IllegalArgumentException(strategyName+" does not exist.");
}
*/
AcceptanceLimitStrategy als = null;
try {
als = (AcceptanceLimitStrategy) Class.forName( AcceptanceLimitStrategy.class.getPackage().getName() + "." + strategyName )
.getConstructor(Long.class).newInstance(limitCount);
} catch (ClassNotFoundException classNotFoundException) {
classNotFoundException.printStackTrace();
} catch (NoSuchMethodException noSuchMethodException) {
noSuchMethodException.printStackTrace();
} catch (SecurityException securityException) {
securityException.printStackTrace();
} catch (InstantiationException instantiationException) {
instantiationException.printStackTrace();
} catch (IllegalAccessException illegalAccessException) {
illegalAccessException.printStackTrace();
} catch (IllegalArgumentException illegalArgumentException) {
illegalArgumentException.printStackTrace();
} catch (InvocationTargetException invocationTargetException) {
invocationTargetException.printStackTrace();
}
return als;
//================================================
}
public void setTotDoc(TotDoc totDoc) {
this.totDoc = totDoc;
}
public TotDoc getTotDoc() {
return totDoc;
}
protected AcceptanceLimitStrategy(Long limitCount) {
this.limitCount = limitCount;
}
public void setLimitCount(Long limitCount) {
this.limitCount = limitCount;
}
public Long getLimitCount() {
return limitCount;
}
public void setProcess(TotDocProcess process) {
this.process = process;
}
public TotDocProcess getProcess() {
return process;
}
public MDept getOwnerParty(PersistenceManager pm) {
return this.getTotDoc().getDept(pm).getRootDept(pm);
}
}