Example usage for org.springframework.beans.factory.support ChildBeanDefinition setResourceDescription

List of usage examples for org.springframework.beans.factory.support ChildBeanDefinition setResourceDescription

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support ChildBeanDefinition setResourceDescription.

Prototype

public void setResourceDescription(@Nullable String resourceDescription) 

Source Link

Document

Set a description of the resource that this bean definition came from (for the purpose of showing context in case of errors).

Usage

From source file:org.kuali.rice.krad.datadictionary.DataDictionary.java

protected void generateMissingInquiryDefinitions() {
    Collection<InquiryView> inquiryViewBeans = ddBeans.getBeansOfType(InquiryView.class).values();
    // Index all the inquiry views by the data object class so we can find them easily below
    Map<Class<?>, InquiryView> defaultViewsByDataObjectClass = new HashMap<Class<?>, InquiryView>();
    for (InquiryView view : inquiryViewBeans) {
        if (view.getViewName().equals(UifConstants.DEFAULT_VIEW_NAME)) {
            defaultViewsByDataObjectClass.put(view.getDataObjectClassName(), view);
        }/*w  w w .  j  a  v a 2  s .  c  o m*/
    }
    for (DataObjectEntry entry : ddBeans.getBeansOfType(DataObjectEntry.class).values()) {
        // if an inquiry already exists, just ignore - we only default if none exist
        if (defaultViewsByDataObjectClass.containsKey(entry.getDataObjectClass())) {
            continue;
        }
        // We only generate the inquiry if the metadata says to
        if (entry.getDataObjectMetadata() == null) {
            continue;
        }
        if (!entry.getDataObjectMetadata().shouldAutoCreateUifViewOfType(UifAutoCreateViewType.INQUIRY)) {
            continue;
        }
        // no inquiry exists and we want one to, create one
        if (LOG.isInfoEnabled()) {
            LOG.info("Generating Inquiry View for : " + entry.getDataObjectClass());
        }
        String inquiryBeanName = entry.getDataObjectClass().getSimpleName() + "-InquiryView-default";

        InquiryView inquiryView = KRADServiceLocatorWeb.getUifDefaultingService()
                .deriveInquiryViewFromMetadata(entry);
        inquiryView.setId(inquiryBeanName);
        inquiryView.setViewName(UifConstants.DEFAULT_VIEW_NAME);

        ChildBeanDefinition inquiryBean = new ChildBeanDefinition("Uif-InquiryView");
        inquiryBean.setScope(BeanDefinition.SCOPE_SINGLETON);
        inquiryBean.setAttribute("dataObjectClassName", inquiryView.getDataObjectClassName());
        inquiryBean.getPropertyValues().add("dataObjectClassName",
                inquiryView.getDataObjectClassName().getName());
        inquiryBean.setResourceDescription("Autogenerated From Metadata");
        ddBeans.registerBeanDefinition(inquiryBeanName, inquiryBean);
        ddBeans.registerSingleton(inquiryBeanName, inquiryView);
    }
}

From source file:org.kuali.rice.krad.datadictionary.DataDictionary.java

protected void generateMissingLookupDefinitions() {
    Collection<LookupView> lookupViewBeans = ddBeans.getBeansOfType(LookupView.class).values();
    // Index all the inquiry views by the data object class so we can find them easily below
    Map<Class<?>, LookupView> defaultViewsByDataObjectClass = new HashMap<Class<?>, LookupView>();
    for (LookupView view : lookupViewBeans) {
        if (view.getViewName().equals(UifConstants.DEFAULT_VIEW_NAME)) {
            defaultViewsByDataObjectClass.put(view.getDataObjectClass(), view);
        }/*from  w  ww  .  j  a  v a 2s.com*/
    }
    for (DataObjectEntry entry : ddBeans.getBeansOfType(DataObjectEntry.class).values()) {
        // if an inquiry already exists, just ignore - we only default if none exist
        if (defaultViewsByDataObjectClass.containsKey(entry.getDataObjectClass())) {
            continue;
        }
        // We only generate the inquiry if the metadata says to
        if (entry.getDataObjectMetadata() == null) {
            continue;
        }
        if (!entry.getDataObjectMetadata().shouldAutoCreateUifViewOfType(UifAutoCreateViewType.LOOKUP)) {
            continue;
        }
        // no inquiry exists and we want one to, create one
        if (LOG.isInfoEnabled()) {
            LOG.info("Generating Lookup View for : " + entry.getDataObjectClass());
        }
        String lookupBeanName = entry.getDataObjectClass().getSimpleName() + "-LookupView-default";

        LookupView lookupView = KRADServiceLocatorWeb.getUifDefaultingService()
                .deriveLookupViewFromMetadata(entry);
        lookupView.setId(lookupBeanName);
        lookupView.setViewName(UifConstants.DEFAULT_VIEW_NAME);

        ChildBeanDefinition lookupBean = new ChildBeanDefinition(ComponentFactory.LOOKUP_VIEW);
        lookupBean.setScope(BeanDefinition.SCOPE_SINGLETON);
        lookupBean.setAttribute("dataObjectClassName", lookupView.getDataObjectClass());
        lookupBean.getPropertyValues().add("dataObjectClassName", lookupView.getDataObjectClass().getName());
        lookupBean.setResourceDescription("Autogenerated From Metadata");
        ddBeans.registerBeanDefinition(lookupBeanName, lookupBean);
        ddBeans.registerSingleton(lookupBeanName, lookupView);
    }
}