package net.sf.minuteProject.configuration.bean; import java.util.ArrayList; import java.util.Enumeration; import java.util.Hashtable; import java.util.List; import net.sf.minuteProject.configuration.bean.enrichment.group.Group; import net.sf.minuteProject.configuration.bean.model.data.Database; import net.sf.minuteProject.configuration.bean.model.data.Function; import net.sf.minuteProject.configuration.bean.model.data.Table; import net.sf.minuteProject.utils.CommonUtils; import net.sf.minuteProject.utils.ModelUtils; public class FunctionPackage extends BusinessPackageAdapter { private FunctionModel functionModel; private List<Package> functions; public FunctionPackage(FunctionModel functionModel) { this.functionModel = functionModel; } @Override protected String getDefaultPackage() { return functionModel.getModel().getName(); } public FunctionModel getFunctionModel() { return functionModel; } public void setFunctionModel(FunctionModel functionModel) { this.functionModel = functionModel; } void setPackages(Model model, Database database) { Hashtable<String, Package> ht = new Hashtable<String, Package>(); for (Function function:database.getFunctions()) { if (ModelUtils.isToGenerate(functionModel, function)) { String packageName = CommonUtils.getFunctionPackageName(model, function); Package pack = (Package) ht.get(packageName); if (pack == null) { pack = new Package(); pack.setFunctionPackage(this); pack.setName(packageName); function.setPackage(pack); function.setDatabase (database); } pack.addFunction(function); ht.put(packageName, pack); } } Enumeration<Package> enumeration = ht.elements(); while (enumeration.hasMoreElements()) { getFunctionPackages().add(enumeration.nextElement()); } } public List<Package> getFunctionPackages() { if (functions==null) functions = new ArrayList<Package>(); return functions; } }