[exo-jcr-commits] exo-jcr SVN: r1218 - in kernel/trunk: exo.kernel.commons/src/test/java/org/exoplatform/commons/utils and 14 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Dec 28 10:18:01 EST 2009


Author: julien_viet
Date: 2009-12-28 10:18:00 -0500 (Mon, 28 Dec 2009)
New Revision: 1218

Added:
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/KernelManagementContext.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoMBeanInfoBuilder.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoModelMBean.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMX.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMXManagementProvider.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/MBeanScopingData.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ObjectNameBuilder.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertiesInfo.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertyInfo.java
Removed:
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoMBeanInfoBuilder.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoModelMBean.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMX.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ObjectNameBuilder.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertiesInfo.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertyInfo.java
Modified:
   kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/PropertiesLoader.java
   kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/Tools.java
   kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestPropertiesLoader.java
   kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestTools.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerClassLoader.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PropertyConfigurator.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/UnifiedClassLoader.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/WebAppInitContext.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycle.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycleStack.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/EntityResolverImpl.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/Namespaces.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/ProfileDOMFilter.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerConfig.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinition.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinitionPlugin.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractFilter.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpServlet.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpSessionListener.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerConfigOwner.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerCreator.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/ComponentWithRequestLifeCycle.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/LifeCycle.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainerInitTaskContextComparator.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPropertyManagerConfigurator.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestRequestLifeCycle.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestUnifiedClassLoader.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestWebAppInitContextComparator.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/AbstractProfileTest.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/InitParamsHolder.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestCollectionValue.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentPluginProfile.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentProfile.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestField.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestImportProfile.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestInitParamProfile.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/AbstractTestExoMBean.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestNameTemplate.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestPortalContainerManagedIntegration.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedComponentRequestLifeCycle.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/SimpleManagementAware.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/support/ContainerBuilder.java
Log:
- EXOJCR-350 : Enable plugability of management layer : more cleanup, almost decoupled
- EXOJCR-351 : Sanitize Affero GPL headers in Kernel


Modified: kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/PropertiesLoader.java
===================================================================
--- kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/PropertiesLoader.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/PropertiesLoader.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.commons.utils;
 

Modified: kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/Tools.java
===================================================================
--- kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/Tools.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/commons/utils/Tools.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.commons.utils;
 

Modified: kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestPropertiesLoader.java
===================================================================
--- kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestPropertiesLoader.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestPropertiesLoader.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.commons.utils;
 

Modified: kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestTools.java
===================================================================
--- kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestTools.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestTools.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.commons.utils;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerClassLoader.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerClassLoader.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerClassLoader.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PropertyConfigurator.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PropertyConfigurator.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/PropertyConfigurator.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/UnifiedClassLoader.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/UnifiedClassLoader.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/UnifiedClassLoader.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/WebAppInitContext.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/WebAppInitContext.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/WebAppInitContext.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycle.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycle.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycle.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.component;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycleStack.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycleStack.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/component/RequestLifeCycleStack.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.component;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/EntityResolverImpl.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/EntityResolverImpl.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/EntityResolverImpl.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/Namespaces.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/Namespaces.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/Namespaces.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/ProfileDOMFilter.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/ProfileDOMFilter.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/configuration/ProfileDOMFilter.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerConfig.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerConfig.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerConfig.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.definition;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinition.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinition.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinition.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.definition;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinitionPlugin.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinitionPlugin.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/definition/PortalContainerDefinitionPlugin.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.definition;
 

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoMBeanInfoBuilder.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoMBeanInfoBuilder.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoMBeanInfoBuilder.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,228 +0,0 @@
-/*
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.container.jmx;
-
-import org.exoplatform.management.spi.ManagedMethodMetaData;
-import org.exoplatform.management.spi.ManagedMethodParameterMetaData;
-import org.exoplatform.management.spi.ManagedPropertyMetaData;
-import org.exoplatform.management.spi.ManagedTypeMetaData;
-import org.exoplatform.container.management.MetaDataBuilder;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.Descriptor;
-import javax.management.IntrospectionException;
-import javax.management.MBeanParameterInfo;
-import javax.management.modelmbean.ModelMBeanAttributeInfo;
-import javax.management.modelmbean.ModelMBeanConstructorInfo;
-import javax.management.modelmbean.ModelMBeanInfo;
-import javax.management.modelmbean.ModelMBeanInfoSupport;
-import javax.management.modelmbean.ModelMBeanNotificationInfo;
-import javax.management.modelmbean.ModelMBeanOperationInfo;
-
-/**
- * <p>A class that build mbean meta data</p>
- *
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class ExoMBeanInfoBuilder
-{
-
-   private static enum Role {
-      SET("setter"), IS("getter"), GET("getter"), OP("operation");
-
-      private final String name;
-
-      private Role(String role)
-      {
-         this.name = role;
-      }
-   }
-
-   private ManagedTypeMetaData typeMD;
-
-   /**
-    * Create a new builder.
-    *
-    * @param clazz the clazz
-    * @throws IllegalArgumentException if the class is null or does not contain meta data
-    */
-   public ExoMBeanInfoBuilder(Class clazz) throws IllegalArgumentException
-   {
-      this.typeMD = new MetaDataBuilder(clazz).build();
-   }
-
-   public ExoMBeanInfoBuilder(ManagedTypeMetaData typeMD) throws IllegalArgumentException
-   {
-      this.typeMD = typeMD;
-   }
-
-   private ModelMBeanOperationInfo buildOperationInfo(Method method, String description, Role role,
-      Collection<ManagedMethodParameterMetaData> parametersMD)
-   {
-      ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo(description, method);
-
-      //
-      if (description == null)
-      {
-         description = "Management operation";
-      }
-
-      //
-      MBeanParameterInfo[] parameterInfos = operationInfo.getSignature();
-      for (ManagedMethodParameterMetaData parameterMD : parametersMD)
-      {
-         int i = parameterMD.getIndex();
-         MBeanParameterInfo parameterInfo = parameterInfos[i];
-         String parameterName = parameterInfo.getName();
-         String parameterDescription = operationInfo.getSignature()[i].getDescription();
-         if (parameterMD.getName() != null)
-         {
-            parameterName = parameterMD.getName();
-         }
-         else if (parameterMD.getDescription() != null)
-         {
-            parameterDescription = parameterMD.getDescription();
-         }
-         parameterInfos[i] = new MBeanParameterInfo(parameterName, parameterInfo.getType(), parameterDescription);
-      }
-
-      //
-      Descriptor operationDescriptor = operationInfo.getDescriptor();
-      operationDescriptor.setField("role", role.name);
-
-      //
-      return new ModelMBeanOperationInfo(operationInfo.getName(), description, parameterInfos, operationInfo
-         .getReturnType(), operationInfo.getImpact(), operationDescriptor);
-   }
-
-   /**
-    * Build the info.
-    *
-    * @return returns the info
-    * @throws IllegalStateException raised by any build time issue
-    */
-   public ModelMBeanInfo build() throws IllegalStateException
-   {
-      String mbeanDescription = "Exo model mbean";
-      if (typeMD.getDescription() != null)
-      {
-         mbeanDescription = typeMD.getDescription();
-      }
-
-      //
-      ArrayList<ModelMBeanOperationInfo> operations = new ArrayList<ModelMBeanOperationInfo>();
-      for (ManagedMethodMetaData methodMD : typeMD.getMethods())
-      {
-         ModelMBeanOperationInfo operationInfo =
-            buildOperationInfo(methodMD.getMethod(), methodMD.getDescription(), Role.OP, methodMD.getParameters());
-         operations.add(operationInfo);
-      }
-
-      //
-      Map<String, ModelMBeanAttributeInfo> attributeInfos = new HashMap<String, ModelMBeanAttributeInfo>();
-      for (ManagedPropertyMetaData propertyMD : typeMD.getProperties())
-      {
-
-         Method getter = propertyMD.getGetter();
-         if (getter != null)
-         {
-            Role role;
-            String getterName = getter.getName();
-            if (getterName.startsWith("get") && getterName.length() > 3)
-            {
-               role = Role.GET;
-            }
-            else if (getterName.startsWith("is") && getterName.length() > 2)
-            {
-               role = Role.IS;
-            }
-            else
-            {
-               throw new AssertionError();
-            }
-            Collection<ManagedMethodParameterMetaData> blah = Collections.emptyList();
-            ModelMBeanOperationInfo operationInfo =
-               buildOperationInfo(getter, propertyMD.getGetterDescription(), role, blah);
-            operations.add(operationInfo);
-         }
-
-         //
-         Method setter = propertyMD.getSetter();
-         if (setter != null)
-         {
-            ManagedMethodParameterMetaData s = new ManagedMethodParameterMetaData(0);
-            s.setDescription(propertyMD.getSetterParameter().getDescription());
-            s.setName(propertyMD.getSetterParameter().getName());
-            Collection<ManagedMethodParameterMetaData> blah = Collections.singletonList(s);
-            ModelMBeanOperationInfo operationInfo =
-               buildOperationInfo(setter, propertyMD.getSetterDescription(), Role.SET, blah);
-            operations.add(operationInfo);
-         }
-
-         //
-         try
-         {
-            String attributeDescription =
-               propertyMD.getDescription() != null ? propertyMD.getDescription() : ("Managed attribute " + propertyMD
-                  .getName());
-
-            //
-            ModelMBeanAttributeInfo attributeInfo =
-               new ModelMBeanAttributeInfo(propertyMD.getName(), attributeDescription, getter, setter);
-
-            //
-            Descriptor attributeDescriptor = attributeInfo.getDescriptor();
-            if (getter != null)
-            {
-               attributeDescriptor.setField("getMethod", getter.getName());
-            }
-            if (setter != null)
-            {
-               attributeDescriptor.setField("setMethod", setter.getName());
-            }
-            attributeDescriptor.setField("currencyTimeLimit", "-1");
-            attributeDescriptor.setField("persistPolicy", "Never");
-            attributeInfo.setDescriptor(attributeDescriptor);
-
-            //
-            ModelMBeanAttributeInfo previous = attributeInfos.put(propertyMD.getName(), attributeInfo);
-            if (previous != null)
-            {
-               throw new IllegalArgumentException();
-            }
-         }
-         catch (IntrospectionException e)
-         {
-            throw new AssertionError(e);
-         }
-      }
-
-      //
-      return new ModelMBeanInfoSupport(typeMD.getType().getName(), mbeanDescription, attributeInfos.values().toArray(
-         new ModelMBeanAttributeInfo[attributeInfos.size()]), new ModelMBeanConstructorInfo[0], operations
-         .toArray(new ModelMBeanOperationInfo[operations.size()]), new ModelMBeanNotificationInfo[0]);
-   }
-}

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoModelMBean.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoModelMBean.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoModelMBean.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,176 +0,0 @@
-/*
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.container.jmx;
-
-import org.exoplatform.management.spi.ManagementProviderContext;
-import org.exoplatform.management.ManagementAware;
-import org.exoplatform.management.ManagementContext;
-import org.exoplatform.management.jmx.annotations.NamingContext;
-
-import java.util.Collections;
-import java.util.Map;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanException;
-import javax.management.MBeanRegistration;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-import javax.management.RuntimeOperationsException;
-import javax.management.modelmbean.InvalidTargetObjectTypeException;
-import javax.management.modelmbean.ModelMBeanInfo;
-import javax.management.modelmbean.RequiredModelMBean;
-
-/**
- * A convenient subclass of {@link RequiredModelMBean) that routes the invocation of the interface
- * {@link MBeanRegistration} to the managed resource when it implements the method. 
- *
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class ExoModelMBean extends RequiredModelMBean implements ManagementContext
-{
-
-   /** . */
-   private Object mr;
-
-   /** . */
-   private ManagementProviderContext parentContext;
-
-   /** . */
-   private ManagementProviderContext context;
-
-   public ExoModelMBean(ManagementProviderContext parentContext, Object mr, ModelMBeanInfo mbi) throws MBeanException,
-      RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException
-   {
-      super(mbi);
-
-      //
-      this.parentContext = parentContext;
-      this.mr = mr;
-
-      //
-      setManagedResource(mr, "ObjectReference");
-   }
-
-   @Override
-   public Object invoke(String opName, Object[] opArgs, String[] sig) throws MBeanException, ReflectionException
-   {
-      context.beforeInvoke(mr);
-      try
-      {
-         return super.invoke(opName, opArgs, sig);
-      }
-      finally
-      {
-         context.afterInvoke(mr);
-      }
-   }
-
-   @Override
-   public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
-   {
-      name = super.preRegister(server, name);
-
-      //
-      if (mr instanceof MBeanRegistration)
-      {
-         ((MBeanRegistration)mr).preRegister(server, name);
-      }
-
-      //
-      return name;
-   }
-
-   @Override
-   public void postRegister(Boolean registrationDone)
-   {
-      super.postRegister(registrationDone);
-
-      //
-      PropertiesInfo info = PropertiesInfo.resolve(mr.getClass(), NamingContext.class);
-
-      //
-      Map<String, String> scopingProperties = info != null ? info.resolve(mr) : Collections.<String, String>emptyMap();
-
-      //
-      context = parentContext.createContext(mr, scopingProperties);
-
-      //
-      if (mr instanceof ManagementAware)
-      {
-         ((ManagementAware)mr).setContext(this);
-      }
-
-      //
-      if (mr instanceof MBeanRegistration)
-      {
-         ((MBeanRegistration)mr).postRegister(registrationDone);
-      }
-   }
-
-   @Override
-   public void preDeregister() throws Exception
-   {
-      if (mr instanceof MBeanRegistration)
-      {
-         ((MBeanRegistration)mr).preDeregister();
-      }
-
-      //
-      if (mr instanceof ManagementAware)
-      {
-         ((ManagementAware)mr).setContext(null);
-      }
-
-      //
-      super.preDeregister();
-   }
-
-   @Override
-   public void postDeregister()
-   {
-      if (mr instanceof MBeanRegistration)
-      {
-         ((MBeanRegistration)mr).postDeregister();
-      }
-
-      //
-      super.postDeregister();
-   }
-
-   //
-
-   public ManagementContext getManagementContext()
-   {
-      return context;
-   }
-
-   //
-
-   public void register(Object o) throws IllegalArgumentException, NullPointerException
-   {
-      context.register(o);
-   }
-
-   public void unregister(Object o) throws IllegalArgumentException, NullPointerException
-   {
-      context.unregister(o);
-   }
-}

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMX.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMX.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMX.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.container.jmx;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
-/**
- * Various JMX utilities.
- *
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class JMX
-{
-
-   private JMX()
-   {
-   }
-
-   /**
-    * This method create an object name from a generic map argument. The main reason is that
-    * the method {@link javax.management.ObjectName#getInstance(String, java.util.Hashtable)} has
-    * uses a non generic Hashtable with Java 5 and use a Hashtable<String, String> constructor in Java 6.
-    *
-    * The suitable solution is therefore to use a non generic Hashtable but that creates compilation warning therefore
-    * we encapsulate there this code in order to use the warning supression in that single place.
-    *
-    * @see ObjectName#getInstance(String, java.util.Hashtable)
-    *
-    * @param domain  The domain part of the object name.
-    * @param table A hash table containing one or more key
-    * properties.  The key of each entry in the table is the key of a
-    * key property in the object name.  The associated value in the
-    * table is the associated value in the object name.
-    *
-    * @return an ObjectName corresponding to the given domain and
-    * key mappings.
-    * @exception MalformedObjectNameException The <code>domain</code>
-    * contains an illegal character, or one of the keys or values in
-    * <code>table</code> contains an illegal character, or one of the
-    * values in <code>table</code> does not follow the rules for
-    * quoting.
-    * @exception NullPointerException One of the parameters is null.
-    */
-   @SuppressWarnings("unchecked")
-   public static ObjectName createObjectName(String domain, Map<String, String> table)
-      throws MalformedObjectNameException, NullPointerException
-   {
-      Hashtable tmp = new Hashtable(table);
-      return ObjectName.getInstance(domain, tmp);
-   }
-}

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2003-2007 eXo Platform SAS.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
- */
-package org.exoplatform.container.jmx;
-
-import org.exoplatform.management.spi.ManagedTypeMetaData;
-import org.exoplatform.management.spi.ManagementProvider;
-import org.exoplatform.management.spi.ManagementProviderContext;
-import org.exoplatform.management.jmx.annotations.NameTemplate;
-
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanRegistrationException;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.management.modelmbean.ModelMBeanInfo;
-import java.util.Hashtable;
-import java.util.Map;
-import java.util.List;
-
-/**
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class JMXManagementProvider implements ManagementProvider
-{
-
-   /** . */
-   private final MBeanServer server;
-
-   public JMXManagementProvider()
-   {
-      this(MBeanServerFactory.createMBeanServer());
-   }
-
-   public JMXManagementProvider(MBeanServer server)
-   {
-      this.server = server;
-   }
-
-   public Object manage(ManagementProviderContext context, Object managedResource, ManagedTypeMetaData metaData)
-   {
-      ExoModelMBean mbean = null;
-      try
-      {
-         ExoMBeanInfoBuilder infoBuilder = new ExoMBeanInfoBuilder(metaData);
-         ModelMBeanInfo info = infoBuilder.build();
-         mbean = new ExoModelMBean(context, managedResource, info);
-      }
-      catch (Exception e)
-      {
-         e.printStackTrace();
-      }
-
-      //
-      if (mbean != null)
-      {
-         ObjectName on = null;
-         PropertiesInfo oni = PropertiesInfo.resolve(managedResource.getClass(), NameTemplate.class);
-         if (oni != null)
-         {
-            try
-            {
-               Map<String, String> foo = oni.resolve(managedResource);
-               on = JMX.createObjectName("exo", foo);
-            }
-            catch (MalformedObjectNameException e)
-            {
-               e.printStackTrace();
-            }
-         }
-
-         if (on != null)
-         {
-            // Merge with the container hierarchy context
-            try
-            {
-               Map<String, String> props = new Hashtable<String, String>();
-
-               // Merge scoping properties
-               List<Map<String, String>> list = context.getScopingProperties();
-               for (Map<String, String> scopingProperties : list)
-               {
-                  props.putAll(scopingProperties);
-               }
-
-               // Julien : I know it's does not look great but it's necessary
-               // for compiling under Java 5 and Java 6 properly. The methods
-               // ObjectName#getKeyPropertyList() returns an Hashtable with Java 5
-               // and a Hashtable<String, String> with Java 6.
-               for (Object o : on.getKeyPropertyList().entrySet())
-               {
-                  Map.Entry entry = (Map.Entry)o;
-                  String key = (String)entry.getKey();
-                  String value = (String)entry.getValue();
-                  props.put(key, value);
-               }
-
-               //
-               on = JMX.createObjectName(on.getDomain(), props);
-
-               //
-               attemptToRegister(on, mbean);
-
-               //
-               return on;
-            }
-            catch (MalformedObjectNameException e)
-            {
-               e.printStackTrace();
-            }
-         }
-      }
-
-      //
-      return null;  
-   }
-
-   private void attemptToRegister(ObjectName name, Object mbean)
-   {
-      synchronized (server)
-      {
-         try
-         {
-            server.registerMBean(mbean, name);
-         }
-         catch (InstanceAlreadyExistsException e)
-         {
-            try
-            {
-
-               server.unregisterMBean(name);
-               server.registerMBean(mbean, name);
-
-            }
-            catch (Exception e1)
-            {
-               throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
-            }
-         }
-         catch (Exception e)
-         {
-            throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
-         }
-      }
-   }
-
-   public void unmanage(Object key)
-   {
-      ObjectName name = (ObjectName)key;
-      try
-      {
-         server.unregisterMBean(name);
-      }
-      catch (InstanceNotFoundException e)
-      {
-         e.printStackTrace();
-      }
-      catch (MBeanRegistrationException e)
-      {
-         e.printStackTrace();
-      }
-   }
-}

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManageableContainer.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -19,11 +19,14 @@
 package org.exoplatform.container.jmx;
 
 import org.exoplatform.container.CachingContainer;
+import org.exoplatform.container.management.KernelManagementContext;
 import org.exoplatform.container.monitor.jvm.J2EEServerInfo;
 import org.exoplatform.management.ManagementContext;
 import org.exoplatform.management.annotations.Managed;
 import org.exoplatform.management.annotations.ManagedDescription;
 import org.exoplatform.management.annotations.ManagedName;
+import org.exoplatform.management.spi.ManagementProvider;
+import org.exoplatform.management.spi.jmx.JMXManagementProvider;
 import org.picocontainer.ComponentAdapter;
 import org.picocontainer.PicoContainer;
 import org.picocontainer.PicoException;
@@ -33,6 +36,7 @@
 
 import java.lang.management.ManagementFactory;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -101,7 +105,7 @@
          server = manageableParent.server;
       } else {
          server = findMBeanServer();
-         managementContext = new ManagementContextImpl(new JMXManagementProvider(server));
+         managementContext = new ManagementContextImpl(new KernelManagementContext(Collections.<ManagementProvider>singleton(new JMXManagementProvider(server))));
       }
 
       //

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ManagementContextImpl.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -20,8 +20,11 @@
 
 import org.exoplatform.container.ExoContainer;
 import org.exoplatform.container.component.RequestLifeCycle;
+import org.exoplatform.container.management.KernelManagementContext;
+import org.exoplatform.management.ManagementAware;
 import org.exoplatform.management.spi.ManagedTypeMetaData;
 import org.exoplatform.container.management.MetaDataBuilder;
+import org.exoplatform.management.spi.ManagementProvider;
 import org.exoplatform.management.spi.ManagementProviderContext;
 import org.exoplatform.management.ManagementContext;
 import org.exoplatform.management.annotations.ManagedBy;
@@ -29,7 +32,6 @@
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -42,40 +44,39 @@
 {
 
    /** . */
-   Map<String, String> scopingProperties;
+   private final Map<Class<?>, Object> scopingProperties;
 
    /** The registrations done by this mbean. */
-   private final Map<Object, Object> registrations;
+   private final Map<Object, ManagementContextImpl> registrations;
 
    /** . */
+   final Map<ManagementProvider, Object> bilto;
+
+   /** . */
    private final ManagementContextImpl parent;
 
    /** . */
-   final JMXManagementProvider provider;
+   final KernelManagementContext kernelContext;
 
    /** An optional container setup when the management context is attached to a container. */
    ManageableContainer container;
 
-   public ManagementContextImpl()
+   public ManagementContextImpl(KernelManagementContext kernelContext)
    {
-      this(new JMXManagementProvider());
-   }
-
-   public ManagementContextImpl(JMXManagementProvider provider)
-   {
-      if (provider == null)
+      if (kernelContext == null)
       {
          throw new NullPointerException();
       }
-      this.registrations = new HashMap<Object, Object>();
+      this.bilto = new HashMap<ManagementProvider, Object>();
+      this.registrations = new HashMap<Object, ManagementContextImpl>();
       this.parent = null;
 
       // This is the root container that never have scoping properties
       // Also without that we would have an NPE when the portal container are registered
       // as the scoping properties would not exist since the root container would not be yet
       
-      this.scopingProperties = Collections.emptyMap();
-      this.provider = provider;
+      this.scopingProperties = new HashMap<Class<?>, Object>();
+      this.kernelContext = kernelContext;
    }
 
    public ManagementContextImpl(ManagementContextImpl parent)
@@ -84,10 +85,11 @@
       {
          throw new NullPointerException();
       }
-      this.registrations = new HashMap<Object, Object>();
+      this.bilto = new HashMap<ManagementProvider, Object>();
+      this.registrations = new HashMap<Object, ManagementContextImpl>();
       this.parent = parent;
-      this.scopingProperties = null;
-      this.provider = parent.provider;
+      this.scopingProperties = new HashMap<Class<?>, Object>();
+      this.kernelContext = parent.kernelContext;
    }
 
    public ManagementContext getParent()
@@ -95,23 +97,9 @@
       return parent;
    }
 
-   public ManagementProviderContext createContext(Object managedResource, Map<String, String> scopingProperties)
+   public <S> void setScopingData(Class<S> scopeType, S scopingProperties)
    {
-      ManagementContextImpl context;
-      if (managedResource instanceof ManageableContainer)
-      {
-         context = ((ManageableContainer)managedResource).managementContext;
-      }
-      else
-      {
-         context = new ManagementContextImpl(this);
-      }
-
-      //
-      context.scopingProperties = scopingProperties;
-
-      //
-      return context;
+      this.scopingProperties.put(scopeType, scopingProperties);
    }
 
    public void register(Object o)
@@ -156,31 +144,61 @@
          MetaDataBuilder builder = new MetaDataBuilder(view.getClass());
          if (builder.isBuildable()) {
             ManagedTypeMetaData metaData = builder.build();
-            Object name = provider.manage(this, view, metaData);
-            if (name != null)
+
+            //
+            ManagementContextImpl viewContext;
+            if (view instanceof ManageableContainer)
             {
-               registrations.put(o, name);
+               viewContext = ((ManageableContainer)view).managementContext;
             }
+            else
+            {
+               viewContext = new ManagementContextImpl(this);
+            }
+
+            //
+            registrations.put(view, viewContext);
+
+            //
+            for (ManagementProvider provider : kernelContext.getProviders())
+            {
+               Object name = provider.manage(this, view, metaData);
+               if (name != null)
+               {
+                  viewContext.bilto.put(provider, name);
+               }
+            }
+
+            // Allow for more resource management
+            if (view instanceof ManagementAware)
+            {
+               ((ManagementAware)view).setContext(viewContext);
+            }
          }
       }
    }
 
    public void unregister(Object o)
    {
-      Object name = registrations.remove(o);
-      if (name != null)
+      ManagementContextImpl context = registrations.remove(o);
+      if (context != null)
       {
-         provider.unmanage(name);
+         for (Map.Entry<ManagementProvider, Object> entry : context.bilto.entrySet()) {
+            entry.getKey().unmanage(entry.getValue());
+         }
       }
    }
 
-   public List<Map<String, String>> getScopingProperties() {
-      ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>();
+   public <S> List<S> getScopingProperties(Class<S> scopeType)
+   {
+      ArrayList<S> list = new ArrayList<S>();
       for (ManagementContextImpl current = this; current != null; current = current.parent)
       {
-         if (current.scopingProperties != null)
+         Object scopedData = current.scopingProperties.get(scopeType);
+         if (scopedData != null)
          {
-            list.add(current.scopingProperties);
+            // It must be that type since we put it
+            list.add((S)scopedData);
          }
       }
       return list;

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ObjectNameBuilder.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ObjectNameBuilder.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ObjectNameBuilder.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.container.jmx;
-
-import org.exoplatform.management.jmx.annotations.NameTemplate;
-
-import java.util.Map;
-
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-
-/**
- * A builder for object name templates.
- *
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class ObjectNameBuilder<T>
-{
-
-   /** . */
-   private String domain;
-
-   /** . */
-   private Class<? extends T> clazz;
-
-   /**
-    * Create a new builder.
-    *
-    * @param clazz the class
-    * @throws IllegalArgumentException if the object is null
-    */
-   public ObjectNameBuilder(String domain, Class<? extends T> clazz) throws IllegalArgumentException
-   {
-      if (clazz == null)
-      {
-         throw new IllegalArgumentException("Clazz cannot be null");
-      }
-      this.domain = domain;
-      this.clazz = clazz;
-   }
-
-   /**
-    * Build the object name or return null if the class is not annotated by
-    * {@link NameTemplate}.
-    *
-    * @param object the object
-    * @return the built name
-    * @throws IllegalStateException raised by a build time issue 
-    */
-   public ObjectName build(T object) throws IllegalStateException
-   {
-      PropertiesInfo info = PropertiesInfo.resolve(clazz, NameTemplate.class);
-
-      //
-      if (info != null)
-      {
-
-         try
-         {
-            Map<String, String> props = info.resolve(object);
-            return JMX.createObjectName(domain, props);
-         }
-         catch (MalformedObjectNameException e)
-         {
-            throw new IllegalArgumentException("ObjectName template is malformed", e);
-         }
-      }
-
-      //
-      return null;
-   }
-}

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertiesInfo.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertiesInfo.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertiesInfo.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.container.jmx;
-
-import org.exoplatform.commons.reflect.AnnotationIntrospector;
-import org.exoplatform.management.jmx.annotations.NameTemplate;
-import org.exoplatform.management.jmx.annotations.NamingContext;
-import org.exoplatform.management.jmx.annotations.Property;
-
-import java.lang.annotation.Annotation;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class PropertiesInfo
-{
-
-   /** . */
-   private Map<String, PropertyInfo> properties;
-
-   public PropertiesInfo(Map<String, PropertyInfo> properties)
-   {
-      this.properties = properties;
-   }
-
-   public static PropertiesInfo resolve(Class clazz, Class<? extends Annotation> annotationClass)
-   {
-      Annotation tpl2 = AnnotationIntrospector.resolveClassAnnotations(clazz, annotationClass);
-      Property[] blah = null;
-      if (tpl2 instanceof NamingContext)
-      {
-         blah = ((NamingContext)tpl2).value();
-      }
-      else if (tpl2 instanceof NameTemplate)
-      {
-         blah = ((NameTemplate)tpl2).value();
-      }
-      if (blah != null)
-      {
-         Map<String, PropertyInfo> properties = new HashMap<String, PropertyInfo>();
-         for (Property property : blah)
-         {
-            PropertyInfo propertyInfo = new PropertyInfo(clazz, property);
-            properties.put(propertyInfo.getKey(), propertyInfo);
-         }
-         return new PropertiesInfo(properties);
-      }
-      else
-      {
-         return null;
-      }
-   }
-
-   public Collection<PropertyInfo> getProperties()
-   {
-      return properties.values();
-   }
-
-   public Map<String, String> resolve(Object instance)
-   {
-      Map<String, String> props = new HashMap<String, String>();
-      for (PropertyInfo propertyInfo : properties.values())
-      {
-         String key = propertyInfo.getKey();
-         String value = propertyInfo.resolveValue(instance);
-         props.put(key, value);
-      }
-      return props;
-   }
-}

Deleted: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertyInfo.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertyInfo.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertyInfo.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2009 eXo Platform SAS.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.exoplatform.container.jmx;
-
-import org.exoplatform.management.jmx.annotations.Property;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import javax.management.ObjectName;
-
-/**
- * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
- * @version $Revision$
- */
-public class PropertyInfo
-{
-
-   /** . */
-   private final String key;
-
-   /** . */
-   private final Value value;
-
-   public PropertyInfo(Class clazz, Property def)
-   {
-      String tmp = def.value();
-      Value value;
-      int length = tmp.length();
-      if (length > 2 && tmp.charAt(0) == '{' && tmp.charAt(length - 1) == '}')
-      {
-         String s = tmp.substring(1, length - 1);
-         String getterName = "get" + s;
-         Method getter;
-         try
-         {
-            getter = clazz.getMethod(getterName);
-         }
-         catch (NoSuchMethodException e)
-         {
-            throw new IllegalArgumentException("Getter parameter for property " + s + " on class " + clazz.getName()
-               + " does not exist", e);
-         }
-
-         //
-         if (getter.getReturnType() == void.class)
-         {
-            throw new IllegalArgumentException("Getter return type for property " + s + " on class " + clazz.getName()
-               + " cannot be void");
-         }
-         if (getter.getParameterTypes().length > 0)
-         {
-            throw new IllegalArgumentException("Getter parameter type for property " + s + " on class "
-               + clazz.getName() + " is not empty");
-         }
-         if (Modifier.isStatic(getter.getModifiers()))
-         {
-            throw new IllegalArgumentException("Getter for property " + s + " on class " + clazz.getName()
-               + " is static");
-         }
-
-         //
-         value = new DynamicValue(getter);
-      }
-      else
-      {
-         value = new LitteralValue(tmp);
-      }
-
-      //
-      this.key = def.key();
-      this.value = value;
-   }
-
-   public String resolveValue(Object instance)
-   {
-      return value.resolve(instance);
-   }
-
-   public String getKey()
-   {
-      return key;
-   }
-
-   private abstract static class Value
-   {
-      abstract String resolve(Object instance);
-   }
-
-   private class DynamicValue extends Value
-   {
-
-      /** . */
-      private final Method getter;
-
-      private DynamicValue(Method getter)
-      {
-         this.getter = getter;
-      }
-
-      String resolve(Object instance)
-      {
-         Object value;
-         try
-         {
-            value = getter.invoke(instance);
-         }
-         catch (IllegalAccessException e)
-         {
-            throw new IllegalArgumentException("Getter for property " + key + " on class "
-               + getter.getClass().getName() + " cannot be invoked", e);
-         }
-         catch (InvocationTargetException e)
-         {
-            throw new IllegalArgumentException("Getter for property " + key + " on class "
-               + getter.getClass().getName() + " threw an exception during invocation", e);
-         }
-         if (value == null)
-         {
-            throw new IllegalArgumentException("Getter for property " + key + " on class "
-               + getter.getClass().getName() + " returned a null value");
-         }
-         return ObjectName.quote(value.toString());
-      }
-   }
-
-   private static class LitteralValue extends Value
-   {
-
-      /** . */
-      private final String litteral;
-
-      private LitteralValue(String litteral)
-      {
-         this.litteral = litteral;
-      }
-
-      String resolve(Object instance)
-      {
-         return litteral;
-      }
-   }
-
-}

Added: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/KernelManagementContext.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/KernelManagementContext.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/management/KernelManagementContext.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.container.management;
+
+import org.exoplatform.management.spi.jmx.JMXManagementProvider;
+import org.exoplatform.management.spi.ManagementProvider;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class KernelManagementContext
+{
+
+   /** . */
+   private final Set<ManagementProvider> providers;
+
+   public KernelManagementContext()
+   {
+     providers = Collections.<ManagementProvider>singleton(new JMXManagementProvider());
+   }
+
+   public KernelManagementContext(Set<ManagementProvider> providers)
+   {
+      this.providers = providers;
+   }
+
+   public Collection<ManagementProvider> getProviders() {
+      return providers;
+   }
+}

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractFilter.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractFilter.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractFilter.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.web;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpServlet.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpServlet.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpServlet.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see&lt;http://www.gnu.org/licenses/&gt;.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.web;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpSessionListener.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpSessionListener.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/AbstractHttpSessionListener.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see&lt;http://www.gnu.org/licenses/&gt;.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.web;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerConfigOwner.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerConfigOwner.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerConfigOwner.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.web;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerCreator.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerCreator.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/web/PortalContainerCreator.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.web;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProvider.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.management.spi;
 

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/ManagementProviderContext.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.management.spi;
 
@@ -35,9 +37,17 @@
     *
     * @return the scoping properties
     */
-   List<Map<String, String>> getScopingProperties();
+   <S> List<S> getScopingProperties(Class<S> scopeType);
 
    /**
+    * Callback to obtain a management provider context for the specified managed resource scoped with
+    * the provided properties.
+    *
+    * @param scopingProperties the scoping properties
+    */
+   <S> void setScopingData(Class<S> scopeType, S scopingProperties);
+
+   /**
     * Before a managed resource is invoked by the management layer.
     *
     * @param managedResource the managed resource
@@ -51,14 +61,4 @@
     */
    void afterInvoke(Object managedResource);
 
-   /**
-    * Callback to obtain a management provider context  for the specified managed resource scoped with
-    * the provided properties.
-    *
-    * @param managedResource the managed resource
-    * @param scopingProperties the scoping properties
-    * @return the context
-    */
-   ManagementProviderContext createContext(Object managedResource, Map<String, String> scopingProperties);
-
 }

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoMBeanInfoBuilder.java (from rev 1210, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoMBeanInfoBuilder.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoMBeanInfoBuilder.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoMBeanInfoBuilder.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import org.exoplatform.management.spi.ManagedMethodMetaData;
+import org.exoplatform.management.spi.ManagedMethodParameterMetaData;
+import org.exoplatform.management.spi.ManagedPropertyMetaData;
+import org.exoplatform.management.spi.ManagedTypeMetaData;
+import org.exoplatform.container.management.MetaDataBuilder;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.Descriptor;
+import javax.management.IntrospectionException;
+import javax.management.MBeanParameterInfo;
+import javax.management.modelmbean.ModelMBeanAttributeInfo;
+import javax.management.modelmbean.ModelMBeanConstructorInfo;
+import javax.management.modelmbean.ModelMBeanInfo;
+import javax.management.modelmbean.ModelMBeanInfoSupport;
+import javax.management.modelmbean.ModelMBeanNotificationInfo;
+import javax.management.modelmbean.ModelMBeanOperationInfo;
+
+/**
+ * <p>A class that build mbean meta data</p>
+ *
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class ExoMBeanInfoBuilder
+{
+
+   private static enum Role {
+      SET("setter"), IS("getter"), GET("getter"), OP("operation");
+
+      private final String name;
+
+      private Role(String role)
+      {
+         this.name = role;
+      }
+   }
+
+   private ManagedTypeMetaData typeMD;
+
+   /**
+    * Create a new builder.
+    *
+    * @param clazz the clazz
+    * @throws IllegalArgumentException if the class is null or does not contain meta data
+    */
+   public ExoMBeanInfoBuilder(Class clazz) throws IllegalArgumentException
+   {
+      this.typeMD = new MetaDataBuilder(clazz).build();
+   }
+
+   public ExoMBeanInfoBuilder(ManagedTypeMetaData typeMD) throws IllegalArgumentException
+   {
+      this.typeMD = typeMD;
+   }
+
+   private ModelMBeanOperationInfo buildOperationInfo(Method method, String description, Role role,
+      Collection<ManagedMethodParameterMetaData> parametersMD)
+   {
+      ModelMBeanOperationInfo operationInfo = new ModelMBeanOperationInfo(description, method);
+
+      //
+      if (description == null)
+      {
+         description = "Management operation";
+      }
+
+      //
+      MBeanParameterInfo[] parameterInfos = operationInfo.getSignature();
+      for (ManagedMethodParameterMetaData parameterMD : parametersMD)
+      {
+         int i = parameterMD.getIndex();
+         MBeanParameterInfo parameterInfo = parameterInfos[i];
+         String parameterName = parameterInfo.getName();
+         String parameterDescription = operationInfo.getSignature()[i].getDescription();
+         if (parameterMD.getName() != null)
+         {
+            parameterName = parameterMD.getName();
+         }
+         else if (parameterMD.getDescription() != null)
+         {
+            parameterDescription = parameterMD.getDescription();
+         }
+         parameterInfos[i] = new MBeanParameterInfo(parameterName, parameterInfo.getType(), parameterDescription);
+      }
+
+      //
+      Descriptor operationDescriptor = operationInfo.getDescriptor();
+      operationDescriptor.setField("role", role.name);
+
+      //
+      return new ModelMBeanOperationInfo(operationInfo.getName(), description, parameterInfos, operationInfo
+         .getReturnType(), operationInfo.getImpact(), operationDescriptor);
+   }
+
+   /**
+    * Build the info.
+    *
+    * @return returns the info
+    * @throws IllegalStateException raised by any build time issue
+    */
+   public ModelMBeanInfo build() throws IllegalStateException
+   {
+      String mbeanDescription = "Exo model mbean";
+      if (typeMD.getDescription() != null)
+      {
+         mbeanDescription = typeMD.getDescription();
+      }
+
+      //
+      ArrayList<ModelMBeanOperationInfo> operations = new ArrayList<ModelMBeanOperationInfo>();
+      for (ManagedMethodMetaData methodMD : typeMD.getMethods())
+      {
+         ModelMBeanOperationInfo operationInfo =
+            buildOperationInfo(methodMD.getMethod(), methodMD.getDescription(), Role.OP, methodMD.getParameters());
+         operations.add(operationInfo);
+      }
+
+      //
+      Map<String, ModelMBeanAttributeInfo> attributeInfos = new HashMap<String, ModelMBeanAttributeInfo>();
+      for (ManagedPropertyMetaData propertyMD : typeMD.getProperties())
+      {
+
+         Method getter = propertyMD.getGetter();
+         if (getter != null)
+         {
+            Role role;
+            String getterName = getter.getName();
+            if (getterName.startsWith("get") && getterName.length() > 3)
+            {
+               role = Role.GET;
+            }
+            else if (getterName.startsWith("is") && getterName.length() > 2)
+            {
+               role = Role.IS;
+            }
+            else
+            {
+               throw new AssertionError();
+            }
+            Collection<ManagedMethodParameterMetaData> blah = Collections.emptyList();
+            ModelMBeanOperationInfo operationInfo =
+               buildOperationInfo(getter, propertyMD.getGetterDescription(), role, blah);
+            operations.add(operationInfo);
+         }
+
+         //
+         Method setter = propertyMD.getSetter();
+         if (setter != null)
+         {
+            ManagedMethodParameterMetaData s = new ManagedMethodParameterMetaData(0);
+            s.setDescription(propertyMD.getSetterParameter().getDescription());
+            s.setName(propertyMD.getSetterParameter().getName());
+            Collection<ManagedMethodParameterMetaData> blah = Collections.singletonList(s);
+            ModelMBeanOperationInfo operationInfo =
+               buildOperationInfo(setter, propertyMD.getSetterDescription(), Role.SET, blah);
+            operations.add(operationInfo);
+         }
+
+         //
+         try
+         {
+            String attributeDescription =
+               propertyMD.getDescription() != null ? propertyMD.getDescription() : ("Managed attribute " + propertyMD
+                  .getName());
+
+            //
+            ModelMBeanAttributeInfo attributeInfo =
+               new ModelMBeanAttributeInfo(propertyMD.getName(), attributeDescription, getter, setter);
+
+            //
+            Descriptor attributeDescriptor = attributeInfo.getDescriptor();
+            if (getter != null)
+            {
+               attributeDescriptor.setField("getMethod", getter.getName());
+            }
+            if (setter != null)
+            {
+               attributeDescriptor.setField("setMethod", setter.getName());
+            }
+            attributeDescriptor.setField("currencyTimeLimit", "-1");
+            attributeDescriptor.setField("persistPolicy", "Never");
+            attributeInfo.setDescriptor(attributeDescriptor);
+
+            //
+            ModelMBeanAttributeInfo previous = attributeInfos.put(propertyMD.getName(), attributeInfo);
+            if (previous != null)
+            {
+               throw new IllegalArgumentException();
+            }
+         }
+         catch (IntrospectionException e)
+         {
+            throw new AssertionError(e);
+         }
+      }
+
+      //
+      return new ModelMBeanInfoSupport(typeMD.getType().getName(), mbeanDescription, attributeInfos.values().toArray(
+         new ModelMBeanAttributeInfo[attributeInfos.size()]), new ModelMBeanConstructorInfo[0], operations
+         .toArray(new ModelMBeanOperationInfo[operations.size()]), new ModelMBeanNotificationInfo[0]);
+   }
+}

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoModelMBean.java (from rev 1210, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ExoModelMBean.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoModelMBean.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ExoModelMBean.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,164 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import org.exoplatform.management.spi.ManagementProviderContext;
+import org.exoplatform.management.ManagementAware;
+import org.exoplatform.management.ManagementContext;
+import org.exoplatform.management.jmx.annotations.NamingContext;
+
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanException;
+import javax.management.MBeanRegistration;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.ReflectionException;
+import javax.management.RuntimeOperationsException;
+import javax.management.modelmbean.InvalidTargetObjectTypeException;
+import javax.management.modelmbean.ModelMBeanInfo;
+import javax.management.modelmbean.RequiredModelMBean;
+
+/**
+ * A convenient subclass of {@link RequiredModelMBean) that routes the invocation of the interface
+ * {@link MBeanRegistration} to the managed resource when it implements the method. 
+ *
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class ExoModelMBean extends RequiredModelMBean
+{
+
+   /** . */
+   private Object mr;
+
+   /** . */
+   private final ManagementProviderContext context;
+
+   public ExoModelMBean(ManagementProviderContext context, Object mr, ModelMBeanInfo mbi) throws MBeanException,
+      RuntimeOperationsException, InstanceNotFoundException, InvalidTargetObjectTypeException
+   {
+      super(mbi);
+
+      //
+      this.context = context;
+      this.mr = mr;
+
+      //
+      setManagedResource(mr, "ObjectReference");
+   }
+
+   @Override
+   public Object invoke(String opName, Object[] opArgs, String[] sig) throws MBeanException, ReflectionException
+   {
+      context.beforeInvoke(mr);
+      try
+      {
+         return super.invoke(opName, opArgs, sig);
+      }
+      finally
+      {
+         context.afterInvoke(mr);
+      }
+   }
+
+   @Override
+   public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
+   {
+      name = super.preRegister(server, name);
+
+      //
+      if (mr instanceof MBeanRegistration)
+      {
+         ((MBeanRegistration)mr).preRegister(server, name);
+      }
+
+      //
+      return name;
+   }
+
+   @Override
+   public void postRegister(Boolean registrationDone)
+   {
+      super.postRegister(registrationDone);
+
+      //
+      PropertiesInfo info = PropertiesInfo.resolve(mr.getClass(), NamingContext.class);
+
+      //
+      MBeanScopingData scopingProperties = info != null ? info.resolve(mr) : new MBeanScopingData();
+
+      //
+      context.setScopingData(MBeanScopingData.class, scopingProperties);
+
+      //
+      if (mr instanceof MBeanRegistration)
+      {
+         ((MBeanRegistration)mr).postRegister(registrationDone);
+      }
+   }
+
+   @Override
+   public void preDeregister() throws Exception
+   {
+      if (mr instanceof MBeanRegistration)
+      {
+         ((MBeanRegistration)mr).preDeregister();
+      }
+
+      //
+      if (mr instanceof ManagementAware)
+      {
+         ((ManagementAware)mr).setContext(null);
+      }
+
+      //
+      super.preDeregister();
+   }
+
+   @Override
+   public void postDeregister()
+   {
+      if (mr instanceof MBeanRegistration)
+      {
+         ((MBeanRegistration)mr).postDeregister();
+      }
+
+      //
+      super.postDeregister();
+   }
+
+   //
+
+   public ManagementContext getManagementContext()
+   {
+      return context;
+   }
+
+   //
+
+   public void register(Object o) throws IllegalArgumentException, NullPointerException
+   {
+      context.register(o);
+   }
+
+   public void unregister(Object o) throws IllegalArgumentException, NullPointerException
+   {
+      context.unregister(o);
+   }
+}

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMX.java (from rev 1209, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMX.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMX.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMX.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+/**
+ * Various JMX utilities.
+ *
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class JMX
+{
+
+   private JMX()
+   {
+   }
+
+   /**
+    * This method create an object name from a generic map argument. The main reason is that
+    * the method {@link javax.management.ObjectName#getInstance(String, java.util.Hashtable)} has
+    * uses a non generic Hashtable with Java 5 and use a Hashtable<String, String> constructor in Java 6.
+    *
+    * The suitable solution is therefore to use a non generic Hashtable but that creates compilation warning therefore
+    * we encapsulate there this code in order to use the warning supression in that single place.
+    *
+    * @see ObjectName#getInstance(String, java.util.Hashtable)
+    *
+    * @param domain  The domain part of the object name.
+    * @param table A hash table containing one or more key
+    * properties.  The key of each entry in the table is the key of a
+    * key property in the object name.  The associated value in the
+    * table is the associated value in the object name.
+    *
+    * @return an ObjectName corresponding to the given domain and
+    * key mappings.
+    * @exception MalformedObjectNameException The <code>domain</code>
+    * contains an illegal character, or one of the keys or values in
+    * <code>table</code> contains an illegal character, or one of the
+    * values in <code>table</code> does not follow the rules for
+    * quoting.
+    * @exception NullPointerException One of the parameters is null.
+    */
+   @SuppressWarnings("unchecked")
+   public static ObjectName createObjectName(String domain, Map<String, String> table)
+      throws MalformedObjectNameException, NullPointerException
+   {
+      Hashtable tmp = new Hashtable(table);
+      return ObjectName.getInstance(domain, tmp);
+   }
+}

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMXManagementProvider.java (from rev 1211, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/JMXManagementProvider.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMXManagementProvider.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/JMXManagementProvider.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,181 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import org.exoplatform.management.spi.ManagedTypeMetaData;
+import org.exoplatform.management.spi.ManagementProvider;
+import org.exoplatform.management.spi.ManagementProviderContext;
+import org.exoplatform.management.jmx.annotations.NameTemplate;
+
+import javax.management.InstanceAlreadyExistsException;
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanRegistrationException;
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+import javax.management.modelmbean.ModelMBeanInfo;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class JMXManagementProvider implements ManagementProvider
+{
+
+   /** . */
+   private final MBeanServer server;
+
+   public JMXManagementProvider()
+   {
+      this(MBeanServerFactory.createMBeanServer());
+   }
+
+   public JMXManagementProvider(MBeanServer server)
+   {
+      this.server = server;
+   }
+
+   public Object manage(ManagementProviderContext context, Object managedResource, ManagedTypeMetaData metaData)
+   {
+      ExoModelMBean mbean = null;
+      try
+      {
+         ExoMBeanInfoBuilder infoBuilder = new ExoMBeanInfoBuilder(metaData);
+         ModelMBeanInfo info = infoBuilder.build();
+         mbean = new ExoModelMBean(context, managedResource, info);
+      }
+      catch (Exception e)
+      {
+         e.printStackTrace();
+      }
+
+      //
+      if (mbean != null)
+      {
+         ObjectName on = null;
+         PropertiesInfo oni = PropertiesInfo.resolve(managedResource.getClass(), NameTemplate.class);
+         if (oni != null)
+         {
+            try
+            {
+               Map<String, String> foo = oni.resolve(managedResource);
+               on = JMX.createObjectName("exo", foo);
+            }
+            catch (MalformedObjectNameException e)
+            {
+               e.printStackTrace();
+            }
+         }
+
+         if (on != null)
+         {
+            // Merge with the container hierarchy context
+            try
+            {
+               Map<String, String> props = new Hashtable<String, String>();
+
+               // Merge scoping properties
+               List<MBeanScopingData> list = context.getScopingProperties(MBeanScopingData.class);
+               for (MBeanScopingData scopingProperties : list)
+               {
+                  props.putAll(scopingProperties);
+               }
+
+               // Julien : I know it's does not look great but it's necessary
+               // for compiling under Java 5 and Java 6 properly. The methods
+               // ObjectName#getKeyPropertyList() returns an Hashtable with Java 5
+               // and a Hashtable<String, String> with Java 6.
+               for (Object o : on.getKeyPropertyList().entrySet())
+               {
+                  Map.Entry entry = (Map.Entry)o;
+                  String key = (String)entry.getKey();
+                  String value = (String)entry.getValue();
+                  props.put(key, value);
+               }
+
+               //
+               on = JMX.createObjectName(on.getDomain(), props);
+
+               //
+               attemptToRegister(on, mbean);
+
+               //
+               return on;
+            }
+            catch (MalformedObjectNameException e)
+            {
+               e.printStackTrace();
+            }
+         }
+      }
+
+      //
+      return null;  
+   }
+
+   private void attemptToRegister(ObjectName name, Object mbean)
+   {
+      synchronized (server)
+      {
+         try
+         {
+            server.registerMBean(mbean, name);
+         }
+         catch (InstanceAlreadyExistsException e)
+         {
+            try
+            {
+
+               server.unregisterMBean(name);
+               server.registerMBean(mbean, name);
+
+            }
+            catch (Exception e1)
+            {
+               throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
+            }
+         }
+         catch (Exception e)
+         {
+            throw new RuntimeException("Failed to register MBean '" + name + " due to " + e.getMessage(), e);
+         }
+      }
+   }
+
+   public void unmanage(Object key)
+   {
+      ObjectName name = (ObjectName)key;
+      try
+      {
+         server.unregisterMBean(name);
+      }
+      catch (InstanceNotFoundException e)
+      {
+         e.printStackTrace();
+      }
+      catch (MBeanRegistrationException e)
+      {
+         e.printStackTrace();
+      }
+   }
+}

Added: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/MBeanScopingData.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/MBeanScopingData.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/MBeanScopingData.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class MBeanScopingData extends HashMap<String, String>
+{
+   public MBeanScopingData(int initialCapacity, float loadFactor)
+   {
+      super(initialCapacity, loadFactor);
+   }
+
+   public MBeanScopingData(int initialCapacity)
+   {
+      super(initialCapacity);
+   }
+
+   public MBeanScopingData()
+   {
+   }
+
+   public MBeanScopingData(Map<? extends String, ? extends String> m)
+   {
+      super(m);
+   }
+}

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ObjectNameBuilder.java (from rev 1209, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/ObjectNameBuilder.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ObjectNameBuilder.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/ObjectNameBuilder.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import org.exoplatform.management.jmx.annotations.NameTemplate;
+
+import java.util.Map;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+/**
+ * A builder for object name templates.
+ *
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class ObjectNameBuilder<T>
+{
+
+   /** . */
+   private String domain;
+
+   /** . */
+   private Class<? extends T> clazz;
+
+   /**
+    * Create a new builder.
+    *
+    * @param clazz the class
+    * @throws IllegalArgumentException if the object is null
+    */
+   public ObjectNameBuilder(String domain, Class<? extends T> clazz) throws IllegalArgumentException
+   {
+      if (clazz == null)
+      {
+         throw new IllegalArgumentException("Clazz cannot be null");
+      }
+      this.domain = domain;
+      this.clazz = clazz;
+   }
+
+   /**
+    * Build the object name or return null if the class is not annotated by
+    * {@link NameTemplate}.
+    *
+    * @param object the object
+    * @return the built name
+    * @throws IllegalStateException raised by a build time issue 
+    */
+   public ObjectName build(T object) throws IllegalStateException
+   {
+      PropertiesInfo info = PropertiesInfo.resolve(clazz, NameTemplate.class);
+
+      //
+      if (info != null)
+      {
+
+         try
+         {
+            Map<String, String> props = info.resolve(object);
+            return JMX.createObjectName(domain, props);
+         }
+         catch (MalformedObjectNameException e)
+         {
+            throw new IllegalArgumentException("ObjectName template is malformed", e);
+         }
+      }
+
+      //
+      return null;
+   }
+}

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertiesInfo.java (from rev 1209, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertiesInfo.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertiesInfo.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertiesInfo.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import org.exoplatform.commons.reflect.AnnotationIntrospector;
+import org.exoplatform.management.jmx.annotations.NameTemplate;
+import org.exoplatform.management.jmx.annotations.NamingContext;
+import org.exoplatform.management.jmx.annotations.Property;
+
+import java.lang.annotation.Annotation;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class PropertiesInfo
+{
+
+   /** . */
+   private Map<String, PropertyInfo> properties;
+
+   public PropertiesInfo(Map<String, PropertyInfo> properties)
+   {
+      this.properties = properties;
+   }
+
+   public static PropertiesInfo resolve(Class clazz, Class<? extends Annotation> annotationClass)
+   {
+      Annotation tpl2 = AnnotationIntrospector.resolveClassAnnotations(clazz, annotationClass);
+      Property[] blah = null;
+      if (tpl2 instanceof NamingContext)
+      {
+         blah = ((NamingContext)tpl2).value();
+      }
+      else if (tpl2 instanceof NameTemplate)
+      {
+         blah = ((NameTemplate)tpl2).value();
+      }
+      if (blah != null)
+      {
+         Map<String, PropertyInfo> properties = new HashMap<String, PropertyInfo>();
+         for (Property property : blah)
+         {
+            PropertyInfo propertyInfo = new PropertyInfo(clazz, property);
+            properties.put(propertyInfo.getKey(), propertyInfo);
+         }
+         return new PropertiesInfo(properties);
+      }
+      else
+      {
+         return null;
+      }
+   }
+
+   public Collection<PropertyInfo> getProperties()
+   {
+      return properties.values();
+   }
+
+   public MBeanScopingData resolve(Object instance)
+   {
+      MBeanScopingData props = new MBeanScopingData();
+      for (PropertyInfo propertyInfo : properties.values())
+      {
+         String key = propertyInfo.getKey();
+         String value = propertyInfo.resolveValue(instance);
+         props.put(key, value);
+      }
+      return props;
+   }
+}

Copied: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertyInfo.java (from rev 1209, kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/jmx/PropertyInfo.java)
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertyInfo.java	                        (rev 0)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/management/spi/jmx/PropertyInfo.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -0,0 +1,161 @@
+/*
+ * Copyright (C) 2009 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.management.spi.jmx;
+
+import org.exoplatform.management.jmx.annotations.Property;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+
+import javax.management.ObjectName;
+
+/**
+ * @author <a href="mailto:julien.viet at exoplatform.com">Julien Viet</a>
+ * @version $Revision$
+ */
+public class PropertyInfo
+{
+
+   /** . */
+   private final String key;
+
+   /** . */
+   private final Value value;
+
+   public PropertyInfo(Class clazz, Property def)
+   {
+      String tmp = def.value();
+      Value value;
+      int length = tmp.length();
+      if (length > 2 && tmp.charAt(0) == '{' && tmp.charAt(length - 1) == '}')
+      {
+         String s = tmp.substring(1, length - 1);
+         String getterName = "get" + s;
+         Method getter;
+         try
+         {
+            getter = clazz.getMethod(getterName);
+         }
+         catch (NoSuchMethodException e)
+         {
+            throw new IllegalArgumentException("Getter parameter for property " + s + " on class " + clazz.getName()
+               + " does not exist", e);
+         }
+
+         //
+         if (getter.getReturnType() == void.class)
+         {
+            throw new IllegalArgumentException("Getter return type for property " + s + " on class " + clazz.getName()
+               + " cannot be void");
+         }
+         if (getter.getParameterTypes().length > 0)
+         {
+            throw new IllegalArgumentException("Getter parameter type for property " + s + " on class "
+               + clazz.getName() + " is not empty");
+         }
+         if (Modifier.isStatic(getter.getModifiers()))
+         {
+            throw new IllegalArgumentException("Getter for property " + s + " on class " + clazz.getName()
+               + " is static");
+         }
+
+         //
+         value = new DynamicValue(getter);
+      }
+      else
+      {
+         value = new LitteralValue(tmp);
+      }
+
+      //
+      this.key = def.key();
+      this.value = value;
+   }
+
+   public String resolveValue(Object instance)
+   {
+      return value.resolve(instance);
+   }
+
+   public String getKey()
+   {
+      return key;
+   }
+
+   private abstract static class Value
+   {
+      abstract String resolve(Object instance);
+   }
+
+   private class DynamicValue extends Value
+   {
+
+      /** . */
+      private final Method getter;
+
+      private DynamicValue(Method getter)
+      {
+         this.getter = getter;
+      }
+
+      String resolve(Object instance)
+      {
+         Object value;
+         try
+         {
+            value = getter.invoke(instance);
+         }
+         catch (IllegalAccessException e)
+         {
+            throw new IllegalArgumentException("Getter for property " + key + " on class "
+               + getter.getClass().getName() + " cannot be invoked", e);
+         }
+         catch (InvocationTargetException e)
+         {
+            throw new IllegalArgumentException("Getter for property " + key + " on class "
+               + getter.getClass().getName() + " threw an exception during invocation", e);
+         }
+         if (value == null)
+         {
+            throw new IllegalArgumentException("Getter for property " + key + " on class "
+               + getter.getClass().getName() + " returned a null value");
+         }
+         return ObjectName.quote(value.toString());
+      }
+   }
+
+   private static class LitteralValue extends Value
+   {
+
+      /** . */
+      private final String litteral;
+
+      private LitteralValue(String litteral)
+      {
+         this.litteral = litteral;
+      }
+
+      String resolve(Object instance)
+      {
+         return litteral;
+      }
+   }
+
+}

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/ComponentWithRequestLifeCycle.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/ComponentWithRequestLifeCycle.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/ComponentWithRequestLifeCycle.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/LifeCycle.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/LifeCycle.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/LifeCycle.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainerInitTaskContextComparator.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainerInitTaskContextComparator.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPortalContainerInitTaskContextComparator.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see&lt;http://www.gnu.org/licenses/&gt;.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPropertyManagerConfigurator.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPropertyManagerConfigurator.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestPropertyManagerConfigurator.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestRequestLifeCycle.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestRequestLifeCycle.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestRequestLifeCycle.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestUnifiedClassLoader.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestUnifiedClassLoader.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestUnifiedClassLoader.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see&lt;http://www.gnu.org/licenses/&gt;.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestWebAppInitContextComparator.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestWebAppInitContextComparator.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/TestWebAppInitContextComparator.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2009 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see&lt;http://www.gnu.org/licenses/&gt;.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/AbstractProfileTest.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/AbstractProfileTest.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/AbstractProfileTest.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/InitParamsHolder.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/InitParamsHolder.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/InitParamsHolder.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestCollectionValue.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestCollectionValue.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestCollectionValue.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentPluginProfile.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentPluginProfile.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentPluginProfile.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentProfile.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentProfile.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestComponentProfile.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestField.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestField.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestField.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestImportProfile.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestImportProfile.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestImportProfile.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestInitParamProfile.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestInitParamProfile.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/configuration/TestInitParamProfile.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.configuration;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/AbstractTestExoMBean.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/AbstractTestExoMBean.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/AbstractTestExoMBean.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -19,6 +19,7 @@
 package org.exoplatform.container.jmx;
 
 import junit.framework.TestCase;
+import org.exoplatform.management.spi.jmx.ExoMBeanInfoBuilder;
 
 import javax.management.MBeanServer;
 import javax.management.MBeanServerFactory;

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestNameTemplate.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestNameTemplate.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestNameTemplate.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -22,6 +22,7 @@
 
 import org.exoplatform.management.jmx.annotations.NameTemplate;
 import org.exoplatform.management.jmx.annotations.Property;
+import org.exoplatform.management.spi.jmx.ObjectNameBuilder;
 
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestPortalContainerManagedIntegration.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestPortalContainerManagedIntegration.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/TestPortalContainerManagedIntegration.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.jmx;
 
@@ -47,12 +49,12 @@
 
       //
       SimpleManagementAware rootManagementAware = (SimpleManagementAware)root.getComponentInstance("RootManagementAware");
-      ManagementContextImpl rootManagementAwareContext = (ManagementContextImpl)((ExoModelMBean)rootManagementAware.context).getManagementContext();
+      ManagementContextImpl rootManagementAwareContext = (ManagementContextImpl)rootManagementAware.context;
       assertSame(rootManagementContext, rootManagementAwareContext.getParent());
 
       //
       SimpleManagementAware portalManagementAware = (SimpleManagementAware)portal.getComponentInstance("PortalManagementAware");
-      ManagementContextImpl portalManagementAwareContext = (ManagementContextImpl)((ExoModelMBean)portalManagementAware.context).getManagementContext();
+      ManagementContextImpl portalManagementAwareContext = (ManagementContextImpl)portalManagementAware.context;
       assertSame(portalManagementContext, portalManagementAwareContext.getParent());
    }
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedComponentRequestLifeCycle.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedComponentRequestLifeCycle.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/ManagedComponentRequestLifeCycle.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.jmx.support;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/SimpleManagementAware.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/SimpleManagementAware.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/jmx/support/SimpleManagementAware.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.jmx.support;
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/support/ContainerBuilder.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/support/ContainerBuilder.java	2009-12-28 15:07:27 UTC (rev 1217)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/support/ContainerBuilder.java	2009-12-28 15:18:00 UTC (rev 1218)
@@ -1,18 +1,20 @@
 /*
- * Copyright (C) 2003-2007 eXo Platform SAS.
+ * Copyright (C) 2009 eXo Platform SAS.
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License
- * as published by the Free Software Foundation; either version 3
- * of the License, or (at your option) any later version.
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
  *
- * This program is distributed in the hope that it will be useful,
+ * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see<http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
 package org.exoplatform.container.support;
 



More information about the exo-jcr-commits mailing list