package net.sf.minuteProject.configuration.bean; import java.io.File; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import net.sf.minuteProject.configuration.bean.enrichment.group.EntityGroup; import net.sf.minuteProject.configuration.bean.enrichment.group.Group; import net.sf.minuteProject.configuration.bean.enrichment.security.SecurityColor; import net.sf.minuteProject.configuration.bean.model.data.Function; import net.sf.minuteProject.configuration.bean.model.data.View; import net.sf.minuteProject.configuration.bean.model.data.Table; import net.sf.minuteProject.configuration.bean.model.statement.Composite; import net.sf.minuteProject.configuration.bean.model.statement.Query; import net.sf.minuteProject.utils.TableUtils; public class Package extends PackageAdapter <Group, GeneratorBean>{ private List<Table> listOfTables; private List<View> listOfViews; private List<Table> listOfEntities; private String name; private BusinessPackage businessPackage; private FunctionPackage functionPackage; private SDDPackage sddPackage; private List<Function> listOfFunctions; private List<Query> listOfQueries; private List<Composite> listOfComposites; private SecurityColor securityColor; private String alias; public List<Table> getListOfEntities() { if (listOfEntities==null) { listOfEntities = new ArrayList<Table>(); for (Table table : getListOfTables()) { listOfEntities.add(table); } for (Table table : getListOfViews()) { listOfEntities.add(table); } } return listOfEntities; } public List<View> getListOfViews() { if (listOfViews==null) listOfViews = new ArrayList<View>(); return listOfViews; } public void addView(View view) { if (listOfViews==null) listOfViews = new ArrayList<View>(); view.setPackage(this); listOfViews.add(view); } public List<net.sf.minuteProject.configuration.bean.model.data.Table> getListOfTables() { if (listOfTables==null) listOfTables = new ArrayList<Table>(); return listOfTables; } public void addTable(net.sf.minuteProject.configuration.bean.model.data.Table table) { if (listOfTables==null) listOfTables = new ArrayList<Table>(); table.setPackage(this); listOfTables.add(table); } public void addStatement(Query query) { if (listOfQueries==null) listOfQueries = new ArrayList<Query>(); query.setPackage(this); listOfQueries.add(query); } public void addComposite(Composite composite) { if (listOfComposites==null) listOfComposites = new ArrayList<Composite>(); composite.setPackage(this); listOfComposites.add(composite); } public SDDPackage getSddPackage() { return sddPackage; } public void setSddPackage(SDDPackage sddPackage) { this.sddPackage = sddPackage; } public List<Query> getListOfQueries() { return listOfQueries; } public String getName() { if (!StringUtils.isEmpty(name)) return name; return getBusinessPackage().getBusinessModel().getModel().getAlias(); } public void setName(String name) { this.name = name; } public FunctionPackage getFunctionPackage() { return functionPackage; } public void setFunctionPackage(FunctionPackage functionPackage) { this.functionPackage = functionPackage; } public BusinessPackage getBusinessPackage() { return businessPackage; } public void setBusinessPackage(BusinessPackage businessPackage) { this.businessPackage = businessPackage; } public String getTechnicalPackage(Template template) { StringBuffer sb = new StringBuffer(); // if (template.getAddModelDirName()!=null && template.getAddModelDirName().equals("false")) if (template.getAddTechnicalDirName()!=null && template.getAddTechnicalDirName().equals("false")) { // return getName(); sb.append(template.getPackageRoot()); } else // StringBuffer sb = new StringBuffer(getBusinessPackage().getBusinessModel().getModel().getTechnicalPackage(template)); sb.append(getTechPackage(template)); if (template.getAddBusinessPackageDirName()!=null && template.getAddBusinessPackageDirName().equals("false")) {} else { String name = getName(); if (name!=null && !name.equals("")) sb.append("."+name); } return sb.toString(); } private String getTechPackage(Template template) { if (getBusinessPackage()!=null) return getBusinessPackage().getBusinessModel().getModel().getTechnicalPackage(template); if (getFunctionPackage()!=null) return getFunctionPackage().getFunctionModel().getModel().getTechnicalPackage(template); if (getSddPackage()!=null) return getSddPackage().getStatementModel().getModel().getTechnicalPackage(template); return ""; } public SecurityColor getSecurityColor() { return securityColor; } public void setSecurityColor(SecurityColor securityColor) { this.securityColor = securityColor; } public String getAlias() { if (alias==null || alias.equals("")) alias = getName(); return alias; } public void setAlias(String alias) { this.alias = alias; } public void addFunction(Function function) { if (listOfFunctions==null) listOfFunctions = new ArrayList<Function>(); function.setPackage(this); listOfFunctions.add(function); } @Override protected List<GeneratorBean> convertGroupToElement(Group t) { List<GeneratorBean> tables = new ArrayList<GeneratorBean>(); for (String element : t.getList()) { Table table = TableUtils.getTable(getBusinessPackage().getBusinessModel().getModel().getDataModel().getDatabase(), element); if (table!=null) tables.add(table); } return tables; } @Override public List<GeneratorBean> getElements() { List<GeneratorBean> list = new ArrayList<GeneratorBean>(); for (Table table : getListOfEntities()) { list.add(table); } return list; } public EntityGroup getDefaultGroup () { EntityGroup entityGroup = new EntityGroup(); for (Table table : getListOfEntities()) { entityGroup.getList().add(table.getName()); } return entityGroup; } // public String getDefaultPackage() { // if (defaultPackage==null) // return businessModel.getModel().getName(); // return defaultPackage; // } }