glassfish
  1. glassfish
  2. GLASSFISH-4836

Verifier result should be improved in case of missing classes

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 9.1peur1
    • Fix Version/s: not determined
    • Component/s: verifier
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      4,836

      Description

      Today I noticed that when a needed class is missing, the verifier "just" prints
      a very ugly stack trace:

      Error Name :
      com.sun.enterprise.tools.verifier.tests.persistence.DefaultProviderVerification
      Error Description : java.lang.NoClassDefFoundError: junit/framework/TestCase

      at java.lang.ClassLoader.defineClass1(Native Method)

      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

      at
      com.sun.enterprise.loader.EJBClassLoader$DelegatingClassLoader.findClass(EJBClassLoader.java:1406)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

      at
      oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.isEntity(PersistenceUnitProcessor.java:316)

      at
      oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.getEntityClassNamesFromURL(PersistenceUnitProcessor.java:301)

      at
      oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.buildEntityClassSetFromAnnotations(MetadataProcessor.java:501)

      at
      oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.buildEntityList(MetadataProcessor.java:462)

      at
      oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:366)

      at
      oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:607)

      at
      oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createContainerEntityManagerFactory(EntityManagerFactoryProvider.java:244)

      at
      com.sun.enterprise.tools.verifier.tests.persistence.DefaultProviderVerification.check(DefaultProviderVerification.java:103)

      at com.sun.enterprise.tools.verifier.CheckMgr.check(CheckMgr.java:133)

      at
      com.sun.enterprise.tools.verifier.persistence.PersistenceUnitCheckMgrImpl.check(PersistenceUnitCheckMgrImpl.java:96)

      at
      com.sun.enterprise.tools.verifier.CheckMgr.checkPersistenceUnits(CheckMgr.java:390)

      at
      com.sun.enterprise.tools.verifier.ejb.EjbCheckMgrImpl.check(EjbCheckMgrImpl.java:80)

      at com.sun.enterprise.tools.verifier.BaseVerifier.verify(BaseVerifier.java:146)

      at com.sun.enterprise.tools.verifier.ejb.EjbVerifier.verify(EjbVerifier.java:78)

      at
      com.sun.enterprise.tools.verifier.VerificationHandler.runVerifier(VerificationHandler.java:236)

      at
      com.sun.enterprise.tools.verifier.VerificationHandler.verifyArchive(VerificationHandler.java:141)

      at com.sun.enterprise.tools.verifier.Verifier.verify(Verifier.java:144)

      at com.sun.enterprise.tools.verifier.Verifier.main(Verifier.java:114)

      Caused by: java.lang.ClassNotFoundException: junit.framework.TestCase

      at
      com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:737)

      at
      com.sun.enterprise.loader.EJBClassLoader$DelegatingClassLoader.findClass(EJBClassLoader.java:1376)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

      at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

      ... 23 more

      That stack trace was not part of the result, but part of the verfier'S very own
      status printout.

      It would be great if there would be no stack trace in the veryfier's status
      printout, but instead a nice message to be found in the result report (including
      the stack trace).

        Activity

        Hide
        Tom Mueller added a comment -

        Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

        Show
        Tom Mueller added a comment - Bulk update to change fix version to "not determined" for all issues still open but with a fix version for a released version.

          People

          • Assignee:
            Sanjeeb Sahoo
            Reporter:
            mkarg
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: