On Mon, Aug 4, 2008 at 12:26 PM,  <[EMAIL PROTECTED]> wrote:
> Author: yunfengma
> Date: Mon Aug  4 03:26:17 2008
> New Revision: 682314
>
> URL: http://svn.apache.org/viewvc?rev=682314&view=rev
> Log:
> GERONIMODEVTOOLS-457 Empty Web Container setting causes 'xml problem for web 
> app' during deployment
>
> Modified:
>    
> geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/main/java/org/apache/geronimo/st/core/jaxb/MarshallerListener.java
>
> Modified: 
> geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/main/java/org/apache/geronimo/st/core/jaxb/MarshallerListener.java
> URL: 
> http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/main/java/org/apache/geronimo/st/core/jaxb/MarshallerListener.java?rev=682314&r1=682313&r2=682314&view=diff
> ==============================================================================
> --- 
> geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/main/java/org/apache/geronimo/st/core/jaxb/MarshallerListener.java
>  (original)
> +++ 
> geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.core/src/main/java/org/apache/geronimo/st/core/jaxb/MarshallerListener.java
>  Mon Aug  4 03:26:17 2008
> @@ -18,7 +18,10 @@
>
>  import javax.xml.bind.Marshaller;
>
> +import org.apache.geronimo.jee.naming.GbeanLocator;
> +import org.apache.geronimo.jee.naming.Pattern;
>  import org.apache.geronimo.jee.security.Security;
> +import org.apache.geronimo.jee.web.WebApp;
>
>  public class MarshallerListener extends Marshaller.Listener{
>
> @@ -29,6 +32,30 @@
>                        if (security.getRoleMappings() != null && 
> security.getRoleMappings().getRole().size() == 0) {
>                                security.setRoleMappings(null);
>                        }
> +               } else if (source instanceof WebApp) {
> +                       WebApp webapp = (WebApp)source;
> +                       GbeanLocator gbeanlocator = webapp.getWebContainer();
> +                       if (isEmpty(gbeanlocator.getGbeanLink()) && 
> isEmpty(gbeanlocator.getPattern())) {
> +                               webapp.setWebContainer(null);
> +                       }
> +               }
> +       }
> +
> +       private boolean isEmpty(Pattern pattern) {
> +               if ( pattern == null ) {
> +                       return true;
>                }
> +               if ( ( pattern.getGroupId() == null || 
> pattern.getGroupId().trim().equals("") ) &&
> +                        ( pattern.getArtifactId() == null || 
> pattern.getArtifactId().trim().equals("") ) &&
> +                        ( pattern.getModule() == null || 
> pattern.getModule().trim().equals("") ) &&
> +                        ( pattern.getName() == null || 
> pattern.getName().trim().equals("") ) &&
> +                        ( pattern.getVersion() == null || 
> pattern.getVersion().trim().equals("") ) ) {

Wouldn't isEmpty(pattern.getGroupId())... do the trick? Or better

  private boolean isEmpty(Pattern pattern) {
    return isEmpty(pattern) || isEmpty(pattern.getGroupId()) || ...;
  }

?

> +       private boolean isEmpty(String value) {
> +               return (value == null || value.trim().equals(""));
>        }
>  }

Jacek

-- 
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl

Reply via email to