/meta/src/main/resources/vm-scripts/java/entity-list.vtl
Unknown | 369 lines | 310 code | 59 blank | 0 comment | 0 complexity | ecf671d0113e2e1f4dd388d9224151cb MD5 | raw file
Possible License(s): Apache-2.0
- ##
- #set($entityElement = $generationHelper.getEntityElement())
- #set($entityName = $generationHelper.getEntityName())
- ##
- #set($entityListComponentName = $generationHelper.getEntityListComponentName())
- #set($entityListClassName = $generationHelper.getEntityListClassName())
- #set($baseListClassName = $generationHelper.getBaseListClassName())
- ##
- package $generationHelper.getPackageName();
- ##
- #foreach($entityListClassAnnotation in $generationHelper.getEntityListClassAnnotations())
- $entityListClassAnnotation
- #end
- public class $entityListClassName extends ${baseListClassName}<$entityName> {
- ##
- private static final long serialVersionUID = 1L;
- ##
- ##
- #set($entityClassName = $generationHelper.getEntityClassName())
- #set($entityVarName = $textUtils.varName($entityClassName))
- #set($entityMethodName = $textUtils.methodName($entityClassName))
- #set($hasEntityHome = $generationHelper.hasEntityHome())
- #set($entityHomeName = $generationHelper.getEntityHomeName())
- #set($entityHomeClassName = $generationHelper.getEntityHomeClassName())
- #set($entityHomeComponentName = $generationHelper.getEntityHomeComponentName())
- ##
- #set($hasViewPage = $generationHelper.hasViewPage())
- #set($hasEditPage = $generationHelper.hasEditPage())
- ##
- #set($searchClassName = $generationHelper.getSearchClassName())
- #set($searchVarName = $generationHelper.getSearchVarName())
- #set($searchMethodName = $generationHelper.getSearchMethodName())
- ##
- #set($entityAlias = $generationHelper.getEntityAlias())
- #set($ejbql = $generationHelper.getEjbqlSelect())
- #set($baseEjbql = $generationHelper.getEjbqlSelectBase())
- #set($restrictions = $generationHelper.getRestrictions())
- #set($joins = $generationHelper.getJoins())
- ##
- // private static final String EJBQL = "$ejbql";
- // private static final String BASE_EJBQL = "$baseEjbql";
- ##
- ## private static final String[] RESTRICTIONS = {
- ###foreach($restriction in $restrictions)
- ## "$restriction",
- ###end
- ## };
- protected void clearAll() {
- super.clearAll();
- resetSearch();
- }
-
- protected String getHqlKeyFieldPath() {
- return "${entityAlias}.id";
- }
-
- public class ${searchClassName} implements java.io.Serializable {
- private static final long serialVersionUID = 1L;
- ##
- #foreach($field in $generationHelper.getSearchClassFields())
- ##
- ${field.fieldClassName} ${field.fieldVarName};
- public ${field.fieldClassName} get${field.fieldMethodName}() {
- #if(${field.createIfNull})
- if (this.${field.fieldVarName} == null) this.${field.fieldVarName} = new ${field.fieldClassName}();
- #end
- return this.${field.fieldVarName};
- }
- public void set${field.fieldMethodName}(${field.fieldClassName} ${field.fieldVarName}) {
- this.${field.fieldVarName} = ${field.fieldVarName};
- }
- ##
- #end
-
- }
-
- protected ${searchClassName} ${searchVarName} = new ${searchClassName}();
- public ${searchClassName} get${searchMethodName}() {
- return ${searchVarName};
- }
- ##
- ## protected boolean searchPanelOpened = false;
- ##
- ## public boolean isSearchPanelOpened() {
- ## System.out.println("YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY " + searchPanelOpened);
- ## return searchPanelOpened;
- ## }
- ##
- ## public void setSearchPanelOpened(boolean searchPanelOpened) {
- ## System.out.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ " + searchPanelOpened);
- ## this.searchPanelOpened = searchPanelOpened;
- ## }
- protected void initQueryBuilder() {
- super.initQueryBuilder();
-
- getQueryBuilder().setQueryClass(${entityListClassName}.class);
- getQueryBuilder().setQueryInstance(this);
- ##
- #foreach($join in $joins)
- getQueryBuilder().getJoins().add("$join");
- #end
- setRestrictionExpressionStrings(java.util.Arrays.asList(new String[] {
- #foreach($restriction in $restrictions)
- "$restriction",
- #end
- }));
- ##
- ###set($accessCriteria = "null")
- ###set($accessCriteria = $generationHelper.getAccessCriteria())
- ###if($accessCriteria != "null")
- ##
- ## getCriteria().getWhere().add("$accessCriteria.expression");
- ## java.util.Map<String, String> modelParams = new java.util.LinkedHashMap<String, String>();
- ###foreach($accessCriteriaParam in $accessCriteria.params)
- ## modelParams.put("${accessCriteriaParam.name}", "${accessCriteriaParam.expression}");
- ###end
- ## for (java.util.Map.Entry<String, String> modelParam : modelParams.entrySet()) {
- ## getCriteria().getParams().put(modelParam.getKey(), org.jboss.seam.core.Expressions.instance().createValueExpression(modelParam.getValue()).getValue());
- ## }
- ###end
- }
- ##
- #if($generationHelper.hasHqlBuildExtension())
-
- protected org.comsoft.system.hql.HqlBuildExtension getQueryBuildExtension() {
- return (org.comsoft.system.hql.HqlBuildExtension) org.jboss.seam.Component.getInstance("${generationHelper.getHqlBuildExtension()}", true);
- }
- #end
-
- public ${entityListClassName}() {
- ## setRestrictionExpressionStrings(java.util.Arrays.asList(RESTRICTIONS));
- setMaxResults(25);
- }
- @Override
- public String getViewId() {
- return "${generationHelper.getViewId()}";
- ## return "/${generationHelper.getSeamUtils().getEntityListPageViewName($generationHelper.getEntityElement())}.xhtml";
- }
- ##
- @Override
- public Class getEntityClass() {
- return ${entityClassName}.class;
- }
- private String[] supportedActions;
-
- public String[] getSupportedActions() {
- if (supportedActions == null) {
- supportedActions = new String[]{"EDIT", "VIEW", "SAVE", "REMOVE"};
- #if($hasEntityHome)
- org.comsoft.system.EntityHomeController<${entityClassName}, org.jboss.seam.framework.EntityHome<${entityClassName}>> controller = getEntityHomeController(org.jboss.seam.ScopeType.STATELESS);
- if (controller != null) {
- for (org.comsoft.system.Operation operation : controller.getOperations(null)) {
- supportedActions = (String[]) org.apache.commons.lang.ArrayUtils.add(supportedActions, operation.getCode());
- }
- }
- #end
- }
- return supportedActions;
- }
- ##
- #* ----------------------------------------------
- max - getEntityHomeController getOperations doOperation перенес в SelectableEntityQuery
- #if($hasEntityHome)
-
- public org.comsoft.system.EntityHomeController<${entityClassName}, org.jboss.seam.framework.EntityHome<${entityClassName}>> getEntityHomeController(org.jboss.seam.ScopeType scope) {
- #if($generationHelper.hasController())
- ##
- ${entityHomeClassName} ${entityHomeComponentName} = (${entityHomeClassName}) org.jboss.seam.Component.getInstance("${entityHomeComponentName}", scope, true);
- if (${entityHomeComponentName} != null) return ${entityHomeComponentName}.getController();
- ##
- #end
- return null;
- }
-
- public org.comsoft.system.Operation[] getOperations() {
- java.util.Set<org.comsoft.system.Operation> operations = new java.util.LinkedHashSet<org.comsoft.system.Operation>();
-
- org.comsoft.system.EntityHomeController<${entityClassName}, org.jboss.seam.framework.EntityHome<${entityClassName}>> controller = getEntityHomeController(org.jboss.seam.ScopeType.STATELESS);
- if (controller != null) {
- org.comsoft.system.Operation[] controllerOperations = controller.getOperations(null);
- for (org.comsoft.system.Operation operation : controllerOperations) {
- if (!operation.isInstanceOperation()) {
- operations.add(operation);
- }
- }
-
- // return controller.getExternalOperations();
- } else {
- return new org.comsoft.system.Operation[] {};
- }
- return operations.toArray(new org.comsoft.system.Operation[operations.size()]);
- }
-
- public String doOperation(org.comsoft.system.Operation operation, Object param) throws Exception {
- org.comsoft.system.EntityHomeController<${entityClassName}, org.jboss.seam.framework.EntityHome<${entityClassName}>> controller = getEntityHomeController(org.jboss.seam.ScopeType.STATELESS);
- if (controller != null) {
- String result = controller.doOperation(operation, param);
- refresh();
- return result;
- }
- return null;
- }
- #end
- ----------------------------------------------------
- *#
- ##
- #if($hasEditPage)
- #set($editCallbackClassName = "${entityClassName}EditCallback")
- private class ${editCallbackClassName} extends org.comsoft.system.NavigationCallback<${entityClassName}> {
- public ${editCallbackClassName}(Object callbackMethodObject, java.lang.reflect.Method callbackMethod) {
- super(callbackMethodObject, callbackMethod);
- }
- public void doRefresh() {
- refresh();
- }
-
- public void afterCreate(${entityClassName} entity) {
- refresh();
- }
- public void afterDelete(${entityClassName} entity) {
- refresh();
- }
- }
- public String edit${entityMethodName}(Object ${entityVarName}Id) throws org.comsoft.system.controllers.OperationInvokingException {
- ${entityHomeName} ${entityHomeComponentName} = (${entityHomeName}) org.comsoft.system.ComponentUtils.instance().getInstance("${entityHomeComponentName}");
- ${entityHomeComponentName}.set${entityMethodName}Id(${entityVarName}Id);
- return ${entityHomeComponentName}.beginEdit(new ${editCallbackClassName}(this, null));
- }
- #end
- ##
- #if($hasViewPage)
-
- public String view${entityMethodName}(Object ${entityVarName}Id) throws org.comsoft.system.controllers.OperationInvokingException {
- ${entityHomeName} ${entityHomeComponentName} = (${entityHomeName}) org.comsoft.system.ComponentUtils.instance().getInstance("${entityHomeComponentName}");
- ${entityHomeComponentName}.set${entityMethodName}Id(${entityVarName}Id);
-
- return ${entityHomeComponentName}.beginView(new org.comsoft.system.NavigationCallback(this, null));
- }
- #end
- ##
- @org.jboss.seam.annotations.Transactional
- public String remove(Object objId)
- {
- Object obj = getEntityManager().find(${entityClassName}.class, objId);
- if (obj != null) {
- getEntityManager().joinTransaction();
- getEntityManager().remove(obj);
- getEntityManager().flush();
-
- debug("deleted entity #0 #1", ${entityClassName}.class.getName(), objId);
-
- refresh();
- }
- return getViewId();
- }
- ##
- #foreach($field in $modelUtils.getObjectFields($entityElement))
- ##
- #set($fieldGenerationParams = $generationHelper.getEntityHelper().getEntityFieldGenerationParams($field))
- ##
- #if($fieldGenerationParams.manyToOne || $fieldGenerationParams.oneToOne)
- #set($fieldVarName = ${fieldGenerationParams.fieldVarName})
- #set($fieldMethodName = ${fieldGenerationParams.fieldMethodName})
- #set($fieldClassName = ${fieldGenerationParams.fieldClassName})
- #set($refEntityListName = $generationHelper.getSeamUtils().getEntityListName($field.type))
- #set($refEntityListComponentName = $textUtils.beanName($refEntityListName))
- #set($selectedMethodName = "${fieldVarName}Selected")
- #set($selectionCriteria = "null")
- #set($selectionCriteria = $generationHelper.getFieldSelectionCriteria($fieldGenerationParams))
- ##
- #if($selectionCriteria != "null")
- private void prepareCriteriaFor${fieldMethodName}Selection(java.util.Collection<String> where, java.util.Map<String, Object> params) {
- where.add("$selectionCriteria.expression");
- java.util.Map<String, String> modelParams = new java.util.LinkedHashMap<String, String>();
- #foreach($selectionCriteriaParam in $selectionCriteria.params)
- modelParams.put("${selectionCriteriaParam.name}", "${selectionCriteriaParam.expression}");
- #end
- for (java.util.Map.Entry<String, String> modelParam : modelParams.entrySet()) {
- params.put(modelParam.getKey(), org.jboss.seam.core.Expressions.instance().createValueExpression(modelParam.getValue()).getValue());
- }
- }
- #end
- @SuppressWarnings("unchecked")
- ## @org.jboss.seam.annotations.Begin(nested = true, flushMode = org.jboss.seam.annotations.FlushModeType.MANUAL)
- public String select${fieldMethodName}() throws SecurityException, NoSuchMethodException {
- org.comsoft.system.SelectableEntityQuery selectable = (org.comsoft.system.SelectableEntityQuery) org.comsoft.system.ComponentUtils.instance().getInstance("${refEntityListComponentName}");
- #if($selectionCriteria != "null")
- java.util.Collection<String> where = new java.util.LinkedHashSet<String>();
- java.util.Map<String, Object> params = new java.util.LinkedHashMap<String, Object>();
- prepareCriteriaFor${fieldMethodName}Selection(where, params);
-
- return selectable.beginSelection(new org.comsoft.system.NavigationCallback(this, this.getClass().getMethod("$selectedMethodName", Object.class), true), where, params);
- #else
- return selectable.beginSelection(new org.comsoft.system.NavigationCallback(this, this.getClass().getMethod("$selectedMethodName", Object.class), true));
- #end
- }
- @SuppressWarnings("unchecked")
- public java.util.List autoComplete${fieldMethodName}(Object afilter) throws SecurityException, NoSuchMethodException {
- log.info("autocomplete ${fieldMethodName}" );
- org.comsoft.system.SelectableEntityQuery selectable = (org.comsoft.system.SelectableEntityQuery) org.jboss.seam.Component.getInstance("${refEntityListComponentName}Stateless", true);
- selectable.setElComponentName("${refEntityListComponentName}Stateless");
- org.jboss.seam.contexts.Contexts.getEventContext().set("${refEntityListComponentName}Stateless", selectable);
- #if($selectionCriteria != "null")
- java.util.Collection<String> where = new java.util.LinkedHashSet<String>();
- java.util.Map<String, Object> params = new java.util.LinkedHashMap<String, Object>();
- prepareCriteriaFor${fieldMethodName}Selection(where, params);
- return selectable.autoComplete(afilter, where, params);
- #else
- return selectable.autoComplete(afilter);
- #end
- }
- public void clear${fieldMethodName}() throws SecurityException, NoSuchMethodException {
- log.info("clear ${fieldMethodName}" );
- ${searchVarName}.set${fieldMethodName}(null);
- }
- public void selected${fieldMethodName}() throws SecurityException, NoSuchMethodException {
- log.info("selected ${fieldMethodName}" );
- }
- public void ${selectedMethodName}(Object ${fieldVarName}Id) {
- ${fieldClassName} ${fieldVarName} = getEntityManager().find(${fieldClassName}.class, ${fieldVarName}Id);
- ${searchVarName}.set${fieldMethodName}(${fieldVarName});
- }
- #end
- #end
- public void resetSearch() {
- ${searchVarName} = new ${searchClassName}();
- refresh();
- }
- }