org.kuali.rice.krad.datadictionary.DataDictionaryException: Errors during DD validation, failing validation.

Kuali JIRA | Gayathri Athreya | 3 years ago
  1. 0

    Metadata providers not able to return type for component.name in parameter.xml. Looks like an issue with the embedded set up. The DataDictionary validation fails to validate the PrimitiveAttributeDefinition defined in the Parameter.xml DD as follows {code:title=Parameter.xml} <bean parent="PrimitiveAttributeDefinition" p:sourceName="component.name" p:targetName="name" /> {code} and throws the trace {code:title=stack trace} 2013-08-29 08:53:37,521 [main] u:/d: ERROR org.kuali.rice.krad.datadictionary.DataDictionary - *********************************************************** 2013-08-29 08:53:37,521 [main] u:/d: ERROR org.kuali.rice.krad.datadictionary.DataDictionary - ERRORS OR WARNINGS REPORTED UPON DATA DICTIONARY VALIDATION 2013-08-29 08:53:37,521 [main] u:/d: ERROR org.kuali.rice.krad.datadictionary.DataDictionary - *********************************************************** 2013-08-29 08:53:37,521 [main] u:/d: ERROR org.kuali.rice.krad.datadictionary.DataDictionary - Dictionary Error Detected: Source and target of different types Bean: BusinessObjectEntry(ParameterBo).RelationshipDefinition(Attribute: component).PrimitiveAttributeDefinition(NOBEANID) Values involved: source = org.kuali.rice.coreservice.impl.parameter.ParameterBo.component.name' (null) target = org.kuali.rice.coreservice.impl.component.ComponentBo.name' (class java.lang.String) 2013-08-29 08:53:37,522 [main] u:/d: ERROR org.kuali.rice.core.web.listener.KualiInitializeListener - problem during context.refresh() org.kuali.rice.krad.datadictionary.DataDictionaryException: Errors during DD validation, failing validation. at org.kuali.rice.krad.datadictionary.DataDictionary.validateDD(DataDictionary.java:270) at org.kuali.rice.krad.config.KRADConfigurer.loadDataDictionary(KRADConfigurer.java:122) {code} This seems to validate correctly in bundled mode however. When I step through the code, I notice that the CompositeMetadataProvider is able to provide the type for component.name in bundled mode but is not able to in embedded mode and returns null. Perhaps the masterMetadataMap is not initialized correctly in embedded mode? The provider is not able to find a value for it in the metadataMap while startup. I notice that the metadata for ParameterBO or ComponentBO are not added to the metadataMap via the method mergeMetadataForType in the CompositeMetadatProviderImpl class when KC starts up . It looks like it should. Are we missing some config param that should cause this to load?

    Kuali JIRA | 3 years ago | Gayathri Athreya
    org.kuali.rice.krad.datadictionary.DataDictionaryException: Errors during DD validation, failing validation.

    Root Cause Analysis

    1. org.kuali.rice.krad.datadictionary.DataDictionaryException

      Errors during DD validation, failing validation.

      at org.kuali.rice.krad.datadictionary.DataDictionary.validateDD()
    2. org.kuali.rice
      KRADConfigurer.loadDataDictionary
      1. org.kuali.rice.krad.datadictionary.DataDictionary.validateDD(DataDictionary.java:270)
      2. org.kuali.rice.krad.config.KRADConfigurer.loadDataDictionary(KRADConfigurer.java:122)
      2 frames