AnsweredAssumed Answered

Custom Model - Context initialization failed

Question asked by michaelq87 on Jan 25, 2013
Latest reply on Jan 25, 2013 by mrogers
Hi,

I'm editing an existing ad working custom model on Alfresco 4.0.

To the old customModel.xml i'm declaring a new constraint and a new type (custom:myADSocietaConstraint and custom:ad). All the other declarations are old, and they were working.



<model name="custom:customModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>  
   <description>Custom Model</description>
   <author></author>
   <version>1.1</version>

   <imports>
      
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
   
      <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>

   <namespaces>
      <namespace uri="custom.model" prefix="custom"/>
   </namespaces>
  
   <constraints>
      <!– mail constraint –>
      <constraint name="custom:myPostaConstraint" type="LIST" >
         <parameter name="allowedValues">
            <list>
             <value></value>
            <value>INPUT</value>
            <value>OUTPUT</value>
            </list>
         </parameter>
         <parameter name="caseSensitive">
           <value>false</value>
         </parameter>
      </constraint>
    
     <!– sgr fund constraint –>
     <constraint name="custom:mySGRFondoConstraint" type="LIST" >
         <parameter name="allowedValues">
            <list>
            <value></value>
            <value>Garibaldi</value>
            <value>Anastasia</value>
            <value>Vivaldi</value>
            </list>
         </parameter>
         <parameter name="caseSensitive">
           <value>false</value>
         </parameter>
      </constraint>
     
       <constraint name="custom:myADSocietaConstraint" type="LIST" >
         <parameter name="allowedValues">
            <list>
            <value>Società dummy</value>
            <value>MANAGEMENT S.P.A. </value>
            <value>AGENCY S.P.A.</value>
            <value>COMPANY S.r.l.</value>
            </list>
         </parameter>
         <parameter name="caseSensitive">
           <value>false</value>
         </parameter>
      </constraint>
     
   </constraints>
  
   <types>
     <!– Custom Type definition –>
    
      <type name="custom:sgr">
         <title>SGR Type</title>
         <parent>cm:content</parent>
         <properties>
            <property name="custom:testo">
               <type>d:text</type>
            </property>
         <property name="custom:posta">
               <type>d:text</type>
            <constraints>
                  <constraint ref="custom:myPostaConstraint" />
               </constraints>
            </property>
         <property name="custom:sgrfondo">
               <type>d:text</type>
            <constraints>
                  <constraint ref="custom:mySGRFondoConstraint" />
               </constraints>
            </property>
         <property name="custom:protocollo">
               <type>d:text</type>
            </property>
         <property name="custom:oggetto">
               <type>d:text</type>
            </property>
         <property name="custom:doxarchivio">
               <type>d:text</type>
            </property>
         <property name="custom:mittentedestinatario">
               <type>d:text</type>
            </property>
         </properties>
      </type>
     
      <type name="custom:ad">
         <title>AD Type</title>
         <parent>cm:content</parent>
         <properties>
            <property name="custom:testo">
               <type>d:text</type>
            </property>
         <property name="custom:posta">
               <type>d:text</type>
            <constraints>
                  <constraint ref="custom:myPostaConstraint" />
               </constraints>
            </property>
         <property name="custom:societa">
               <type>d:text</type>
            <constraints>
                  <constraint ref="custom:myADSocietaConstraint" />
               </constraints>
            </property>
         <property name="custom:protocollo">
               <type>d:text</type>
            </property>
         <property name="custom:oggetto">
               <type>d:text</type>
            </property>
         <property name="custom:mittentedestinatariocompany">
               <type>d:text</type>
            </property>
            <property name="custom:mittentedestinatariosoggetto">
               <type>d:text</type>
            </property>
         </properties>
      </type>
     
   </types>
  
</model>




Then on share-config-custom.xml I extended my old config evaluator="string-compare" condition="DocumentLibrary" with the subtype "custom:ad".

<config evaluator="string-compare" condition="DocumentLibrary">
    
     <!– Custom SGR subtype –>
     <types>
      <type name="cm:content">
         <subtype name="custom:sgr" />
         <subtype name="custom:ad" />
      </type>
      
      <type name="cm:folder">
      </type>
     </types>

   </config>


On startup of alfresco i get this error:


2013-01-25 14:15:53,680  ERROR [web.context.ContextLoader] [main] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'extension.dictionaryBootstrap' defined in file [/intranet/documentale/nodo1/alfresco-4.0.b/tomcat/shared/classes/alfresco/extension/custom-model-context.xml]: Invocation of init method failed; nested exception is org.alfresco.service.cmr.dictionary.DictionaryException: 00250002 Could not import bootstrap model alfresco/extension/customModel.xml
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
   at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
   at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
   at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
   at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
   at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
   at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:63)
   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
   at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
   at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
   at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
   at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
   at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
   at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
   at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
   at org.apache.catalina.core.StandardService.start(StandardService.java:519)
   at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
   at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 00250002 Could not import bootstrap model alfresco/extension/customModel.xml
   at org.alfresco.repo.dictionary.DictionaryBootstrap.onDictionaryInit(DictionaryBootstrap.java:158)
   at org.alfresco.repo.dictionary.DictionaryBootstrap.bootstrap(DictionaryBootstrap.java:105)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1544)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1485)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
   … 37 more
Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 00250001 Failed to compile model custom:customModel
   at org.alfresco.repo.dictionary.CompiledModel.<init>(CompiledModel.java:108)
   at org.alfresco.repo.dictionary.M2Model.compile(M2Model.java:163)
   at org.alfresco.repo.dictionary.DictionaryDAOImpl.putModelImpl(DictionaryDAOImpl.java:298)
   at org.alfresco.repo.dictionary.DictionaryDAOImpl.putModel(DictionaryDAOImpl.java:281)
   at org.alfresco.repo.dictionary.DictionaryBootstrap.onDictionaryInit(DictionaryBootstrap.java:154)
   … 45 more
Caused by: org.alfresco.service.cmr.dictionary.DictionaryException: 00250000 Found duplicate property definition custom:testo within class custom:ad and class custom:sgr
   at org.alfresco.repo.dictionary.M2ClassDefinition.<init>(M2ClassDefinition.java:117)
   at org.alfresco.repo.dictionary.M2TypeDefinition.<init>(M2TypeDefinition.java:41)
   at org.alfresco.repo.dictionary.CompiledModel.constructDefinitions(CompiledModel.java:149)
   at org.alfresco.repo.dictionary.CompiledModel.<init>(CompiledModel.java:88)
   … 49 more




Can you tell me what's wrong?

Outcomes