/** * Gets an inquirable impl from the impl service name parameter. Then calls lookup service to retrieve the record from the * key/value parameters. Finally gets a list of Rows from the inquirable */ public ActionForward start(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { InquiryForm inquiryForm = (InquiryForm) form; if (inquiryForm.getBusinessObjectClassName() == null) { LOG.error("Business object name not given."); throw new RuntimeException("Business object name not given."); } Class boClass = Class.forName(inquiryForm.getBusinessObjectClassName()); ModuleService responsibleModuleService = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService(boClass); if(responsibleModuleService!=null && responsibleModuleService.isExternalizable(boClass)){ String redirectUrl = responsibleModuleService.getExternalizableBusinessObjectInquiryUrl(boClass, (Map<String, String[]>) request.getParameterMap()); ActionForward redirectingActionForward = new RedirectingActionForward(redirectUrl); redirectingActionForward.setModule("/"); return redirectingActionForward; } return continueWithInquiry(mapping, form, request, response); }
ModuleService moduleService = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService( businessObjectClass); if (moduleService != null && moduleService.isExternalizable(businessObjectClass)) { obj = moduleService.createNewObjectFromExternalizableClass(businessObjectClass); } else { obj = (BusinessObject) businessObjectClass.newInstance();
/** * @see org.kuali.rice.krad.service.PersistenceService#retrieveNonKeyFields(java.lang.Object) */ @Override public void retrieveNonKeyFields(Object persistableObject) { if (persistableObject != null && ExternalizableBusinessObjectUtils.isExternalizableBusinessObject(persistableObject.getClass())) { // // special handling for EBOs // Map<String, ?> criteria = KRADServiceLocatorWeb.getLegacyDataAdapter().getPrimaryKeyFieldValues(persistableObject); if (!CollectionUtils.isEmpty(criteria)) { ModuleService moduleService = getKualiModuleService().getResponsibleModuleService(persistableObject.getClass()); if (moduleService != null) { Class<? extends ExternalizableBusinessObject> clazz = ExternalizableBusinessObjectUtils.determineExternalizableBusinessObjectSubInterface(persistableObject.getClass()); ExternalizableBusinessObject freshEbo = moduleService.getExternalizableBusinessObject(clazz, (Map<String, Object>)criteria); if (freshEbo != null) { BeanUtils.copyProperties(freshEbo, persistableObject); } } } } else { getService(persistableObject.getClass()).retrieveNonKeyFields(persistableObject); } }
/** * @see org.kuali.rice.krad.service.KeyValuesService#findAll(java.lang.Class) */ @Override public <T> Collection<T> findAll(Class<T> clazz) { ModuleService responsibleModuleService = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService(clazz); if(responsibleModuleService!=null && responsibleModuleService.isExternalizable(clazz)){ return (Collection<T>) responsibleModuleService.getExternalizableBusinessObjectsList((Class<ExternalizableBusinessObject>) clazz, Collections.<String, Object>emptyMap()); } if (containsActiveIndicator(clazz)) { return KRADServiceLocatorWeb.getLegacyDataAdapter().findMatching(clazz, Collections.singletonMap(CoreConstants.CommonElements.ACTIVE, true)); } if (LOG.isDebugEnabled()) { LOG.debug("Active indicator not found for class " + clazz.getName()); } return KRADServiceLocatorWeb.getLegacyDataAdapter().findAll(clazz); }
@Override public List<String> listPrimaryKeyFieldNames(Class<?> clazz) { if (persistenceStructureService.isPersistable(clazz)) { return persistenceStructureService.listPrimaryKeyFieldNames(clazz); } ModuleService responsibleModuleService = getKualiModuleService().getResponsibleModuleService(clazz); if (responsibleModuleService != null && responsibleModuleService.isExternalizable(clazz)) { return responsibleModuleService.listPrimaryKeyFieldNames(clazz); } // check the Data Dictionary for PK's of non PBO/EBO List<String> pks = dataDictionaryService.getDataDictionary().getDataObjectEntry(clazz.getName()) .getPrimaryKeys(); if (pks != null && !pks.isEmpty()) { return pks; } return new ArrayList<String>(); }
protected String getPersonInquiryUrlLink(Person user, String linkBody) { StringBuffer urlBuffer = new StringBuffer(); if(user != null && StringUtils.isNotEmpty(linkBody) ) { ModuleService moduleService = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService(Person.class); Map<String, String[]> parameters = new HashMap<String, String[]>(); parameters.put(KimConstants.AttributeConstants.PRINCIPAL_ID, new String[] { user.getPrincipalId() }); String inquiryUrl = moduleService.getExternalizableBusinessObjectInquiryUrl(Person.class, parameters); if(!StringUtils.equals(KimConstants.EntityTypes.SYSTEM, user.getEntityTypeCode())){ urlBuffer.append("<a href='"); urlBuffer.append(inquiryUrl); urlBuffer.append("' "); urlBuffer.append("target='_blank'"); urlBuffer.append("title='Person Inquiry'>"); urlBuffer.append(linkBody); urlBuffer.append("</a>"); } else{ urlBuffer.append(linkBody); } } return urlBuffer.toString(); }
getDataObjectClass()); if (moduleService != null && moduleService.isExternalizable(getDataObjectClass())) { BusinessObject bo = moduleService.getExternalizableBusinessObject( getBusinessObjectClass(), fieldValues); if (bo != null) {
moduleService = getKualiModuleService().getResponsibleModuleService(this.getClass()); if(moduleService != null && moduleService.isLocked()) { String principalId = GlobalVariables.getUserSession().getPrincipalId(); String namespaceCode = KRADConstants.KUALI_RICE_SYSTEM_NAMESPACE; if(!KimApiServiceLocator.getPermissionService().isAuthorized(principalId, namespaceCode, permissionName, qualification)) { ParameterService parameterSerivce = CoreFrameworkServiceLocator.getParameterService(); String messageParamNamespaceCode = moduleService.getModuleConfiguration().getNamespaceCode(); String messageParamComponentCode = KRADConstants.DetailTypes.ALL_DETAIL_TYPE; String messageParamName = KRADConstants.SystemGroupParameterNames.OLTP_LOCKOUT_MESSAGE_PARM;
if(responsibleModuleService!=null && responsibleModuleService.isExternalizable(boClass)){ Map<String, String> parameterMap = new HashMap<String, String>(); Enumeration<Object> e = parameters.keys(); parameterMap.put(paramName, parameters.getProperty(paramName)); return new ActionForward(responsibleModuleService.getExternalizableBusinessObjectLookupUrl(boClass, parameterMap), true);
if (moduleService.isExternalizableBusinessObjectLookupable(lookupClass)) { baseLookupUrl = moduleService.getExternalizableBusinessObjectLookupUrl(lookupClass, Collections.<String,String>emptyMap());
private CriteriaLookupDao getDao(Class clazz) { ModuleService moduleService = getKualiModuleService().getResponsibleModuleService(clazz); if (moduleService != null) { ModuleConfiguration moduleConfig = moduleService.getModuleConfiguration(); String dataSourceName = ""; if (moduleConfig != null) { dataSourceName = moduleConfig.getDataSourceName(); } if (StringUtils.isNotEmpty(dataSourceName)) { if (lookupDaoValues.get(dataSourceName) != null) { return lookupDaoValues.get(dataSourceName); } else { CriteriaLookupDaoOjb classSpecificLookupDaoOjb = new CriteriaLookupDaoOjb(); classSpecificLookupDaoOjb.setJcdAlias(dataSourceName); lookupDaoValues.put(dataSourceName, classSpecificLookupDaoOjb); return classSpecificLookupDaoOjb; } } } return criteriaLookupDaoOjb; }
BusinessObjectEntry ddEntry = eboModuleService.getExternalizableBusinessObjectDictionaryEntry(getBusinessObjectClass()); Map<String,String> filteredFieldValues = new HashMap<String, String>(); for (String fieldName : nonBlankFieldValues.keySet()) { searchResults = eboModuleService.getExternalizableBusinessObjectsListForLookup(getBusinessObjectClass(), (Map)filteredFieldValues, unbounded); if (eboModuleService != null) eboResults = eboModuleService.getExternalizableBusinessObjectsListForLookup( getExternalizableBusinessObjectClass( getBusinessObjectClass(), eboPropertyName), (Map)eboFieldValues, unbounded);
/** * This method safely creates a object from a class * Convenience method to create new object and throw a runtime exception if it cannot * If the class is an {@link ExternalizableBusinessObject}, this method will determine the interface for the EBO and * query the * appropriate module service to create a new instance. * * @param clazz * @return a newInstance() of clazz */ public static Object createNewObjectFromClass(Class clazz) { if (clazz == null) { throw new RuntimeException("BO class was passed in as null"); } try { if (ExternalizableBusinessObject.class.isAssignableFrom(clazz)) { Class eboInterface = ExternalizableBusinessObjectUtils.determineExternalizableBusinessObjectSubInterface(clazz); ModuleService moduleService = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService( eboInterface); return moduleService.createNewObjectFromExternalizableClass(eboInterface); } else { return clazz.newInstance(); } } catch (Exception e) { throw new RuntimeException("Error occured while trying to create a new instance for class " + clazz, e); } }
businessObjectClass = moduleService.getExternalizableBusinessObjectDictionaryEntry(businessObjectClass).getDataObjectClass();
if (moduleService != null && moduleService.isExternalizable(dataObjectClass)) { relationship = getRelationshipMetadata(dataObjectClass, attributeName, attributePrefix); if ((relationship != null) && classHasSupportedFeatures(relationship.getRelatedClass(), supportsLookup,
if ( ExternalizableBusinessObjectUtils.isExternalizableBusinessObjectInterface(localBusinessObjectClassName) ) { Class localBusinessObjectClass = Class.forName(localBusinessObjectClassName); localBusinessObjectClassName = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService(localBusinessObjectClass).getExternalizableBusinessObjectImplementation(localBusinessObjectClass).getName();
@SuppressWarnings("unchecked") @Override public List<String> listPrimaryKeyFieldNames(Class<?> type) { List<String> keys = new ArrayList<String>(); if ( type == null ) { return keys; } if (isPersistable(type)) { keys = persistenceStructureService.listPrimaryKeyFieldNames(type); } else { ModuleService responsibleModuleService = kualiModuleService.getResponsibleModuleService(type); if (responsibleModuleService != null && responsibleModuleService.isExternalizable(type)) { keys = responsibleModuleService.listPrimaryKeyFieldNames(type); } else { // check the Data Dictionary for PK's of non PBO/EBO DataObjectEntry dataObjectEntry = dataDictionaryService.getDataDictionary().getDataObjectEntry(type.getName()); if ( dataObjectEntry != null ) { List<String> pks = dataObjectEntry.getPrimaryKeys(); if (pks != null ) { keys = pks; } } else { LOG.warn( "Unable to retrieve data object entry for non-persistable KNS-managed class: " + type.getName() ); } } } return keys; }
@Override protected String getPersonInquiryUrlLink(Person user, String linkBody) { StringBuffer urlBuffer = new StringBuffer(); if(user != null && StringUtils.isNotEmpty(linkBody) ) { ModuleService moduleService = KRADServiceLocatorWeb.getKualiModuleService().getResponsibleModuleService(Person.class); Map<String, String[]> parameters = new HashMap<String, String[]>(); parameters.put(KimConstants.AttributeConstants.PRINCIPAL_ID, new String[] { user.getPrincipalId() }); String inquiryUrl = moduleService.getExternalizableBusinessObjectInquiryUrl(Person.class, parameters); if(!StringUtils.equals(KimConstants.EntityTypes.SYSTEM, user.getEntityTypeCode())){ urlBuffer.append("<a href='"); urlBuffer.append(inquiryUrl); urlBuffer.append("' "); urlBuffer.append("target='_blank'"); urlBuffer.append("title='Person Inquiry'>"); urlBuffer.append(linkBody); urlBuffer.append("</a>"); // Added re: KPME-207 (https://jira.kuali.org/browse/KPME-207) urlBuffer.append(" ("); urlBuffer.append(user.getName()); urlBuffer.append(")"); } else{ urlBuffer.append(linkBody); } } return urlBuffer.toString(); }
private PersistenceDao getDao(Class clazz) { ModuleService moduleService = getKualiModuleService().getResponsibleModuleService(clazz); if (moduleService != null) { ModuleConfiguration moduleConfig = moduleService.getModuleConfiguration(); String dataSourceName = ""; if (moduleConfig != null) { dataSourceName = moduleConfig.getDataSourceName(); } if (StringUtils.isNotEmpty(dataSourceName)) { if (persistenceDaoValues.get(dataSourceName) != null) { return persistenceDaoValues.get(dataSourceName); } else { //using OJB PersistenceDaoOjb persistDaoOjb = new PersistenceDaoOjb(); persistDaoOjb.setJcdAlias(dataSourceName); persistenceDaoValues.put(dataSourceName, persistDaoOjb); return persistDaoOjb; } } } return persistenceDaoOjb; }
if (ExternalizableBusinessObjectUtils.isExternalizableBusinessObjectInterface(businessObjectClass)) { ModuleService moduleService = getKualiModuleService().getResponsibleModuleService(businessObjectClass); newBusinessObjectInstance = (BusinessObject) moduleService.createNewObjectFromExternalizableClass(businessObjectClass);