[
http://jira.nuxeo.org/browse/NXP-1833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thierry Delprat updated NXP-1833:
---------------------------------
Deliverable: [Code]
Fix Version/s: (was: 5.1.3)
5.1.4
> make core type registration raise informative exception message to help the
> developers pinpoint configuration problems more quickly
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: NXP-1833
> URL: http://jira.nuxeo.org/browse/NXP-1833
> Project: Nuxeo Enterprise Platform 5
> Issue Type: Improvement
> Affects Versions: 5.1.2
> Reporter: Olivier Grisel
> Assignee: Bogdan Stefanescu
> Fix For: 5.1.4, 5.2 M1
>
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> For instance when registering a type that depends on a non registered schema
> (e.g. because of a typo in the schema name), the following exception is
> raised:
> org.nuxeo.ecm.core.api.ClientException: Failed to initialize repository
> at
> org.nuxeo.ecm.core.api.ejb.EJBExceptionHandler.wrapException(EJBExceptionHandler.java:70)
> at
> org.nuxeo.ecm.core.api.ejb.DocumentManagerBean.getSession(DocumentManagerBean.java:191)
> at
> org.nuxeo.ecm.core.api.AbstractSession.connect(AbstractSession.java:171)
> at
> org.nuxeo.ecm.core.api.ejb.DocumentManagerBean.connect(DocumentManagerBean.java:168)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [snipped 100KB of useless stacktrace]
> Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception:
> org.nuxeo.ecm.core.api.DocumentException. message: Failed to initialize
> repository
> at
> org.nuxeo.ecm.core.repository.jcr.JCRRepository.initialize(JCRRepository.java:161)
> at
> org.nuxeo.ecm.core.repository.jcr.JCRRepository.getSession(JCRRepository.java:98)
> at
> org.nuxeo.ecm.core.jca.JCAConnectionFactory.getSession(JCAConnectionFactory.java:81)
> at
> org.nuxeo.ecm.core.api.ejb.DocumentManagerBean.createSession(DocumentManagerBean.java:201)
> at
> org.nuxeo.ecm.core.api.ejb.DocumentManagerBean.getSession(DocumentManagerBean.java:188)
> ... 392 more
> Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception:
> java.lang.NullPointerException. message: null
> at
> org.nuxeo.ecm.core.repository.jcr.TypeAdapter.getSchemaName(TypeAdapter.java:87)
> at
> org.nuxeo.ecm.core.repository.jcr.TypeImporter.createDocTypeDefinition(TypeImporter.java:481)
> at
> org.nuxeo.ecm.core.repository.jcr.TypeImporter.collectDocTypes(TypeImporter.java:432)
> at
> org.nuxeo.ecm.core.repository.jcr.TypeImporter.registerTypes(TypeImporter.java:117)
> at
> org.nuxeo.ecm.core.repository.jcr.BuiltinTypes.registerUserTypes(BuiltinTypes.java:155)
> at
> org.nuxeo.ecm.core.repository.jcr.BuiltinTypes.registerTypes(BuiltinTypes.java:131)
> at
> org.nuxeo.ecm.core.repository.jcr.JCRRepository.initialize(JCRRepository.java:157)
> at
> org.nuxeo.ecm.core.repository.jcr.JCRRepository.getSession(JCRRepository.java:98)
> at
> org.nuxeo.ecm.core.jca.JCAConnectionFactory.getSession(JCAConnectionFactory.java:81)
> TypeAdapter should have raised a meaningful message such as :
> throw new InvalidConfigurationException(String.format("type '%s' could not be
> registered because schema '%s' was not found", typeName, schemaName));
> and then JCRRepository.initialize should catch that exception a rewrapped it
> as something like:
> throw new ClientException("Failed to initialize repository: " +
> e.getMessage(), e);
> so that the developers sees directly the top level error message:
> Failed to initialize repository: type 'MyType' could not be registered
> because schema 'my_schema_with_a_typo' was not found
> and then not have to parse hundreds of logs to know at which line of which
> class to put an eclipse breakpoint and restart jboss just to get the
> offending schema name.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets