Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-2363

ExceptionAnalysis generate incorrect IDL name due to keyword collisions

    XMLWordPrintable

    Details

      Description

      Here we will check for IDL keyword collisions. This means that the repository ID for foo.exception.SomeException is "IDL:foo/_exception/SomeEx:1.0" (note the underscore in front of the exception module name).

      JBoss currently does not check the package name for keywork collisions.

      Following fast hack solves the above issue:

      Inside org.jboss.iiop.rmi.ExceptionAnalysis

      protected void doAnalyze()
      throws RMIIIOPViolationException
      {
      super.doAnalyze();

      if (!Exception.class.isAssignableFrom(cls) ||
      RuntimeException.class.isAssignableFrom(cls))
      throw new RMIIIOPViolationException(
      "Exception type " + cls.getName() +
      " must be a checked exception class.", "1.2.6");

      // calculate exceptionRepositoryId
      String s = null;
      StringTokenizer token = new StringTokenizer(cls.getPackage().getName(), ".");
      while(token.hasMoreTokens())

      { // might not be safe to use javaToIDLName for package names, but it seems to work for now String t = Util.javaToIDLName(token.nextToken()); if(s == null) s = t; else s = s + "/" + t; }

      StringBuffer b = new StringBuffer("IDL:");
      b.append(s);
      b.append('/');

      String base = cls.getName();
      base = base.substring(base.lastIndexOf('.')+1);
      if (base.endsWith("Exception"))
      base = base.substring(0, base.length()-9);
      base = Util.javaToIDLName(base + "Ex");

      b.append(base).append(":1.0");
      exceptionRepositoryId = b.toString();
      }

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                reverbel Francisco Reverbel
                Reporter:
                mjelle Martin Jelle
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: