You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Mark Brouwer (JIRA)" <ji...@apache.org> on 2008/02/11 20:26:08 UTC
[jira] Updated: (RIVER-151) ClassDep should have a method to
determine if problems occurred
[ https://issues.apache.org/jira/browse/RIVER-151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Brouwer updated RIVER-151:
-------------------------------
Fix Version/s: AR2
> ClassDep should have a method to determine if problems occurred
> ---------------------------------------------------------------
>
> Key: RIVER-151
> URL: https://issues.apache.org/jira/browse/RIVER-151
> Project: River
> Issue Type: New Feature
> Components: com_sun_jini_tool
> Affects Versions: jtsk_2.1
> Reporter: Bob Scheifler
> Assignee: Mark Brouwer
> Priority: Minor
> Fix For: AR2
>
>
> Bugtraq ID [6353693|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6353693]
> When using ClassDep there are various conditions that result in a diagnostic message being printed that indicates some problem. But there is no API to find out programatically if any such problems occurred.
> SuggestedFix
> --- C:\Documents and Settings\marbro\Local Settings\Temp\t3596t46.tmp Sun Nov 20 11:27:33 2005 UTC
> +++ D:\workspace\party\jini\src\com\sun\jini\tool\ClassDep.java Sat Nov 19 17:15:14 2005 UTC
> @@ -15,6 +15,10 @@
> * limitations under the License.
> *
> */
> +
> +/*
> + * NOTE: this file has been modified by the Cheiron Project.
> + */
> package com.sun.jini.tool;
> import sun.tools.java.BinaryClass;
> @@ -507,6 +511,12 @@
> private final ArrayList results = new ArrayList();
> /**
> + * Indicates whether a failure has been encountered during deep dependency
> + * checking.
> + */
> + private boolean failed;
> +
> + /**
> * No argument constructor. The user must fill in the
> * appropriate fields prior to asking for the processing
> * of dependencies.
> @@ -855,12 +865,15 @@
> cdef = (BinaryClass)env.getClassDefinition(id);
> cdef.loadNested(env);
> } catch (ClassNotFound e) {
> + failed = true;
> print("classdep.notfound", id);
> return;
> } catch (IllegalArgumentException e) {
> + failed = true;
> print("classdep.illegal", id, e.getMessage());
> return;
> } catch (Exception e) {
> + failed = true;
> print("classdep.failed", id);
> e.printStackTrace();
> return;
> @@ -921,8 +934,15 @@
> * Method that takes the user provided switches that
> * logically define the domain in which to look for
> * dependencies.
> + * <p>
> + * Whether a failure has occurred during computing the dependent classes
> + * can be found out with a call to {@link #hasFailed()}.
> + *
> + * @return array containing the dependent classes found in the format as
> + * specified by the options passed in
> */
> public String[] compute() {
> + failed = false;
> /* sort ins and outs, longest first */
> Comparator c = new Compare();
> Collections.sort(inside, c);
> @@ -1115,6 +1135,17 @@
> }
> /**
> + * Indicates whether computing the dependent classes as result of the last
> + * call to {@link #compute()} resulted in one or more failures.
> + *
> + * @return <code>true</code> in case a failure has happened, such as a
> + * class not being found, <code>false</code> otherwise
> + */
> + public boolean hasFailed() {
> + return failed;
> + }
> +
> + /**
> * Convenience method for initializing an instance with specific
> * command line arguments. See the description of this class
> * for a list and description of the acceptable arguments.
> Entry 1 bob.scheifler [2005-11-21 16:25]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.