| <!-- | 
 |  | 
 |     Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved. | 
 |  | 
 |     This program and the accompanying materials are made available under the | 
 |     terms of the Eclipse Public License v. 2.0, which is available at | 
 |     http://www.eclipse.org/legal/epl-2.0. | 
 |  | 
 |     This Source Code may also be made available under the following Secondary | 
 |     Licenses when the conditions for such availability set forth in the | 
 |     Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | 
 |     version 2 with the GNU Classpath Exception, which is available at | 
 |     https://www.gnu.org/software/classpath/license.html. | 
 |  | 
 |     SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | 
 |  | 
 | --> | 
 |  | 
 | <FindBugsFilter> | 
 |     <!-- | 
 |         From Tim Quinn: | 
 |  | 
 |         The current structure of the code makes it complicated to arrange a | 
 |         series of method returns back to the main method return to accomplish | 
 |         the same as invoking System.exit.  If the user ran "appclient -help" | 
 |         then we're not going to even try to run the ACC, just display the | 
 |         help, so exit seems OK here. | 
 |     --> | 
 |     <Match> | 
 |         <Class name="org.glassfish.appclient.client.AppClientFacade"/> | 
 |         <Method name="help"/> | 
 |         <Bug pattern="DM_EXIT"/> | 
 |     </Match> | 
 |  | 
 |     <!-- | 
 |         From Tim Quinn: | 
 |  | 
 |         The only (supported) way that JWSAppClientContainerMain's main method | 
 |         is invoked is during a Java Web Start launch of a client, in which | 
 |         case the usage method in question would be invoked only if there was | 
 |         an error in how GF prepared the URL and/or the JNLP document.  A user | 
 |         could cause GF to add the equivalent of the -usage option to the JNLP | 
 |         but there's no good reason to do that and exiting in that case is fine | 
 |         as far as I'm concerned. | 
 |     --> | 
 |     <Match> | 
 |         <Class name="org.glassfish.appclient.client.AppClientFacade"/> | 
 |         <Method name="usage"/> | 
 |         <Bug pattern="DM_EXIT"/> | 
 |     </Match> | 
 |  | 
 |     <!-- | 
 |         From Tim Quinn: | 
 |  | 
 |         This call to exit supports a seldom-used feature of the Java Web Start | 
 |         support for app clients in which the caller can ask that the ACC exit | 
 |         right away after returning from the client.  (Normally we'll wait | 
 |         until the event dispatcher thread runs down.)  This has been useful, | 
 |         at least in the past, when oddities in the vendor's Java Web Start | 
 |         implementation caused the VM to hang around when the client is a non- | 
 |         GUI client (as in our devtests).  This primarily affected Apple's VM a | 
 |         few releases ago, IIRC. | 
 |     --> | 
 |     <Match> | 
 |         <Class name="org.glassfish.appclient.client.jws.boot.JWSACCMain$1"/> | 
 |         <Method name="run"/> | 
 |         <Bug pattern="DM_EXIT"/> | 
 |     </Match> | 
 |  | 
 |     <!-- | 
 |         From Tim Quinn: | 
 |  | 
 |         Refactoring is possible, but at the cost of greater complexity.  Plus | 
 |         I think FindBugs has missed something.  It is correct that the "this" | 
 |         of the containing class is used only during construction, but part of | 
 |         what the constructor does is to instantiate other inner classes of the | 
 |         same common containing object and those constructors use the implicit | 
 |         "this" argument.  Changing the UserVMArgs inner class to be static | 
 |         would force refactoring of several other inner classes.  That seems to | 
 |         me to be a fair amount of work and added complexity to suppress this | 
 |         FindBugs notification. | 
 |     --> | 
 |     <Match> | 
 |         <Class name="org.glassfish.appclient.client.CLIBootstrap$UserVMArgs"/> | 
 |         <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS"/> | 
 |     </Match> | 
 | </FindBugsFilter> |