dev@glassfish.java.net

Fwd: [glassfish~svn:46153] Merge 3.2-prework branch changes into trunk. Reviewed by Jerome. QL's pas

From: Rajiv Mordani <rajiv.mordani_at_oracle.com>
Date: Thu, 14 Apr 2011 10:46:38 -0700

  All,
     I have merged the changes that went into the 3.2-prework branch
into the trunk.

Thanks

- Rajiv

-------- Original Message --------
Subject: [glassfish~svn:46153] Merge 3.2-prework branch changes into
trunk. Reviewed by Jerome. QL's pas
Date: Thu, 14 Apr 2011 17:47:24 +0000
From: mode_at_java.net
Reply-To: commits_at_glassfish.java.net
To: commits_at_glassfish.java.net



Project: glassfish
Repository: svn
Revision: 46153
Author: mode
Date: 2011-04-14 17:47:15 UTC
Link:

Log Message:
------------
Merge 3.2-prework branch changes into trunk. Reviewed by Jerome. QL's pass


Revisions:
----------
46153


Modified Paths:
---------------
trunk/v3/deployment/dol/src/main/java/com/sun/enterprise/deployment/archivist/EarPersistenceArchivist.java
trunk/v3/pom.xml
trunk/v3/common/common-util/src/main/java/com/sun/enterprise/loader/ASURLClassLoader.java
trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/ResourcesXMLParser.java
trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/MapInjectionResolver.java
trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/SunResourcesXML.java
trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/Domain.java
trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationProcessorImpl.java
trunk/v3/admin/config-api/src/main/java/org/glassfish/config/support/GenericCrudCommand.java
trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationUtils.java
trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java
trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/GenericCommandModel.java
trunk/v3
trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/AuthTokenManager.java
trunk/v3/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SSHA.java
trunk/v3/cluster/admin/src/main/java/com/sun/enterprise/v3/admin/cluster/CopyConfigCommand.java
trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/ResourceConflictException.java
trunk/v3/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/ASMainStatic.java
trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/UndeployCommand.java
trunk/v3/core/kernel/src/main/java/com/sun/enterprise/v3/admin/CommandRunnerImpl.java
trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/ProcessingResultImpl.java


Added Paths:
------------
trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/DomainExtension.java


Diffs:
------
Index: trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java
===================================================================
--- trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java (revision 46152)
+++ trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/DeployCommand.java (revision 46153)
@@ -63,6 +63,7 @@
  import org.glassfish.internal.deployment.*;
  import org.glassfish.config.support.TargetType;
  import org.glassfish.config.support.CommandTarget;
+import org.jvnet.hk2.annotations.Contract;
  import org.jvnet.hk2.annotations.Inject;
  import org.jvnet.hk2.annotations.Scoped;
  import org.jvnet.hk2.annotations.Service;
@@ -249,6 +250,13 @@
                    name = sb.toString();
                  }
              }
+ // needs to be fixed in hk2, we don't generate the right innerclass index. it should use $
+ Collection<Interceptor> interceptors = habitat.getAllByContract("org.glassfish.deployment.admin.DeployCommand.Interceptor");
+ if (interceptors!=null) {
+ for (Interceptor interceptor : interceptors) {
+ interceptor.intercept(this, initialContext);
+ }
+ }

              boolean isRegistered = deployment.isRegistered(name);
              isredeploy = isRegistered&& force;
@@ -826,4 +834,18 @@
              context.getLogger().log(Level.WARNING, warningMsg);
          }
      }
+
+ /**
+ * Crude interception mechanisms for deploy comamnd execution
+ */
+ @Contract
+ public interface Interceptor {
+ /**
+ * Called by the deployment command to intercept a deployment activity.
+ *
+ * @param self the deployment command in flight.
+ * @param context of the deployment
+ */
+ void intercept(DeployCommand self, DeploymentContext context);
+ }
  }
Index: trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/UndeployCommand.java
===================================================================
--- trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/UndeployCommand.java (revision 46152)
+++ trunk/v3/deployment/admin/src/main/java/org/glassfish/deployment/admin/UndeployCommand.java (revision 46153)
@@ -40,14 +40,11 @@

  package org.glassfish.deployment.admin;

+import com.sun.enterprise.config.serverbeans.*;
  import com.sun.enterprise.util.LocalStringManagerImpl;
  import org.glassfish.internal.data.ApplicationInfo;
  import org.glassfish.internal.deployment.Deployment;
  import org.glassfish.internal.deployment.ExtendedDeploymentContext;
-import com.sun.enterprise.config.serverbeans.Application;
-import com.sun.enterprise.config.serverbeans.Applications;
-import com.sun.enterprise.config.serverbeans.ApplicationRef;
-import com.sun.enterprise.config.serverbeans.Domain;
  import com.sun.enterprise.deploy.shared.ArchiveFactory;
  import com.sun.enterprise.admin.util.ClusterOperationUtil;
  import org.glassfish.deployment.common.DeploymentUtils;
@@ -147,6 +144,14 @@
           */
          name = (new File(name)).getName();

+
+ // I should really look if the associated cluster is virtual
+ Cluster cluster = domain.getClusterNamed(name);
+ if (cluster!=null) {
+ target = name;
+ }
+
+
          // retrieve matched version(s) if exist
          List<String> matchedVersions = null;
          try {

Property changes on: trunk/v3/deployment/dol/src/main/java/com/sun/enterprise/deployment/archivist/EarPersistenceArchivist.java
___________________________________________________________________
Deleted: svn:mergeinfo

Index: trunk/v3/cluster/admin/src/main/java/com/sun/enterprise/v3/admin/cluster/CopyConfigCommand.java
===================================================================
--- trunk/v3/cluster/admin/src/main/java/com/sun/enterprise/v3/admin/cluster/CopyConfigCommand.java (revision 46152)
+++ trunk/v3/cluster/admin/src/main/java/com/sun/enterprise/v3/admin/cluster/CopyConfigCommand.java (revision 46153)
@@ -117,7 +117,7 @@
          final String configName = destConfig ;
          final Logger logger = context.getLogger();
          try {
- final Config newCopy = (Config) ConfigSupport.apply(new SingleConfigCode<Configs>(){
+ ConfigSupport.apply(new SingleConfigCode<Configs>(){
                  @Override
                  public Object run(Configs configs ) throws PropertyVetoException, TransactionFailure {
                      return copyConfig(configs,config,configName,logger);
Index: trunk/v3/core/kernel/src/main/java/com/sun/enterprise/v3/admin/CommandRunnerImpl.java
===================================================================
--- trunk/v3/core/kernel/src/main/java/com/sun/enterprise/v3/admin/CommandRunnerImpl.java (revision 46152)
+++ trunk/v3/core/kernel/src/main/java/com/sun/enterprise/v3/admin/CommandRunnerImpl.java (revision 46153)
@@ -50,6 +50,8 @@
  import java.lang.reflect.AnnotatedElement;
  import java.lang.reflect.Field;
  import java.lang.reflect.Type;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
  import java.text.SimpleDateFormat;
  import java.util.*;
  import java.util.logging.Level;
@@ -723,7 +725,13 @@
          try {
              final Field f =
                  command.getClass().getDeclaredField("skipParamValidation");
- f.setAccessible(true);
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ @Override
+ public Object run() {
+ f.setAccessible(true);
+ return null;
+ }
+ }) ;
              if (f.getType().isAssignableFrom(boolean.class)) {
                  return f.getBoolean(command);
              }
@@ -1279,11 +1287,17 @@

              // look for the name in the list of parameters passed.
              if (target instanceof Field) {
- Field targetField = (Field) target;
+ final Field targetField = (Field) target;
                  try {
                      Field sourceField =
                          parameters.getClass().getField(targetField.getName());
- targetField.setAccessible(true);
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ @Override
+ public Object run() {
+ targetField.setAccessible(true);
+ return null;
+ }
+ });
                      Object paramValue = sourceField.get(parameters);
                      /*
                       * If this field is a File, then replace the param value
Index: trunk/v3/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/ASMainStatic.java
===================================================================
--- trunk/v3/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/ASMainStatic.java (revision 46152)
+++ trunk/v3/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/ASMainStatic.java (revision 46153)
@@ -55,6 +55,8 @@
  import java.net.URL;
  import java.net.URLClassLoader;
  import java.net.MalformedURLException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
  import java.util.logging.Logger;
  import java.util.logging.Level;
  import java.util.*;
@@ -293,8 +295,8 @@

          String punchins = props.getProperty("jre-1.6");
          StringTokenizer st = new StringTokenizer(punchins, ",");
- List<String> p = new ArrayList<String>();
- List<String> multiples = new ArrayList<String>();
+ final List<String> p = new ArrayList<String>();
+ final List<String> multiples = new ArrayList<String>();
          multiples.add("org.jvnet");
          multiples.add("org.glassfish");
          while (st.hasMoreTokens()) {
@@ -304,7 +306,12 @@
              }
              p.add(tk.trim());
          }
- return new MaskingClassLoader(parent, p, multiples, useExplicitSystemClassLoaderCalls);
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
+ @Override
+ public ClassLoader run() {
+ return new MaskingClassLoader(parent, p, multiples, useExplicitSystemClassLoaderCalls);
+ }
+ });
      }


Index: trunk/v3/pom.xml
===================================================================
--- trunk/v3/pom.xml (revision 46152)
+++ trunk/v3/pom.xml (revision 46153)
@@ -112,8 +112,8 @@
          <grizzly.version>1.9.31</grizzly.version>
          <jsr181-api.version>1.0-MR1</jsr181-api.version>
          <saaj-api.version>1.3</saaj-api.version>
-<hk2.version>1.1.0</hk2.version>
-<hk2.plugin.version>1.1.0</hk2.plugin.version>
+<hk2.version>1.6.1</hk2.version>
+<hk2.plugin.version>1.6.1</hk2.plugin.version>
          <trilead-ssh2.version>build212-hudson-6</trilead-ssh2.version>
          <product.name>GlassFish Server Open Source Edition</product.name>
          <abbrev_product_name>glassfish</abbrev_product_name>
Index: trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/MapInjectionResolver.java
===================================================================
--- trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/MapInjectionResolver.java (revision 46152)
+++ trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/MapInjectionResolver.java (revision 46153)
@@ -41,6 +41,8 @@
  package org.glassfish.common.util.admin;

  import java.lang.reflect.*;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
  import java.util.*;
  import java.io.File;
  import java.io.IOException;
@@ -223,8 +225,14 @@
                           final AnnotatedElement annotated) {
          try {
              if (annotated instanceof Field) {
- Field field = (Field)annotated;
- field.setAccessible(true);
+ final Field field = (Field)annotated;
+ AccessController.doPrivileged(new PrivilegedAction<Object>() {
+ @Override
+ public Object run() {
+ field.setAccessible(true);
+ return null;
+ }
+ });
                  return ((Field) annotated).get(component);
              }
          } catch (Exception e) {
Index: trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/GenericCommandModel.java
===================================================================
--- trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/GenericCommandModel.java (revision 46152)
+++ trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/GenericCommandModel.java (revision 46153)
@@ -52,6 +52,7 @@

  import java.lang.annotation.Annotation;
  import java.lang.reflect.Method;
+import java.rmi.MarshalException;
  import java.util.Collection;
  import java.util.HashMap;
  import java.util.Map;
@@ -114,6 +115,10 @@
                              } else {
                                  params.put(attributeName, new AttributeBasedModel(attributeName, attr, paramI18n));
                              }
+ } else {
+ // use method name.
+ String name = cm.trimPrefix(m.getName());
+ params.put(name, new ParamBasedModel(name, p, paramI18n));
                          }
                      }
                  }
Index: trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/AuthTokenManager.java
===================================================================
--- trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/AuthTokenManager.java (revision 46152)
+++ trunk/v3/common/common-util/src/main/java/org/glassfish/common/util/admin/AuthTokenManager.java (revision 46153)
@@ -100,6 +100,7 @@
      private final static int TOKEN_SIZE = 10;

      private final static long DEFAULT_TOKEN_LIFETIME = 60 * 1000;
+ private final static long TOKEN_EXPIRATION_IN_MS = 360 * 1000;

      private final SecureRandom rng = new SecureRandom();


Property changes on: trunk/v3/common/common-util/src/main/java/com/sun/enterprise/loader/ASURLClassLoader.java
___________________________________________________________________
Deleted: svn:mergeinfo

Index: trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationUtils.java
===================================================================
--- trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationUtils.java (revision 46152)
+++ trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationUtils.java (revision 46153)
@@ -58,11 +58,6 @@
      private static String whatToLog="";
      private static ResourceBundle resourceBundle;

- /** Creates a new instance of AnnotationUtils */
- private AnnotationUtils() {
- resourceBundle = ResourceBundle.getBundle("LocalStrings");
- }
-
      public static Logger getLogger() {
          if (logger==null) {
              logger = Logger.global;
Index: trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationProcessorImpl.java
===================================================================
--- trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationProcessorImpl.java (revision 46152)
+++ trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/AnnotationProcessorImpl.java (revision 46153)
@@ -389,9 +389,9 @@

          Map<Class<? extends Annotation>, ResultType> annotationResults =
                  result.processedAnnotations();
- for (Class annotationType : annotationResults.keySet()) {
- logger.finer("Annotation " + annotationType + " : " +
- annotationResults.get(annotationType));
+ for (Map.Entry<Class<? extends Annotation>, ResultType> element : annotationResults.entrySet()) {
+ logger.finer("Annotation " + element.getKey() + " : " +
+ element.getValue());
          }
      }
      public void pushAnnotationHandler(AnnotationHandler handler) {
Index: trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/ProcessingResultImpl.java
===================================================================
--- trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/ProcessingResultImpl.java (revision 46152)
+++ trunk/v3/common/annotation-framework/src/main/java/org/glassfish/apf/impl/ProcessingResultImpl.java (revision 46153)
@@ -66,8 +66,8 @@
      public void add(ProcessingResult pr) {

          Map<AnnotatedElement, HandlerProcessingResult> results = pr.getResults();
- for (AnnotatedElement element : results.keySet()) {
- add(element, results.get(element));
+ for (Map.Entry<AnnotatedElement, HandlerProcessingResult> element : results.entrySet()) {
+ add(element.getKey(), element.getValue());
          }
      }

Index: trunk/v3/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SSHA.java
===================================================================
--- trunk/v3/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SSHA.java (revision 46152)
+++ trunk/v3/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SSHA.java (revision 46153)
@@ -66,7 +66,7 @@
      private static final String SSHA_256_TAG = "{SSHA256}";
      private static final String algoSHA = "SHA";
      private static final String algoSHA256 = "SHA-256";
- public static String defaultAlgo = algoSHA256;
+ public static final String defaultAlgo = algoSHA256;

      //TODO V3 need to check if second arg is correct
      private static StringManager sm =
Index: trunk/v3/admin/config-api/src/main/java/org/glassfish/config/support/GenericCrudCommand.java
===================================================================
--- trunk/v3/admin/config-api/src/main/java/org/glassfish/config/support/GenericCrudCommand.java (revision 46152)
+++ trunk/v3/admin/config-api/src/main/java/org/glassfish/config/support/GenericCrudCommand.java (revision 46153)
@@ -43,6 +43,7 @@
  import com.sun.enterprise.util.LocalStringManagerImpl;
  import com.sun.hk2.component.InhabitantsFile;
  import com.sun.hk2.component.InjectionResolver;
+import com.sun.hk2.component.LazyInhabitant;
  import com.sun.logging.LogDomains;
  import org.glassfish.api.Param;
  import org.glassfish.api.admin.CommandModelProvider;
@@ -77,7 +78,7 @@
      private InjectionResolver<Param> injector;

      @Inject
- Inhabitant<?> myself;
+ LazyInhabitant<?> myself;

      final protected static Logger logger = LogDomains.getLogger(GenericCrudCommand.class, LogDomains.ADMIN_LOGGER);
      final protected static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(GenericCrudCommand.class);
@@ -153,9 +154,13 @@
          }

          if (targetMethod.getParameterTypes().length==0) {
- // return type matters.
- targetType = Types.erasure(Types.getTypeArgument(
+ if (targetMethod.getGenericReturnType() instanceof ParameterizedType) {
+ targetType = Types.erasure(Types.getTypeArgument(
                              targetMethod.getGenericReturnType(),0));
+ } else {
+ targetType =(Class<ConfigBeanProxy>) targetMethod.getReturnType();
+ }
+
          } else {
              targetType = (Class<ConfigBeanProxy>) targetMethod.getParameterTypes()[0];
          }
@@ -363,7 +368,7 @@

      protected Class loadClass(String type) throws ClassNotFoundException {
          // by default I use the inhabitant class loader
- return myself.type().getClassLoader().loadClass(type);
+ return myself.getClassLoader().loadClass(type);
      }

      /**
Index: trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/Domain.java
===================================================================
--- trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/Domain.java (revision 46152)
+++ trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/Domain.java (revision 46153)
@@ -40,12 +40,9 @@

  package com.sun.enterprise.config.serverbeans;

-import org.glassfish.api.admin.config.ReferenceContainer;
+import org.glassfish.api.admin.config.*;
  import org.jvnet.hk2.config.types.PropertyBag;
-import org.glassfish.api.admin.config.ApplicationName;
-import org.glassfish.api.admin.config.PropertiesDesc;
  import org.jvnet.hk2.config.types.Property;
-import org.glassfish.api.admin.config.PropertyDesc;
  import org.glassfish.quality.ToDo;
  import org.jvnet.hk2.component.Injectable;
  import org.jvnet.hk2.config.Attribute;
@@ -390,6 +387,10 @@
      @Element
      List<Property> getProperty();

+
+ @Element("*")
+ List<DomainExtension> getExtensions();
+
      @DuckTyped
      String getName();

@@ -490,6 +491,9 @@
      @DuckTyped
      List<Cluster> getClustersOnNode(String nodeName);

+ @DuckTyped
+<T extends DomainExtension> T getExtensionByType(Class<T> type);
+
      class Duck {
          public static String getName(Domain domain) {
              return domain.getPropertyValue(DOMAIN_NAME_PROPERTY);
@@ -954,5 +958,16 @@
              final Server server = d.getServerNamed(name);
              return (server != null ? true : false);
          }
+
+ public static<T extends DomainExtension> T getExtensionByType(Domain d, Class<T> type) {
+ for (DomainExtension extension : d.getExtensions()) {
+ try {
+ return type.cast(extension);
+ } catch (Exception e) {
+ // ignore, not the right type.
+ }
+ }
+ return null;
+ }
      }
  }
Index: trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/DomainExtension.java
===================================================================
--- trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/DomainExtension.java (revision 0)
+++ trunk/v3/admin/config-api/src/main/java/com/sun/enterprise/config/serverbeans/DomainExtension.java (revision 46153)
@@ -0,0 +1,54 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 1997-2011 Oracle and/or its affiliates. All rights reserved.
+ *
+ * The contents of this file are subject to the terms of either the GNU
+ * General Public License Version 2 only ("GPL") or the Common Development
+ * and Distribution License("CDDL") (collectively, the "License"). You
+ * may not use this file except in compliance with the License. You can
+ * obtain a copy of the License at
+ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
+ * or packager/legal/LICENSE.txt. See the License for the specific
+ * language governing permissions and limitations under the License.
+ *
+ * When distributing the software, include this License Header Notice in each
+ * file and include the License file at packager/legal/LICENSE.txt.
+ *
+ * GPL Classpath Exception:
+ * Oracle designates this particular file as subject to the "Classpath"
+ * exception as provided by Oracle in the GPL Version 2 section of the License
+ * file that accompanied this code.
+ *
+ * Modifications:
+ * If applicable, add the following below the License Header, with the fields
+ * enclosed by brackets [] replaced by your own identifying information:
+ * "Portions Copyright [year] [name of copyright owner]"
+ *
+ * Contributor(s):
+ * If you wish your version of this file to be governed by only the CDDL or
+ * only the GPL Version 2, indicate your decision by adding "[Contributor]
+ * elects to include this software in this distribution under the [CDDL or GPL
+ * Version 2] license." If you don't indicate a single choice of license, a
+ * recipient has the option to distribute your version of this file under
+ * either the CDDL, the GPL Version 2 or to extend the choice of license to
+ * its licensees as provided above. However, if you add GPL Version 2 code
+ * and therefore, elected the GPL Version 2 license, then the option applies
+ * only if the new code is made subject to such option by the copyright
+ * holder.
+ */
+package com.sun.enterprise.config.serverbeans;
+
+import org.jvnet.hk2.config.ConfigBeanProxy;
+import org.jvnet.hk2.config.Configured;
+
+/**
+ * Tag interface to extend the domain configuration
+ * Any implementation of this interface will be stored under the domain.xml
+ * root domain element.
+ *
+ * @author Jerome Dochez
+ */
+_at_Configured
+public interface DomainExtension extends ConfigBeanProxy {
+}

Property changes on: trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/SunResourcesXML.java
___________________________________________________________________
Deleted: svn:mergeinfo


Property changes on: trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/ResourceConflictException.java
___________________________________________________________________
Deleted: svn:mergeinfo

Index: trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/ResourcesXMLParser.java
===================================================================
--- trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/ResourcesXMLParser.java (revision 46152)
+++ trunk/v3/admin/util/src/main/java/org/glassfish/admin/cli/resources/ResourcesXMLParser.java (revision 46153)
@@ -1491,7 +1491,7 @@
       }


- final class AddResourcesErrorHandler implements ErrorHandler {
+ final static class AddResourcesErrorHandler implements ErrorHandler {
            public void error(SAXParseException e) throws org.xml.sax.SAXException{
             throw e ;
          }

Property changes on: trunk/v3
___________________________________________________________________
Added: svn:mergeinfo
    Merged /branches/v3-temp:r45995-46147
    Merged /branches/dochez-v3:r44447-45498
    Merged /branches/3.2-prework:r45499-46141