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

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

Introduction

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

Prototype

@Override
public void setScope(@Nullable String scope) 

Source Link

Document

Set the name of the target scope for the bean.

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  av  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 ww  w  .  j  a  v  a2 s . co  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.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);
    }
}