1 21 package com.jaspersoft.jasperserver.war.action; 22 23 import org.springframework.webflow.Event; 24 import org.springframework.webflow.RequestContext; 25 import org.springframework.webflow.action.FormAction; 26 27 import com.jaspersoft.jasperserver.api.metadata.common.domain.Query; 28 import com.jaspersoft.jasperserver.api.metadata.common.domain.ResourceLookup; 29 import com.jaspersoft.jasperserver.api.metadata.common.service.RepositoryService; 30 import com.jaspersoft.jasperserver.api.metadata.view.domain.FilterCriteria; 31 import com.jaspersoft.jasperserver.war.common.JasperServerConst; 32 import com.jaspersoft.jasperserver.war.dto.BaseDTO; 33 import com.jaspersoft.jasperserver.war.dto.QueryWrapper; 34 import com.jaspersoft.jasperserver.war.dto.ResourceReferenceDTO; 35 36 40 public class QueryReferenceAction extends FormAction { 41 42 private RepositoryService repository; 43 private String queryLookupsRequestAttrName; 44 private String queryWrapperRequestAttrName; 45 46 public Event prepareQuerySource(RequestContext context) { 47 ResourceLookup[] queryLookups = getRepository().findResource(null, FilterCriteria.createFilter(Query.class)); 48 context.getRequestScope().put(getQueryLookupsRequestAttrName(), queryLookups); 49 return success(); 50 } 51 52 public Event queryReference(RequestContext context) { 53 return success(); 54 } 55 56 public Event queryLocal(RequestContext context) throws Exception { 57 ResourceReferenceDTO referenceDTO = referenceDTO(context); 58 Query query = (Query) referenceDTO.getLocalResource(); 59 if (query == null) { 60 query = (Query) repository.newResource(null, Query.class); 61 referenceDTO.setLocalResource(query); 62 } 63 64 QueryWrapper queryWrapper = new QueryWrapper(query); 65 byte mode = referenceDTO.getLocalResource().isNew() ? BaseDTO.MODE_SUB_FLOW_NEW : BaseDTO.MODE_SUB_FLOW_EDIT; 66 queryWrapper.setMode(mode); 67 context.getRequestScope().put(getQueryWrapperRequestAttrName(), queryWrapper); 68 return success(); 69 } 70 71 public Event queryNone(RequestContext context) { 72 return success(); 73 } 74 75 protected ResourceReferenceDTO referenceDTO(RequestContext context) throws Exception { 76 return (ResourceReferenceDTO) getFormObject(context); 77 } 78 79 82 public String getQueryLookupsRequestAttrName() { 83 return queryLookupsRequestAttrName; 84 } 85 86 89 public void setQueryLookupsRequestAttrName( 90 String referenceURIListRequestAttrName) { 91 this.queryLookupsRequestAttrName = referenceURIListRequestAttrName; 92 } 93 94 97 public RepositoryService getRepository() { 98 return repository; 99 } 100 101 104 public void setRepository(RepositoryService repository) { 105 this.repository = repository; 106 } 107 108 111 public String getQueryWrapperRequestAttrName() { 112 return queryWrapperRequestAttrName; 113 } 114 115 118 public void setQueryWrapperRequestAttrName( 119 String queryWrapperRequestAttrName) { 120 this.queryWrapperRequestAttrName = queryWrapperRequestAttrName; 121 } 122 } 123 | Popular Tags |