1 package org.kuali.ole.batch.lookup;
2
3 import org.apache.commons.lang.StringUtils;
4 import org.kuali.ole.OLEConstants;
5 import org.kuali.ole.batch.bo.OLEBatchProcessProfileBo;
6 import org.kuali.rice.krad.lookup.LookupableImpl;
7 import org.kuali.rice.krad.uif.UifConstants;
8 import org.kuali.rice.krad.uif.UifParameters;
9 import org.kuali.rice.krad.uif.view.LookupView;
10 import org.kuali.rice.krad.util.KRADConstants;
11 import org.kuali.rice.krad.util.KRADUtils;
12 import org.kuali.rice.krad.util.UrlFactory;
13 import org.kuali.rice.krad.web.form.LookupForm;
14
15 import java.util.List;
16 import java.util.Map;
17 import java.util.Properties;
18
19
20
21
22
23
24
25
26 public class OLEBatchProcessProfileLookupableImpl extends LookupableImpl {
27
28 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(OLEBatchProcessProfileLookupableImpl.class);
29 @Override
30 protected String getActionUrlHref(LookupForm lookupForm, Object dataObject, String methodToCall,
31 List<String> pkNames) {
32 LOG.debug("Inside getActionUrlHref()");
33 LookupView lookupView = (LookupView) lookupForm.getView();
34
35 Properties props = new Properties();
36 props.put(KRADConstants.DISPATCH_REQUEST_PARAMETER, methodToCall);
37 Map<String, String> primaryKeyValues = KRADUtils.getPropertyKeyValuesFromDataObject(pkNames, dataObject);
38 for (String primaryKey : primaryKeyValues.keySet()) {
39 String primaryKeyValue = primaryKeyValues.get(primaryKey);
40
41 props.put(primaryKey, primaryKeyValue);
42 }
43
44 if (StringUtils.isNotBlank(lookupForm.getReturnLocation())) {
45 props.put(KRADConstants.RETURN_LOCATION_PARAMETER, lookupForm.getReturnLocation());
46 }
47
48 props.put(UifParameters.DATA_OBJECT_CLASS_NAME, OLEBatchProcessProfileBo.class.getName());
49 props.put(UifParameters.VIEW_TYPE_NAME, UifConstants.ViewType.MAINTENANCE.name());
50
51 String maintenanceMapping = OLEConstants.OLEBatchProcess.BATCH_PROCESS_PROFILE_CONTROLLER;
52
53 return UrlFactory.parameterizeUrl(maintenanceMapping, props);
54 }
55 }