JBoss Tools SVN: r37671 - in trunk/cdi/tests/org.jboss.tools.cdi.bot.test: launchers and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: jjankovi
Date: 2012-01-06 05:20:00 -0500 (Fri, 06 Jan 2012)
New Revision: 37671
Added:
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDIAllBotTests.launch
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISeam3AllBotTests.launch
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISmokeBotTests.launch
Removed:
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDIAllBotTests.launch
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISeam3AllBotTests.launch
trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISmokeBotTests.launch
Log:
Move launchers to new folder
Deleted: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDIAllBotTests.launch
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDIAllBotTests.launch 2012-01-06 08:43:03 UTC (rev 37670)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDIAllBotTests.launch 2012-01-06 10:20:00 UTC (rev 37671)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
-<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
-<listEntry value="/org.jboss.tools.cdi.core/bin"/>
-<listEntry value="/org.jboss.tools.cdi.solder.core/bin"/>
-<listEntry value="/org.jboss.tools.cdi.text.ext/bin"/>
-<listEntry value="/org.jboss.tools.cdi.xml/bin"/>
-<listEntry value="/org.jboss.tools.cdi.xml.ui/bin"/>
-<listEntry value="/org.jboss.tools.cdi.ui/bin"/>
-</listAttribute>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDIAllBotTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<mapAttribute key="org.eclipse.debug.core.environmentVariables">
-<mapEntry key="DISPLAY" value=":1"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.jboss.tools.cdi.bot.test.CDIAllBotTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.jboss.tools.cdi.bot.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx512m -Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties -Dusage_reporting_enabled=false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
Deleted: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISeam3AllBotTests.launch
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISeam3AllBotTests.launch 2012-01-06 08:43:03 UTC (rev 37670)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISeam3AllBotTests.launch 2012-01-06 10:20:00 UTC (rev 37671)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
-<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
-<listEntry value="/org.jboss.tools.cdi.core/bin"/>
-<listEntry value="/org.jboss.tools.cdi.solder.core/bin"/>
-<listEntry value="/org.jboss.tools.cdi.text.ext/bin"/>
-<listEntry value="/org.jboss.tools.cdi.xml/bin"/>
-<listEntry value="/org.jboss.tools.cdi.xml.ui/bin"/>
-<listEntry value="/org.jboss.tools.cdi.ui/bin"/>
-</listAttribute>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDISeam3AllBotTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<mapAttribute key="org.eclipse.debug.core.environmentVariables">
-<mapEntry key="DISPLAY" value=":1"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.jboss.tools.cdi.bot.test.CDISeam3AllBotTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.jboss.tools.cdi.bot.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx512m -Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties -Dusage_reporting_enabled=false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
Deleted: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISmokeBotTests.launch
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISmokeBotTests.launch 2012-01-06 08:43:03 UTC (rev 37670)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/CDISmokeBotTests.launch 2012-01-06 10:20:00 UTC (rev 37671)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
-<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
-<listEntry value="/org.jboss.tools.cdi.core/bin"/>
-<listEntry value="/org.jboss.tools.cdi.solder.core/bin"/>
-<listEntry value="/org.jboss.tools.cdi.text.ext/bin"/>
-<listEntry value="/org.jboss.tools.cdi.xml/bin"/>
-<listEntry value="/org.jboss.tools.cdi.xml.ui/bin"/>
-<listEntry value="/org.jboss.tools.cdi.ui/bin"/>
-</listAttribute>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDISmokeBotTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<mapAttribute key="org.eclipse.debug.core.environmentVariables">
-<mapEntry key="DISPLAY" value=":1"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.jboss.tools.cdi.bot.test.CDISmokeBotTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.jboss.tools.cdi.bot.test"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx512m -Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties -Dusage_reporting_enabled=false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
Added: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDIAllBotTests.launch
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDIAllBotTests.launch (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDIAllBotTests.launch 2012-01-06 10:20:00 UTC (rev 37671)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
+<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
+<listEntry value="/org.jboss.tools.cdi.core/bin"/>
+<listEntry value="/org.jboss.tools.cdi.solder.core/bin"/>
+<listEntry value="/org.jboss.tools.cdi.text.ext/bin"/>
+<listEntry value="/org.jboss.tools.cdi.xml/bin"/>
+<listEntry value="/org.jboss.tools.cdi.xml.ui/bin"/>
+<listEntry value="/org.jboss.tools.cdi.ui/bin"/>
+</listAttribute>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDIAllBotTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":1"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.jboss.tools.cdi.bot.test.CDIAllBotTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.jboss.tools.cdi.bot.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx512m -Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties -Dusage_reporting_enabled=false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
Added: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISeam3AllBotTests.launch
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISeam3AllBotTests.launch (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISeam3AllBotTests.launch 2012-01-06 10:20:00 UTC (rev 37671)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
+<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
+<listEntry value="/org.jboss.tools.cdi.core/bin"/>
+<listEntry value="/org.jboss.tools.cdi.solder.core/bin"/>
+<listEntry value="/org.jboss.tools.cdi.text.ext/bin"/>
+<listEntry value="/org.jboss.tools.cdi.xml/bin"/>
+<listEntry value="/org.jboss.tools.cdi.xml.ui/bin"/>
+<listEntry value="/org.jboss.tools.cdi.ui/bin"/>
+</listAttribute>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDISeam3AllBotTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":1"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.jboss.tools.cdi.bot.test.CDISeam3AllBotTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.jboss.tools.cdi.bot.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx512m -Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties -Dusage_reporting_enabled=false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
Added: trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISmokeBotTests.launch
===================================================================
--- trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISmokeBotTests.launch (rev 0)
+++ trunk/cdi/tests/org.jboss.tools.cdi.bot.test/launchers/CDISmokeBotTests.launch 2012-01-06 10:20:00 UTC (rev 37671)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.swtbot.eclipse.ui.launcher.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<booleanAttribute key="com.mountainminds.eclemma.core.INPLACE_INSTRUMENTATION" value="true"/>
+<listAttribute key="com.mountainminds.eclemma.core.INSTRUMENTATION_PATHS">
+<listEntry value="/org.jboss.tools.cdi.core/bin"/>
+<listEntry value="/org.jboss.tools.cdi.solder.core/bin"/>
+<listEntry value="/org.jboss.tools.cdi.text.ext/bin"/>
+<listEntry value="/org.jboss.tools.cdi.xml/bin"/>
+<listEntry value="/org.jboss.tools.cdi.xml.ui/bin"/>
+<listEntry value="/org.jboss.tools.cdi.ui/bin"/>
+</listAttribute>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.jboss.tools.cdi.bot.test/src/org/jboss/tools/cdi/bot/test/CDISmokeBotTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":1"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.jboss.tools.cdi.bot.test.CDISmokeBotTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.jboss.tools.cdi.bot.test"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms256m -Xmx512m -Dswtbot.test.properties.file=${env_var:HOME}/swtbot.properties -Dusage_reporting_enabled=false"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
12 years, 11 months
JBoss Tools SVN: r37670 - in trunk/maven/tests/org.jboss.tools.maven.ui.bot.test: src/org/jboss/tools/maven/ui/bot/test and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: rawagner
Date: 2012-01-06 03:43:03 -0500 (Fri, 06 Jan 2012)
New Revision: 37670
Added:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MaterializeLibraryTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/Utils.java
Modified:
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.classpath
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/pom.xml
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/AbstractMavenSWTBotTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java
trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java
Log:
new test for Materialize library
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.classpath
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.classpath 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.classpath 2012-01-06 08:43:03 UTC (rev 37670)
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src/"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/.project 2012-01-06 08:43:03 UTC (rev 37670)
@@ -38,19 +38,39 @@
<location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.common_3.3.0.v20111027-1555-H29-M4</location>
</link>
<link>
+ <name>lib-org.jboss.tools.common_3.3.0.v20111208-2036-H34-M5</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5m5a/studio/plugins/org.jboss.tools.common_3.3.0.v20111208-2036-H34-M5</location>
+ </link>
+ <link>
<name>lib-org.jboss.tools.jst.web.kb_3.3.0.v20111021-1521-H30-M4</name>
<type>2</type>
<location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.jst.web.kb_3.3.0.v20111021-1521-H30-M4</location>
</link>
<link>
+ <name>lib-org.jboss.tools.jst.web.kb_3.3.0.v20111208-2115-H35-M5</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5m5a/studio/plugins/org.jboss.tools.jst.web.kb_3.3.0.v20111208-2115-H35-M5</location>
+ </link>
+ <link>
<name>lib-org.jboss.tools.tests_3.2.0.v20111108-2302-Beta1</name>
<type>2</type>
<location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.tests_3.2.0.v20111108-2302-Beta1</location>
</link>
<link>
+ <name>lib-org.jboss.tools.tests_3.2.0.v20111124-2026-H477-M5</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5m5a/studio/plugins/org.jboss.tools.tests_3.2.0.v20111124-2026-H477-M5</location>
+ </link>
+ <link>
<name>lib-org.jboss.tools.ui.bot.ext_3.2.0.v20111108-2302-Beta1</name>
<type>2</type>
<location>/home/eiden/Java/RedHat/Eclipses/jbds5.0.0.M4b/studio/plugins/org.jboss.tools.ui.bot.ext_3.2.0.v20111108-2302-Beta1</location>
</link>
+ <link>
+ <name>lib-org.jboss.tools.ui.bot.ext_3.2.0.v20111124-2026-H477-M5</name>
+ <type>2</type>
+ <location>/home/eiden/Java/RedHat/Eclipses/jbds5m5a/studio/plugins/org.jboss.tools.ui.bot.ext_3.2.0.v20111124-2026-H477-M5</location>
+ </link>
</linkedResources>
</projectDescription>
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/pom.xml
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/pom.xml 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/pom.xml 2012-01-06 08:43:03 UTC (rev 37670)
@@ -13,7 +13,7 @@
<packaging>eclipse-test-plugin</packaging>
<properties>
- <systemProperties>-Djbosstools.test.jboss.home.5.1=${requirement.build.root}/jboss-5.1.0.GA -Djbosstools.test.seam.2.0.1.GA.home=${requirement.build.root}/jboss-seam-2.2.0.GA</systemProperties>
+ <systemProperties>-Djbosstools.test.jboss.home.6.0=${requirement.build.root}/jbossas-6.0.0.Final -Djbosstools.test.jboss.home.5.1=${requirement.build.root}/jboss-5.1.0.GA -Djbosstools.test.seam.2.0.1.GA.home=${requirement.build.root}/jboss-seam-2.2.0.GA</systemProperties>
</properties>
<build>
<plugins>
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/AbstractMavenSWTBotTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/AbstractMavenSWTBotTest.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/AbstractMavenSWTBotTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -40,6 +40,7 @@
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
+@SuppressWarnings("restriction")
@RunWith(SWTBotJunit4ClassRunner.class)
public abstract class AbstractMavenSWTBotTest extends AbstractMavenProjectTestCase {
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenProjectsTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -9,6 +9,7 @@
import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.swt.finder.SWTBot;
+import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.jboss.tools.ui.bot.ext.SWTBotExt;
import org.jboss.tools.ui.bot.ext.SWTUtilExt;
@@ -43,28 +44,91 @@
createSimpleMavenProject(projectName, "jar");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
- //Utils.isMavenProject(projectName);
- buildProject(projectName,"5 Maven build...");
+ assertTrue(Utils.isMavenProject(projectName));
+ buildProject(projectName,"5 Maven build...", "jar");
}
@Test
- public void createSimpleWarProject() throws Exception {
- String projectName = "MavenWar";
- createSimpleMavenProject(projectName, "war");
+ public void createSimpleJarProjectArchetype() throws Exception {
+ String projectName = "ArchetypeQuickstart";
+ createSimpleMavenProjectArchetype(projectName,"maven-archetype-quickstart", "Nexus Indexer");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
- //Utils.isMavenProject(projectName);
- buildProject(projectName,"5 Maven build...");
+ assertTrue(Utils.isMavenProject(projectName));
+ buildProject(projectName, "6 Maven build...", "jar");
}
-
+
+
@Test
- public void createSimpleJarProjectArchetype() throws Exception {
- String projectName = "ArchetypeQuickstart";
- createSimpleMavenProjectArchetype(projectName,"maven-archetype-quickstart", "Nexus Indexer");
+ public void createSimpleJarMavenizedProject() throws InterruptedException, CoreException{
+ String projectName = "JarMavenized";
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.menu("File").menu("New").menu("Other...").click();
+ waitForIdle();
+ SWTBot shell = botExt.shell("New").activate().bot();
+ shell.tree().expandNode("Java").select("Java Project");
+ shell.button("Next >").click();
+ shell.textWithLabel("Project name:").setText(projectName);
+ shell.button("Finish").click();
+ waitForIdle();
+ SWTBot explorer = botExt.viewByTitle("Package Explorer").bot();
+ explorer.tree().getTreeItem(projectName).select().pressShortcut(Keystrokes.ALT,Keystrokes.LF);
+ Thread.sleep(1000);
+ botExt.tree().select("Project Facets");
+ Thread.sleep(500);
+ botExt.link(0).click("Convert to faceted form...");
+ waitForIdle();
+ botExt.tree(1).getTreeItem("JBoss Maven Integration").check();
+ Thread.sleep(500);
+ botExt.hyperlink("Further configuration required...").click();
+ botExt.comboBoxWithLabel("Packaging:").setSelection("jar");
+ botExt.button("OK").click();
+ botExt.button("OK").click();
+ waitForIdle();
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ assertNoErrors(project);
+ assertTrue(Utils.isMavenProject(projectName));
+ buildProject(projectName,"5 Maven build...", "jar");
+
+ }
+
+
+ @Test
+ public void createSimpleWarMavenizedProject() throws InterruptedException, CoreException{
+ String projectName = "WarMavenized";
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.menu("File").menu("New").menu("Other...").click();
+ waitForIdle();
+ SWTBot shell = botExt.shell("New").activate().bot();
+ shell.tree().expandNode("Web").select("Dynamic Web Project");
+ shell.button("Next >").click();
+ botExt.textWithLabel("Project name:").setText(projectName);
+ botExt.button("Modify...").click();
+ botExt.tree().getTreeItem("JBoss Maven Integration").check();
+ botExt.button("OK").click();
+ botExt.button("Next >").click();
+ botExt.button("Next >").click();
+ botExt.checkBox("Generate web.xml deployment descriptor").select();
+ botExt.button("Next >").click();
+ botExt.button("Finish").click();
+ waitForIdle();
+ botExt.button("No").click();
+ waitForIdle();
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ assertNoErrors(project);
+ assertTrue(Utils.isMavenProject(projectName));
+ buildProject(projectName,"5 Maven build...", "war");
+
+ }
+
+ @Test
+ public void createSimpleJSFProjectArchetype() throws Exception {
+ String projectName = "JsfQuickstart";
+ createSimpleMavenProjectArchetype(projectName,"weld-jsf-jee-minimal", "Nexus Indexer");
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
- //Utils.isMavenProject(projectName);
- buildProject(projectName, "6 Maven build...");
+ assertTrue(Utils.isMavenProject(projectName));
+ buildProject(projectName, "6 Maven build...", "jar");
}
private void createSimpleMavenProjectArchetype(String projectName,String projectType, String catalog) throws InterruptedException,CoreException {
@@ -76,7 +140,7 @@
shell.button("Next >").click();
shell.checkBox("Create a simple project (skip archetype selection)").deselect();
shell.button("Next >").click();
- Thread.sleep(1000);
+ Thread.sleep(2000);
shell.comboBox().setSelection(catalog);
Thread.sleep(1000);
int index = botExt.table(0).indexOf(projectType, "Artifact Id");
@@ -88,9 +152,9 @@
shell.comboBoxWithLabel("Group Id:").setText(projectName);
shell.comboBoxWithLabel("Artifact Id:").setText(projectName);
shell.button("Finish").click();
- waitForIdle();
+ waitForJobsToComplete();
}
-
+
private void createSimpleMavenProject(String projectName, String projectType) throws InterruptedException, CoreException {
SWTBotExt botExt = new SWTBotExt();
botExt.menu("File").menu("New").menu("Other...").click();
@@ -107,7 +171,7 @@
}
- private void buildProject(String projectName, String mavenBuild) throws CoreException {
+ private void buildProject(String projectName, String mavenBuild, String packaging) throws CoreException {
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
SWTBot explorer = bot.viewByTitle("Package Explorer").bot();
SWTBotTreeItem item = explorer.tree().getTreeItem(projectName).select();
@@ -118,7 +182,7 @@
waitForIdle();
project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
project.getFolder("target").refreshLocal(IResource.DEPTH_INFINITE,new NullProgressMonitor());
- IFile jarFile = project.getFile("target/" + projectName + "-0.0.1-SNAPSHOT.jar");
+ IFile jarFile = project.getFile("target/" + projectName + "-0.0.1-SNAPSHOT."+packaging);
assertTrue(jarFile + " is missing ", jarFile.exists());
}
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedEARProjectTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -1,28 +1,16 @@
package org.jboss.tools.maven.ui.bot.test;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.StringWriter;
+import static org.junit.Assert.assertTrue;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
+import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.jboss.tools.ui.bot.ext.SWTBotExt;
import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
import org.junit.Test;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.SAXException;
@Require(perspective="Java EE")
@@ -50,18 +38,21 @@
botext.comboBoxWithLabel("Packaging:").setSelection("ear");
botext.button("Finish").click();
waitForIdle();
+ assertTrue(Utils.isMavenProject(EAR_PROJECT_NAME));
installProject(WAR_PROJECT_NAME);
installProject(EJB_PROJECT_NAME);
- editEARPomDependencies();
botext.viewByTitle("Project Explorer").bot().tree().getTreeItem(EAR_PROJECT_NAME).contextMenu("Run As").menu("5 Maven build...").click();
waitForIdle();
botext.textWithLabel("Goals:").setText("clean package");
botext.button("Run").click();
waitForIdle();
-
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(EAR_PROJECT_NAME);
+ project.getFolder("target").refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ IFolder earFolder = project.getFolder("target/" + EAR_PROJECT_NAME + "-0.0.1-SNAPSHOT");
+ assertTrue(earFolder +" is missing ", earFolder.exists());
}
- private void createWarProject(String projectName){
+ private void createWarProject(String projectName) throws CoreException{
botext.menu("File").menu("Dynamic Web Project").click();
botext.textWithLabel("Project name:").setText(projectName);
botext.button("Modify...").click();
@@ -73,9 +64,11 @@
botext.button("Next >").click();
botext.button("Finish").click();
waitForIdle();
+ assertTrue(Utils.isMavenProject(projectName));
+
}
- private void createEJBProject(String projectName){
+ private void createEJBProject(String projectName) throws CoreException{
botext.menu("File").menu("EJB Project").click();
botext.textWithLabel("Project name:").setText(projectName);
botext.button("Modify...").click();
@@ -87,6 +80,7 @@
botext.comboBoxWithLabel("Packaging:").setSelection("ejb");
botext.button("Finish").click();
waitForIdle();
+ assertTrue(Utils.isMavenProject(projectName));
}
private void installProject(String projectName) throws InterruptedException{
@@ -96,86 +90,6 @@
waitForIdle();
}
- private void editEARPomDependencies() throws ParserConfigurationException, SAXException, IOException, CoreException, TransformerException{
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(EAR_PROJECT_NAME);
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = factory.newDocumentBuilder();
- Document docPom = docBuilder.parse(project.getFile("pom.xml").getContents());
- Element modulesElement = docPom.createElement("modules");
- Element webModuleElement = docPom.createElement("webModule");
- Element groupIdWebElement = docPom.createElement("groupId");
- Element artifactIdWebElement = docPom.createElement("artifactId");
- Element versionWebElement = docPom.createElement("version");
- Element bundleFileNameWebElement = docPom.createElement("bundleFileName");
- Element ejbModuleElement = docPom.createElement("ejbModule");
- Element groupIdEjbElement = docPom.createElement("groupId");
- Element artifactIdEjbElement = docPom.createElement("artifactId");
- Element groupIdEjbModuleElement = docPom.createElement("groupId");
- Element artifactIdEjbModuleElement = docPom.createElement("artifactId");
- Element groupIdWebModuleElement = docPom.createElement("groupId");
- Element artifactIdWebModuleElement = docPom.createElement("artifactId");
- Element versionEjbElement = docPom.createElement("version");
- Element bundleFileNameEjbElement = docPom.createElement("bundleFileName");
- Element dependenciesElement = docPom.createElement("dependencies");
- Element dependencyEjbElement = docPom.createElement("dependency");
- Element dependencyWarElement = docPom.createElement("dependency");
- Element typeEjbElement = docPom.createElement("type");
- Element typeWarElement = docPom.createElement("type");
-
- groupIdWebElement.setTextContent("org.jboss.tools");
- groupIdEjbElement.setTextContent("org.jboss.tools");
- artifactIdWebElement.setTextContent(WAR_PROJECT_NAME);
- artifactIdEjbElement.setTextContent(EJB_PROJECT_NAME);
- groupIdWebModuleElement.setTextContent("org.jboss.tools");
- groupIdEjbModuleElement.setTextContent("org.jboss.tools");
- artifactIdWebModuleElement.setTextContent(WAR_PROJECT_NAME);
- artifactIdEjbModuleElement.setTextContent(EJB_PROJECT_NAME);
- versionWebElement.setTextContent("0.0.1-SNAPSHOT");
- versionEjbElement.setTextContent("0.0.1-SNAPSHOT");
- typeWarElement.setTextContent("war");
- typeEjbElement.setTextContent("ejb");
- bundleFileNameWebElement.setTextContent(WAR_PROJECT_NAME+"-0.0.1-SNAPSHOT.war");
- bundleFileNameEjbElement.setTextContent(EJB_PROJECT_NAME+"-0.0.1-SNAPSHOT.jar");
-
- webModuleElement.appendChild(groupIdWebModuleElement);
- webModuleElement.appendChild(artifactIdEjbModuleElement);
- webModuleElement.appendChild(bundleFileNameWebElement);
- ejbModuleElement.appendChild(groupIdEjbModuleElement);
- ejbModuleElement.appendChild(artifactIdEjbModuleElement);
- ejbModuleElement.appendChild(bundleFileNameEjbElement);
- modulesElement.appendChild(webModuleElement);
- modulesElement.appendChild(ejbModuleElement);
-
- dependencyWarElement.appendChild(groupIdWebElement);
- dependencyWarElement.appendChild(artifactIdWebElement);
- dependencyWarElement.appendChild(versionWebElement);
- dependencyWarElement.appendChild(typeWarElement);
- dependencyEjbElement.appendChild(groupIdEjbElement);
- dependencyEjbElement.appendChild(artifactIdEjbElement);
- dependencyEjbElement.appendChild(versionEjbElement);
- dependencyEjbElement.appendChild(typeEjbElement);
- dependenciesElement.appendChild(dependencyWarElement);
- dependenciesElement.appendChild(dependencyEjbElement);
-
- Element root = docPom.getDocumentElement();
- Element buildElement = (Element)root.getElementsByTagName("build").item(0);
- Node plugin = buildElement.getElementsByTagName("configuration").item(0);
-
- root.appendChild(dependenciesElement);
- plugin.appendChild(modulesElement);
-
- //save xml
- TransformerFactory transfac = TransformerFactory.newInstance();
- Transformer trans = transfac.newTransformer();
- StringWriter xmlAsWriter = new StringWriter();
- StreamResult result = new StreamResult(xmlAsWriter);
- DOMSource source = new DOMSource(docPom);
- trans.transform(source, result);
- project.getFile("pom.xml").setContents(new ByteArrayInputStream(xmlAsWriter.toString().getBytes("UTF-8")), 0, null);
- waitForIdle();
-
- }
-
private static void waitForIdle() {
AbstractMavenSWTBotTest.waitForIdle();
}
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedJSFProjectTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -29,10 +29,7 @@
import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
import org.jboss.tools.ui.bot.ext.SWTBotExt;
-import org.jboss.tools.ui.bot.ext.SWTTestExt;
import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
-import org.jboss.tools.ui.bot.ext.config.Annotations.Server;
-import org.jboss.tools.ui.bot.ext.config.Annotations.ServerState;
import org.junit.BeforeClass;
import org.junit.Test;
import org.w3c.dom.Document;
@@ -40,11 +37,11 @@
import org.w3c.dom.Node;
import org.xml.sax.SAXException;
+//TODO deployment
@SuppressWarnings("restriction")
@Require(perspective = "Web Development")
public class CreateMavenizedJSFProjectTest{
- public static final String JBOSS6_AS_HOME=System.getProperty("jbosstools.test.jboss.home.6.1", "/home/eiden/Java/RedHat/JBossASs/jboss-6.1.0.Final");
- public static final String JBOSS7_AS_HOME=System.getProperty("jbosstools.test.jboss.home.7.0", "/home/eiden/Java/RedHat/JBossASs/jboss-as-7.0.1.Final1");
+ public static final String JBOSS6_AS_HOME=System.getProperty("jbosstools.test.jboss.home.6.0");
public static final String POM_FILE = "pom.xml";
public static final String PROJECT_NAME6="JSFProject6";
public static final String PROJECT_NAME7="JSFProject7";
@@ -90,23 +87,8 @@
}
*/
- @Test
- public void createJSFProjectTest_AS7_v2() throws InterruptedException, CoreException{
- createJSFProject(SERVER_RUNTIME7, SERVER7, JBOSS7_AS_HOME,"JSF 2.0", PROJECT_NAME7);
- }
@Test
- public void activateMavenFacet_AS7_v2() throws InterruptedException, CoreException{
- activateMavenFacet(PROJECT_NAME7);
- }
-
- @Test
- public void buildProject_AS7_v2() throws CoreException, ParserConfigurationException, SAXException, IOException, TransformerException, InterruptedException{
- addDependencies(PROJECT_NAME7, JSF_VERSION_2);
- buildProject(PROJECT_NAME7);
- }
-
- @Test
public void createJSFProjectTest_AS6_v1() throws InterruptedException, CoreException{
createJSFProject(SERVER_RUNTIME6, SERVER6, JBOSS6_AS_HOME,"JSF 1.2", PROJECT_NAME6_v1);
}
@@ -122,23 +104,7 @@
buildProject(PROJECT_NAME6_v1);
}
- @Test
- public void createJSFProjectTest_AS7_v1() throws InterruptedException, CoreException{
- createJSFProject(SERVER_RUNTIME7, SERVER7, JBOSS7_AS_HOME,"JSF 1.2", PROJECT_NAME7_v1);
- }
- @Test
- public void activateMavenFacet_AS7_v1() throws InterruptedException, CoreException{
- activateMavenFacet(PROJECT_NAME7_v1);
- }
-
- @Test
- public void buildProject_AS7_v1() throws CoreException, ParserConfigurationException, SAXException, IOException, TransformerException, InterruptedException{
- addDependencies(PROJECT_NAME7_v1, JSF_VERSION_1_2);
- buildProject(PROJECT_NAME7_v1);
- }
-
-
private void createJSFProject(String serverRuntime, String server, String serverHome, String jsfVersion, String projectName) throws InterruptedException, CoreException{
bot.menu("File").menu("New").menu("JSF Project").click();
SWTBot shell = bot.shell("New JSF Project").activate().bot();
@@ -205,6 +171,10 @@
Thread.sleep(1000);
SWTBot shellProperties = bot.shell("Properties for "+projectName).activate().bot();
shellProperties.tree().select("Project Facets");
+ Thread.sleep(500);
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.link(0).click("Convert to faceted form...");
+ waitForIdle();
shellProperties.tree(1).getTreeItem("JBoss Maven Integration").check();
Thread.sleep(500);
SWTBotExt swtBot = new SWTBotExt();
@@ -214,7 +184,7 @@
waitForIdle();
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
assertNoErrors(project);
- //Utils.isMavenProject(projectName);
+ assertTrue(Utils.isMavenProject(projectName));
}
private void buildProject(String projectName) throws CoreException{
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/CreateMavenizedSeamProjectTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -120,17 +120,17 @@
public static final String HSQL_PROFILE_ID = "org.eclipse.datatools.enablement.hsqldb.connectionProfile";
- public static final String JBOSS_AS_HOME = System.getProperty("jbosstools.test.jboss.home.5.1", "/home/eiden/Java/RedHat/JBossASs/jboss-5.1.0.GA");//"E:\\JBossRuntimes\\jboss-5.1.0.GA");
+ public static final String JBOSS_AS_HOME = System.getProperty("jbosstools.test.jboss.home.5.1");
public static final String JBOSS_AS_RUNTIME_ID = "org.jboss.ide.eclipse.as.runtime.51";
public static final String JBOSS_AS_SERVER_ID = "org.jboss.ide.eclipse.as.51";
- public static final String SEAM_HOME_PROPERTY = System.getProperty("jbosstools.test.seam.2.0.1.GA.home", "/home/eiden/Java/RedHat/libs/jboss-seam-2.2.1.Final");//E:\\JBossRuntimes\\jboss-seam-2.2.1.CR3");
+ public static final String SEAM_HOME_PROPERTY = System.getProperty("jbosstools.test.seam.2.0.1.GA.home");
public static final String HSQLDB_DRIVER_JAR_NAME = "hsqldb.jar"; //$NON-NLS-1$
- public static final String HSQLDB_DRIVER_LOCATION = "/home/eiden/Java/RedHat/libs + HSQLDB_DRIVER_JAR_NAME"; //"/common/lib/" + HSQLDB_DRIVER_JAR_NAME; //$NON-NLS-1$
+ public static final String HSQLDB_DRIVER_LOCATION = "lib/ + HSQLDB_DRIVER_JAR_NAME";//$NON-NLS-1$
public static final String PROJECT_NAME_WAR = "MavenizedSeamProjectWar";
Added: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MaterializeLibraryTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MaterializeLibraryTest.java (rev 0)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MaterializeLibraryTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -0,0 +1,66 @@
+package org.jboss.tools.maven.ui.bot.test;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.keyboard.Keystrokes;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
+import org.jboss.tools.ui.bot.ext.SWTBotExt;
+import org.jboss.tools.ui.bot.ext.config.Annotations.Require;
+import org.junit.Test;
+
+@Require(perspective="Seam 2")
+public class MaterializeLibraryTest extends AbstractMavenSWTBotTest {
+
+ private String projectName = "exampleHTML5";
+
+ @Test
+ public void testMaterializeLibrary() throws Exception{
+ SWTBotExt ext = new SWTBotExt();
+ ext.menu("New").menu("Example...").click();
+ ext.tree().expandNode("JBoss Tools").select("Project Examples");
+ waitForIdle();
+ ext.button("Next >").click();
+ waitForIdle();
+ Thread.sleep(1000);
+ ext.tree(0).expandNode("Java EE 6 Quickstarts").select("Java EE 6 HTML5 Mobile Webapp");
+ ext.button("Finish").click();
+ ext.comboBoxWithLabel("Project name").setText(projectName);
+ ext.comboBoxWithLabel("Package").setText(projectName);
+ ext.button("Next >").click();
+ ext.button("Finish").click();
+ waitForIdle();
+ final SWTBotView packageExplorer = bot.viewByTitle("Package Explorer");
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ SWTBotTree tree = packageExplorer.bot().tree();
+ tree.expandNode(project.getName()).getNode("Maven Dependencies").contextMenu("Materialize Library...").click();
+ waitForIdle();
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.button("OK").click();
+ botExt.button("OK").click();
+ waitForIdle();
+ assertFalse(project.getName()+" is still a maven project!",Utils.isMavenProject(project.getName()));
+ testExcludedResources(project);
+ }
+
+ public void testExcludedResources(IProject project) throws Exception{
+ final SWTBotView packageExplorer = bot.viewByTitle("Package Explorer");
+ packageExplorer.bot().tree().getTreeItem(project.getName()).select().pressShortcut(Keystrokes.ALT,Keystrokes.LF);
+ SWTBotExt botExt = new SWTBotExt();
+ botExt.tree().select("Java Build Path");
+ botExt.tabItem("Source").activate();
+ for(SWTBotTreeItem item: botExt.tree(1).getAllItems()){
+ for(SWTBotTreeItem itemToCheck: item.getItems()){
+ if(itemToCheck.getText().startsWith("Included")){
+ assertTrue("(All) expected in Included patterns",itemToCheck.getText().endsWith("(All)"));
+ } else if (itemToCheck.getText().startsWith("Excluded")){
+ assertTrue("(None) expected in Excluded patterns",itemToCheck.getText().endsWith("(None)"));
+ }
+ }
+ }
+ }
+
+
+}
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenAllBotTests.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -25,9 +25,10 @@
CreateMavenizedSeamProjectTest.class,
CreateMavenProjectsTest.class,
CreateMavenizedEARProjectTest.class,
- CreateMavenizedJSFProjectTest.class
+ CreateMavenizedJSFProjectTest.class,
+ MaterializeLibraryTest.class
})
public class MavenAllBotTests {
-}
\ No newline at end of file
+}
\ No newline at end of file
Modified: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java 2012-01-06 08:06:06 UTC (rev 37669)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/MavenProfileSelectionTest.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -1,17 +1,10 @@
package org.jboss.tools.maven.ui.bot.test;
-import java.io.File;
-import java.io.IOException;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
+import org.apache.maven.model.Profile;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.bindings.keys.KeyStroke;
import org.eclipse.jface.bindings.keys.ParseException;
@@ -24,13 +17,8 @@
import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.jboss.tools.ui.bot.ext.SWTBotExt;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
@SuppressWarnings("restriction")
@RunWith(SWTBotJunit4ClassRunner.class)
@@ -38,53 +26,7 @@
public static final String AUTOACTIVATED_PROFILE_IN_POM = "active-profile";
public static final String AUTOACTIVATED_PROFILE_IN_USER_SETTINGS = "jboss.repository";
-
- /*
- @BeforeClass
- public static void setUpUserSettings() throws InterruptedException, IOException, SAXException, ParserConfigurationException, TransformerException{
- SWTBotExt bot = new SWTBotExt();
- bot.menu("Window").menu("Preferences").click();
- bot.tree().expandNode("Maven").select("User Settings");
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = factory.newDocumentBuilder();
- TransformerFactory transformerFactory = TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- String settingsLocation = bot.text(1).getText();
- File settings = null;
- if(settingsLocation.equals("User settings file doesn't exist")){
- settingsLocation = bot.text(2).getText();
- settings = new File(settingsLocation);
- settings.createNewFile();
- Document doc = docBuilder.newDocument();
- Element rootElement = doc.createElement("settings");
- doc.appendChild(rootElement);
- DOMSource source = new DOMSource(doc);
- StreamResult result = new StreamResult(settingsLocation);
- transformer.transform(source, result);
- }
- settings = new File(settingsLocation);
- Document docPom = docBuilder.parse(settings);
- Element rootElement = docPom.getDocumentElement();
- Element profilesElement = docPom.createElement("profiles");
- Element profileElement = docPom.createElement("profile");
- Element idElement = docPom.createElement("id");
- Element activationElement = docPom.createElement("activation");
- Element activeByDefaultElement = docPom.createElement("activeByDefault");
-
- idElement.setTextContent(AUTOACTIVATED_PROFILE_IN_USER_SETTINGS);
- activeByDefaultElement.setTextContent("true");
-
- activationElement.appendChild(activeByDefaultElement);
- profileElement.appendChild(activationElement);
- profileElement.appendChild(idElement);
- profilesElement.appendChild(profileElement);
- rootElement.appendChild(profilesElement);
- DOMSource source = new DOMSource(docPom);
- StreamResult result = new StreamResult(settingsLocation);
- transformer.transform(source, result);
- }
- */
-
+
@Test
public void testOpenMavenProfiles() throws Exception {
IProject project = importProject("projects/simple-jar/pom.xml");
@@ -127,21 +69,28 @@
}
private void testActivatedProfiles(String projectName, String profilesToCheck){
-
- SWTBot explorer = bot.viewByTitle("Project Explorer").bot();
- SWTBotTreeItem item = explorer.tree().getTreeItem(projectName).select();
- item.pressShortcut(Keystrokes.ALT,Keystrokes.LF);
- SWTBot shell = bot.shell("Properties for "+projectName).activate().bot();
- shell.tree().select("Maven");
- assertEquals("Selected profiles doesn't match", shell.textWithLabel("Active Maven Profiles (comma separated):").getText(),profilesToCheck);
- shell.button("OK").click();
+ IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getMavenProject("org.jboss.tools.maven.tests", "simple-jar", "1.0.0-SNAPSHOT");
+ assertNotNull("facade is null",facade);
+ String[] parsedProfiles = profilesToCheck.split(", ");
+ String empty = "";
+ Set<String> setOfProfiles = new HashSet<String>();
+ Collections.addAll(setOfProfiles, parsedProfiles);
+ setOfProfiles.add(AUTOACTIVATED_PROFILE_IN_POM);
+ setOfProfiles.add(AUTOACTIVATED_PROFILE_IN_USER_SETTINGS);
+ setOfProfiles.remove(empty);
+
+ Set<String> setOfProfilesFacade = new HashSet<String>();
+ for(Profile profile : facade.getMavenProject().getActiveProfiles()){
+ setOfProfilesFacade.add(profile.getId());
+ }
+
+ assertEquals("Selected profiles doesn't match", setOfProfilesFacade, setOfProfiles);
}
private void testAutoActivatedProfiles(){
IMavenProjectFacade facade = MavenPlugin.getMavenProjectRegistry().getMavenProject("org.jboss.tools.maven.tests", "simple-jar", "1.0.0-SNAPSHOT");
assertNotNull("facade is null",facade);
- facade.getMavenProject().getActiveProfiles().get(0);
assertEquals("Auto Activated profiles from pom.xml doesn't match", AUTOACTIVATED_PROFILE_IN_POM, facade.getMavenProject().getActiveProfiles().get(0).getId());
assertEquals("Auto Activated profiles from settings.xml doesn't match", AUTOACTIVATED_PROFILE_IN_USER_SETTINGS, facade.getMavenProject().getActiveProfiles().get(1).getId());
}
Added: trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/Utils.java
===================================================================
--- trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/Utils.java (rev 0)
+++ trunk/maven/tests/org.jboss.tools.maven.ui.bot.test/src/org/jboss/tools/maven/ui/bot/test/Utils.java 2012-01-06 08:43:03 UTC (rev 37670)
@@ -0,0 +1,17 @@
+package org.jboss.tools.maven.ui.bot.test;
+
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.m2e.core.internal.IMavenConstants;
+
+@SuppressWarnings("restriction")
+public class Utils {
+
+ public static boolean isMavenProject(String projectName) throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ return project.hasNature(IMavenConstants.NATURE_ID);
+ }
+
+}
12 years, 11 months
JBoss Tools SVN: r37669 - in trunk/ws: plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain and 8 other directories.
by jbosstools-commits@lists.jboss.org
Author: xcoulon
Date: 2012-01-06 03:06:06 -0500 (Fri, 06 Jan 2012)
New Revision: 37669
Added:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsAnnotatedTypeApplication.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/metamodel/JaxrsMetamodelChangedEvent.java
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/projects/org.jboss.tools.ws.jaxrs.tests.sampleproject/src/main/java/org/jboss/tools/ws/jaxrs/sample/services/RestApplication.java
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationScannerTestCase.java
Removed:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java
Modified:
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedListener.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessor.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedEvent.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessor.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedPublisher.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuildJob.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuilder.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessor.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElement.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElementFactory.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsEndpoint.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResource.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationsScanner.java
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/plugin.xml
trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/AllTests.java
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessorTestCase.java
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessorTestCase.java
trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessorTestCase.java
Log:
Working on JBIDE-10425
Sometimes, the 'JAX-RS REST Web Services' node remains in a 'Building..' state (https://issues.jboss.org/browse/JBIDE-10425)
Working on JBIDE-10287
Add support for JAX-RS Application (https://issues.jboss.org/browse/JBIDE-10287)
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedListener.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedListener.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedListener.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -41,12 +41,12 @@
*/
@Override
public void elementChanged(ElementChangedEvent event) {
- scanDelta(event.getDelta(), event.getType());
+ logDelta(event.getDelta(), event.getType());
Job job = new JaxrsMetamodelBuildJob(event);
job.schedule();
}
- private void scanDelta(final IJavaElementDelta delta, final int eventType) {
+ private void logDelta(final IJavaElementDelta delta, final int eventType) {
IJavaElement element = delta.getElement();
// skip as the project is closed
int deltaKind = retrieveDeltaKind(delta);
@@ -57,10 +57,10 @@
Logger.trace("Event {}", event);
// carry on with children elements.
for (IJavaElementDelta affectedChild : delta.getAffectedChildren()) {
- scanDelta(affectedChild, eventType);
+ logDelta(affectedChild, eventType);
}
for (IJavaElementDelta annotation : delta.getAnnotationDeltas()) {
- scanDelta(annotation, eventType);
+ logDelta(annotation, eventType);
}
}
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessor.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessor.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessor.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -38,6 +38,7 @@
import org.eclipse.jdt.core.IPackageFragmentRoot;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsApplication;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElement;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsHttpMethod;
@@ -143,8 +144,7 @@
}
/**
- * Process the addition of a Java Element (can be a JavaProject or a Java
- * Package Fragment root).
+ * Process the addition of a Java Element (can be a JavaProject or a Java Package Fragment root).
*
* @param scope
* the java element that may contain JAX-RS items
@@ -162,7 +162,7 @@
if (metamodel.getElement(scope) == null) {
// process this type as it is not already known from the metamodel
// let's see if the given project contains JAX-RS HTTP Methods
- final List<IType> matchingHttpMethodTypes = JaxrsAnnotationsScanner.findHTTPMethodTypes(scope,
+ final List<IType> matchingHttpMethodTypes = JaxrsAnnotationsScanner.findHttpMethodTypes(scope,
progressMonitor);
for (IType type : matchingHttpMethodTypes) {
final CompilationUnit ast = JdtUtils.parse(type, progressMonitor);
@@ -174,7 +174,7 @@
}
}
// let's see if the given project contains JAX-RS HTTP Resources
- final List<IType> matchingResourceTypes = JaxrsAnnotationsScanner.findResources(scope, progressMonitor);
+ final List<IType> matchingResourceTypes = JaxrsAnnotationsScanner.findResourceTypes(scope, progressMonitor);
for (IType matchingType : matchingResourceTypes) {
final CompilationUnit ast = JdtUtils.parse(matchingType, progressMonitor);
final JaxrsResource createdResource = factory.createResource(matchingType, ast, metamodel);
@@ -191,6 +191,17 @@
}
}
}
+ // let's see if the given project contains JAX-RS Application
+ final List<IType> matchingApplicationTypes = JaxrsAnnotationsScanner.findApplicationTypes(scope,
+ progressMonitor);
+ for (IType matchingType : matchingApplicationTypes) {
+ final CompilationUnit ast = JdtUtils.parse(matchingType, progressMonitor);
+ final JaxrsApplication createdApplication = factory.createApplication(matchingType, ast, metamodel);
+ if (createdApplication != null) {
+ metamodel.add(createdApplication);
+ changes.add(new JaxrsElementChangedEvent(createdApplication, ADDED));
+ }
+ }
}
return changes;
@@ -227,6 +238,12 @@
metamodel.add(resource);
changes.add(new JaxrsElementChangedEvent(resource, ADDED));
}
+ // now,let's see if the given type can be an Application
+ final JaxrsApplication application = factory.createApplication(javaType, ast, metamodel);
+ if (application != null) {
+ metamodel.add(application);
+ changes.add(new JaxrsElementChangedEvent(application, ADDED));
+ }
// TODO: now,let's see if the given type can be a Provider
return changes;
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedEvent.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedEvent.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedEvent.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -44,24 +44,26 @@
public static final int F_PATH_VALUE = 4;
- public static final int F_HTTP_METHOD_VALUE = 8;
+ public static final int F_APPLICATION_PATH_VALUE = 8;
- public static final int F_PATH_PARAM_VALUE = 16;
+ public static final int F_HTTP_METHOD_VALUE = 16;
- public static final int F_QUERY_PARAM_VALUE = 32;
+ public static final int F_PATH_PARAM_VALUE = 32;
- public static final int F_MATRIX_PARAM_VALUE = 64;
+ public static final int F_QUERY_PARAM_VALUE = 64;
- public static final int F_DEFAULT_VALUE_VALUE = 128;
+ public static final int F_MATRIX_PARAM_VALUE = 128;
- public static final int F_CONSUMED_MEDIATYPES_VALUE = 256;
+ public static final int F_DEFAULT_VALUE_VALUE = 256;
- public static final int F_PRODUCED_MEDIATYPES_VALUE = 512;
+ public static final int F_CONSUMED_MEDIATYPES_VALUE = 512;
- public static final int F_METHOD_PARAMETERS = 1024;
+ public static final int F_PRODUCED_MEDIATYPES_VALUE = 1024;
- public static final int F_METHOD_RETURN_TYPE = 2048;
+ public static final int F_METHOD_PARAMETERS = 2048;
+ public static final int F_METHOD_RETURN_TYPE = 4096;
+
/**
* Full constructor.
*
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessor.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessor.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessor.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -28,6 +28,7 @@
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsApplication;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElement;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsEndpoint;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsHttpMethod;
@@ -80,6 +81,8 @@
switch (event.getDeltaKind()) {
case ADDED:
switch (elementKind) {
+ case APPLICATION:
+ return processAddition((JaxrsApplication) element);
case HTTP_METHOD:
return processAddition((JaxrsHttpMethod) element);
case RESOURCE:
@@ -89,6 +92,8 @@
}
case CHANGED:
switch (elementKind) {
+ case APPLICATION:
+ return processChange((JaxrsApplication) element, flags);
case HTTP_METHOD:
return processChange((JaxrsHttpMethod) element, flags);
case RESOURCE:
@@ -98,6 +103,8 @@
}
case REMOVED:
switch (elementKind) {
+ case APPLICATION:
+ return processRemoval((JaxrsApplication) element);
case HTTP_METHOD:
return processRemoval((JaxrsHttpMethod) element);
case RESOURCE:
@@ -109,11 +116,32 @@
return Collections.emptyList();
}
- private List<JaxrsEndpointChangedEvent> processAddition(final JaxrsHttpMethod httpMethod) {
+ /**
+ * Process changes in the JAX-RS Metamodel when a new Application element is added. There should be only one,
+ * though...
+ *
+ * @param application
+ * @return
+ */
+ private List<JaxrsEndpointChangedEvent> processAddition(final JaxrsApplication application) {
final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
+ final JaxrsMetamodel metamodel = application.getMetamodel();
+ // if the given application becomes the used application in the metamodel
+ if (application.equals(metamodel.getApplication())) {
+ for (Iterator<JaxrsEndpoint> iterator = metamodel.getEndpoints().iterator(); iterator.hasNext();) {
+ JaxrsEndpoint endpoint = iterator.next();
+ if (endpoint.refresh(application)) {
+ changes.add(new JaxrsEndpointChangedEvent(endpoint, CHANGED));
+ }
+ }
+ }
return changes;
}
+ private List<JaxrsEndpointChangedEvent> processAddition(final JaxrsHttpMethod httpMethod) {
+ return Collections.emptyList();
+ }
+
private List<JaxrsEndpointChangedEvent> processAddition(final JaxrsResource resource) throws CoreException {
final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
for (JaxrsResourceMethod resourceMethod : resource.getMethods().values()) {
@@ -175,7 +203,8 @@
if (returnTypeHandler != null && supertypesHandlers.contains(returnTypeHandler)) {
final LinkedList<JaxrsResourceMethod> resourceMethods = new LinkedList<JaxrsResourceMethod>(
Arrays.asList(otherResourceMethod, resourceMethod));
- final JaxrsEndpoint endpoint = new JaxrsEndpoint(httpMethod, resourceMethods);
+ final JaxrsEndpoint endpoint = new JaxrsEndpoint(metamodel.getApplication(), httpMethod,
+ resourceMethods);
if (metamodel.add(endpoint)) {
changes.add(new JaxrsEndpointChangedEvent(endpoint, ADDED));
}
@@ -191,7 +220,7 @@
final JaxrsMetamodel metamodel) {
final JaxrsHttpMethod httpMethod = metamodel.getHttpMethod(resourceMethod.getHttpMethodAnnotation());
final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
- final JaxrsEndpoint endpoint = new JaxrsEndpoint(httpMethod, resourceMethod);
+ final JaxrsEndpoint endpoint = new JaxrsEndpoint(metamodel.getApplication(), httpMethod, resourceMethod);
if (metamodel.add(endpoint)) {
changes.add(new JaxrsEndpointChangedEvent(endpoint, ADDED));
}
@@ -222,7 +251,8 @@
.getHttpMethodAnnotation());
final LinkedList<JaxrsResourceMethod> resourceMethods = new LinkedList<JaxrsResourceMethod>(
Arrays.asList(subresourceLocator, resourceMethod));
- final JaxrsEndpoint endpoint = new JaxrsEndpoint(httpMethod, resourceMethods);
+ final JaxrsEndpoint endpoint = new JaxrsEndpoint(metamodel.getApplication(),
+ httpMethod, resourceMethods);
if (metamodel.add(endpoint)) {
changes.add(new JaxrsEndpointChangedEvent(endpoint, ADDED));
}
@@ -244,6 +274,21 @@
return supertypesHandlers;
}
+ private List<JaxrsEndpointChangedEvent> processChange(final JaxrsApplication application, int flags) {
+ final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
+ final JaxrsMetamodel metamodel = application.getMetamodel();
+ if (application.equals(metamodel.getApplication())) {
+ for (Iterator<JaxrsEndpoint> iterator = metamodel.getEndpoints().iterator(); iterator.hasNext();) {
+ JaxrsEndpoint endpoint = iterator.next();
+ if (endpoint.refresh(application)) {
+ // just notify changes to the UI, no refresh required
+ changes.add(new JaxrsEndpointChangedEvent(endpoint, CHANGED));
+ }
+ }
+ }
+ return changes;
+ }
+
private List<JaxrsEndpointChangedEvent> processChange(final JaxrsHttpMethod httpMethod, int flags) {
final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
for (Iterator<JaxrsEndpoint> iterator = httpMethod.getMetamodel().getEndpoints().iterator(); iterator.hasNext();) {
@@ -352,6 +397,19 @@
return changes;
}
+ private List<JaxrsEndpointChangedEvent> processRemoval(final JaxrsApplication application) {
+ final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
+ final JaxrsMetamodel metamodel = application.getMetamodel();
+ for (Iterator<JaxrsEndpoint> iterator = metamodel.getEndpoints().iterator(); iterator
+ .hasNext();) {
+ JaxrsEndpoint endpoint = iterator.next();
+ if (endpoint.refresh(metamodel.getApplication())) {
+ changes.add(new JaxrsEndpointChangedEvent(endpoint, CHANGED));
+ }
+ }
+ return changes;
+ }
+
private List<JaxrsEndpointChangedEvent> processRemoval(final JaxrsResource resource) {
final List<JaxrsEndpointChangedEvent> changes = new ArrayList<JaxrsEndpointChangedEvent>();
for (JaxrsResourceMethod resourceMethod : resource.getMethods().values()) {
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedPublisher.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedPublisher.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedPublisher.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -22,6 +22,7 @@
if (jaxrsEndpointChanges == null || jaxrsEndpointChanges.isEmpty()) {
Logger.debug("No JAX-RS change to publish to the UI");
} else {
+ Logger.debug("*** Notifying JAX-RS {} changes to publish to the UI ***", jaxrsEndpointChanges.size());
for (JaxrsEndpointChangedEvent change : jaxrsEndpointChanges) {
Logger.debug(change.toString());
EventService.getInstance().publish(change);
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuildJob.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuildJob.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuildJob.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -10,6 +10,8 @@
******************************************************************************/
package org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder;
+import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsMetamodelBuilder.SCALE;
+
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -19,8 +21,6 @@
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jdt.core.ElementChangedEvent;
import org.jboss.tools.ws.jaxrs.core.internal.utils.Logger;
-import org.jboss.tools.ws.jaxrs.core.pubsub.EventService;
-import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsMetamodelBuilder.SCALE;
/** @author xcoulon */
public class JaxrsMetamodelBuildJob extends Job {
@@ -38,7 +38,7 @@
}
@Override
- protected IStatus run(IProgressMonitor progressMonitor) {
+ protected IStatus run(final IProgressMonitor progressMonitor) {
try {
progressMonitor.beginTask("Building JAX-RS Metamodel", 4 * SCALE);
progressMonitor.worked(SCALE);
@@ -46,7 +46,6 @@
if (progressMonitor.isCanceled()) {
return Status.CANCEL_STATUS;
}
- // create fake event at the JavaProject level:
// scan and filter delta, retrieve a list of java changes
final List<JavaElementChangedEvent> events = new JavaElementChangedEventScanner().scanAndFilterEvent(event,
new SubProgressMonitor(progressMonitor, SCALE));
@@ -63,13 +62,9 @@
if (progressMonitor.isCanceled()) {
return Status.CANCEL_STATUS;
}
- if (jaxrsEndpointChanges == null || jaxrsEndpointChanges.isEmpty()) {
- Logger.debug("*** No JAX-RS change to publish to the UI ***");
- } else {
- for (JaxrsEndpointChangedEvent change : jaxrsEndpointChanges) {
- EventService.getInstance().publish(change);
- }
- }
+ new JaxrsElementChangedPublisher().publish(jaxrsEndpointChanges, new SubProgressMonitor(progressMonitor,
+ SCALE));
+
} catch (Throwable e) {
Logger.error("Failed to build or refresh the JAX-RS metamodel", e);
} finally {
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuilder.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuilder.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsMetamodelBuilder.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -134,6 +134,7 @@
final List<JaxrsEndpointChangedEvent> jaxrsEndpointChanges = new JaxrsElementChangedProcessor()
.processEvents(jaxrsElementChanges, new SubProgressMonitor(progressMonitor, SCALE));
progressMonitor.worked(SCALE);
+
new JaxrsElementChangedPublisher().publish(jaxrsEndpointChanges, new SubProgressMonitor(progressMonitor,
SCALE));
progressMonitor.worked(SCALE);
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessor.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessor.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessor.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -30,6 +30,7 @@
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.dom.CompilationUnit;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsApplication;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsHttpMethod;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel;
@@ -81,11 +82,13 @@
switch (deltaKind) {
case ADDED:
case CHANGED:
+ results.addAll(processApplicationChangesOnScopeAdditionOrChange(scope, metamodel, progressMonitor));
results.addAll(processHttpMethodChangesOnScopeAdditionOrChange(scope, metamodel, progressMonitor));
results.addAll(processResourceChangesOnScopeAdditionOrChange(scope, metamodel, deltaKind,
progressMonitor));
break;
case REMOVED:
+ results.addAll(processApplicationChangesOnScopeRemoval(scope, metamodel, progressMonitor));
results.addAll(processHttpMethodChangesOnScopeRemoval(scope, metamodel, progressMonitor));
results.addAll(processResourceChangesOnScopeRemoval(scope, metamodel, progressMonitor));
break;
@@ -95,47 +98,136 @@
return results;
}
- private List<JaxrsElementChangedEvent> processHttpMethodChangesOnScopeAdditionOrChange(IJavaElement scope,
+ private List<JaxrsElementChangedEvent> processApplicationChangesOnScopeAdditionOrChange(IJavaElement scope,
JaxrsMetamodel metamodel, IProgressMonitor progressMonitor) throws JavaModelException, CoreException {
final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
- final List<JaxrsElementChangedEvent> changes = preprocessHttpMethodChangesOnScopeAdditionOrChange(scope,
+ final List<JaxrsElementChangedEvent> changes = preprocessApplicationChangesOnScopeAdditionOrChange(scope,
metamodel, progressMonitor);
for (JaxrsElementChangedEvent change : changes) {
- results.addAll(postProcessHttpMethod(change, progressMonitor));
+ results.addAll(postProcessApplication(change, progressMonitor));
}
return results;
}
- private List<JaxrsElementChangedEvent> processResourceChangesOnScopeAdditionOrChange(IJavaElement scope,
- JaxrsMetamodel metamodel, int deltaKind, IProgressMonitor progressMonitor) throws JavaModelException,
- CoreException {
+ /**
+ * See if Applications exist in the given scope. The exact kind of the
+ * {@link JaxrsElementChangedEvent} event is not determined at this stage,
+ * it's the responsibility of the
+ * {@link ResourceChangedProcessor#postProcessApplication(JaxrsElementChangedEvent, IProgressMonitor)}
+ * method.
+ *
+ * @param scope
+ * @param metamodel
+ * @param progressMonitor
+ * @return events containing the new Applications (already added to the
+ * metamodel)
+ * @throws CoreException
+ * @throws JavaModelException
+ */
+ private List<JaxrsElementChangedEvent> preprocessApplicationChangesOnScopeAdditionOrChange(final IJavaElement scope,
+ final JaxrsMetamodel metamodel, final IProgressMonitor progressMonitor) throws CoreException,
+ JavaModelException {
final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
- final List<JaxrsElementChangedEvent> changes = preprocessResourceChangesOnScopeAdditionOrChange(scope,
- metamodel, progressMonitor);
- for (JaxrsElementChangedEvent change : changes) {
- results.addAll(postProcessResource(change, progressMonitor));
+ // see if there may be elements to add/change from the given scope
+ final List<JaxrsApplication> matchingApplications = new ArrayList<JaxrsApplication>();
+ final List<IType> matchingApplicationTypes = JaxrsAnnotationsScanner.findApplicationTypes(scope, progressMonitor);
+ for (IType matchingApplicationType : matchingApplicationTypes) {
+ final CompilationUnit ast = JdtUtils.parse(matchingApplicationType, progressMonitor);
+ final JaxrsApplication matchingApplication = factory.createApplication(matchingApplicationType, ast, metamodel);
+ if (matchingApplication != null) {
+ matchingApplications.add(matchingApplication);
+ }
}
+ // retrieve the existing elements from the Metamodel
+ final List<JaxrsApplication> existingApplications = metamodel.getElements(scope, JaxrsApplication.class);
+ // compute the differences, with a 'fuzzy' case when the kind is
+ // 'changed'
+ final Collection<JaxrsApplication> addedApplications = CollectionUtils.difference(matchingApplications,
+ existingApplications);
+ for (JaxrsApplication application : addedApplications) {
+ results.add(new JaxrsElementChangedEvent(application, ADDED));
+ }
+ final Collection<JaxrsApplication> changedApplications = CollectionUtils.intersection(matchingApplications,
+ existingApplications);
+ for (JaxrsApplication application : changedApplications) {
+ results.add(new JaxrsElementChangedEvent(application, CHANGED, F_FINE_GRAINED));
+ }
+ final Collection<JaxrsApplication> removedApplications = CollectionUtils.difference(existingApplications,
+ matchingApplications);
+ for (JaxrsApplication application : removedApplications) {
+ results.add(new JaxrsElementChangedEvent(application, REMOVED));
+ }
return results;
}
- private List<JaxrsElementChangedEvent> processResourceChangesOnScopeRemoval(IJavaElement scope,
+ private List<JaxrsElementChangedEvent> processApplicationChangesOnScopeRemoval(IJavaElement scope,
JaxrsMetamodel metamodel, IProgressMonitor progressMonitor) throws JavaModelException, CoreException {
final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
- final List<JaxrsElementChangedEvent> changes = preprocessHttpMethodChangesOnScopeRemoval(scope, metamodel,
+ final List<JaxrsElementChangedEvent> changes = preprocessApplicationChangesOnScopeRemoval(scope, metamodel,
progressMonitor);
for (JaxrsElementChangedEvent change : changes) {
- results.addAll(postProcessHttpMethod(change, progressMonitor));
+ results.addAll(postProcessApplication(change, progressMonitor));
}
return results;
}
- private List<JaxrsElementChangedEvent> processHttpMethodChangesOnScopeRemoval(IJavaElement scope,
+ /**
+ * See if Applications existed in the given scope. These elements can only be
+ * marked as removed.
+ *
+ * @param scope
+ * @param metamodel
+ * @param progressMonitor
+ * @return events containing the new Applications (already added to the
+ * metamodel)
+ * @throws CoreException
+ * @throws JavaModelException
+ */
+ private List<JaxrsElementChangedEvent> preprocessApplicationChangesOnScopeRemoval(final IJavaElement scope,
+ final JaxrsMetamodel metamodel, final IProgressMonitor progressMonitor) throws CoreException,
+ JavaModelException {
+ final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
+ // retrieve the existing elements from the Metamodel
+ final List<JaxrsApplication> existingApplications = metamodel.getElements(scope, JaxrsApplication.class);
+ for (JaxrsApplication application : existingApplications) {
+ results.add(new JaxrsElementChangedEvent(application, REMOVED));
+ }
+ return results;
+ }
+
+ private List<JaxrsElementChangedEvent> postProcessApplication(JaxrsElementChangedEvent event,
+ IProgressMonitor progressMonitor) {
+ final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
+ final JaxrsApplication eventApplication = (JaxrsApplication) event.getElement();
+ final JaxrsMetamodel metamodel = eventApplication.getMetamodel();
+ switch (event.getDeltaKind()) {
+ case ADDED:
+ metamodel.add(eventApplication);
+ results.add(event);
+ break;
+ case REMOVED:
+ metamodel.remove(eventApplication);
+ results.add(event);
+ break;
+ case CHANGED:
+ final JaxrsApplication existingApplication = metamodel.getElement(eventApplication.getJavaElement(),
+ JaxrsApplication.class);
+ final int flags = existingApplication.update(eventApplication);
+ if (flags != 0) {
+ results.add(new JaxrsElementChangedEvent(existingApplication, CHANGED, flags));
+ }
+ break;
+ }
+ return results;
+ }
+
+ private List<JaxrsElementChangedEvent> processHttpMethodChangesOnScopeAdditionOrChange(IJavaElement scope,
JaxrsMetamodel metamodel, IProgressMonitor progressMonitor) throws JavaModelException, CoreException {
final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
- final List<JaxrsElementChangedEvent> changes = preprocessResourceChangesOnScopeRemoval(scope, metamodel,
- progressMonitor);
+ final List<JaxrsElementChangedEvent> changes = preprocessHttpMethodChangesOnScopeAdditionOrChange(scope,
+ metamodel, progressMonitor);
for (JaxrsElementChangedEvent change : changes) {
- results.addAll(postProcessResource(change, progressMonitor));
+ results.addAll(postProcessHttpMethod(change, progressMonitor));
}
return results;
}
@@ -161,7 +253,7 @@
final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
// see if there may be elements to add/change from the given scope
final List<JaxrsHttpMethod> matchingHttpMethods = new ArrayList<JaxrsHttpMethod>();
- final List<IType> matchingHttpMethodTypes = JaxrsAnnotationsScanner.findHTTPMethodTypes(scope, progressMonitor);
+ final List<IType> matchingHttpMethodTypes = JaxrsAnnotationsScanner.findHttpMethodTypes(scope, progressMonitor);
for (IType matchingHttpMethodType : matchingHttpMethodTypes) {
final CompilationUnit ast = JdtUtils.parse(matchingHttpMethodType, progressMonitor);
final JaxrsHttpMethod matchingHttpMethod = factory.createHttpMethod(matchingHttpMethodType, ast, metamodel);
@@ -191,6 +283,16 @@
return results;
}
+ private List<JaxrsElementChangedEvent> processHttpMethodChangesOnScopeRemoval(IJavaElement scope,
+ JaxrsMetamodel metamodel, IProgressMonitor progressMonitor) throws JavaModelException, CoreException {
+ final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
+ final List<JaxrsElementChangedEvent> changes = preprocessHttpMethodChangesOnScopeRemoval(scope, metamodel, progressMonitor);
+ for (JaxrsElementChangedEvent change : changes) {
+ results.addAll(postProcessHttpMethod(change, progressMonitor));
+ }
+ return results;
+ }
+
/**
* See if HttpMethods existed in the given scope. These elements can only be
* marked as removed.
@@ -215,6 +317,44 @@
return results;
}
+ private List<JaxrsElementChangedEvent> postProcessHttpMethod(JaxrsElementChangedEvent event,
+ IProgressMonitor progressMonitor) {
+ final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
+ final JaxrsHttpMethod eventHttpMethod = (JaxrsHttpMethod) event.getElement();
+ final JaxrsMetamodel metamodel = eventHttpMethod.getMetamodel();
+ switch (event.getDeltaKind()) {
+ case ADDED:
+ metamodel.add(eventHttpMethod);
+ results.add(event);
+ break;
+ case REMOVED:
+ metamodel.remove(eventHttpMethod);
+ results.add(event);
+ break;
+ case CHANGED:
+ final JaxrsHttpMethod existingHttpMethod = metamodel.getElement(eventHttpMethod.getJavaElement(),
+ JaxrsHttpMethod.class);
+ final int flags = existingHttpMethod.update(eventHttpMethod);
+ if (flags != 0) {
+ results.add(new JaxrsElementChangedEvent(existingHttpMethod, CHANGED, flags));
+ }
+ break;
+ }
+ return results;
+ }
+
+ private List<JaxrsElementChangedEvent> processResourceChangesOnScopeAdditionOrChange(IJavaElement scope,
+ JaxrsMetamodel metamodel, int deltaKind, IProgressMonitor progressMonitor) throws JavaModelException,
+ CoreException {
+ final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
+ final List<JaxrsElementChangedEvent> changes = preprocessResourceChangesOnScopeAdditionOrChange(scope,
+ metamodel, progressMonitor);
+ for (JaxrsElementChangedEvent change : changes) {
+ results.addAll(postProcessResource(change, progressMonitor));
+ }
+ return results;
+ }
+
/**
* See if new JAX-RS Resources exist in the given scope. The exact kind of
* the {@link JaxrsElementChangedEvent} event is not determined at this
@@ -235,7 +375,7 @@
final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
// see if there may be elements to add/change from the given scope
final List<JaxrsResource> matchingResources = new ArrayList<JaxrsResource>();
- final List<IType> matchingResourceTypes = JaxrsAnnotationsScanner.findResources(scope, progressMonitor);
+ final List<IType> matchingResourceTypes = JaxrsAnnotationsScanner.findResourceTypes(scope, progressMonitor);
for (IType matchingResourceType : matchingResourceTypes) {
final CompilationUnit ast = JdtUtils.parse(matchingResourceType, progressMonitor);
final JaxrsResource matchingResource = factory.createResource(matchingResourceType, ast, metamodel);
@@ -262,7 +402,18 @@
for (JaxrsResource resource : removedResources) {
results.add(new JaxrsElementChangedEvent(resource, REMOVED));
}
+
+ return results;
+ }
+ private List<JaxrsElementChangedEvent> processResourceChangesOnScopeRemoval(IJavaElement scope,
+ JaxrsMetamodel metamodel, IProgressMonitor progressMonitor) throws JavaModelException, CoreException {
+ final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
+ final List<JaxrsElementChangedEvent> changes = preprocessResourceChangesOnScopeRemoval(scope, metamodel,
+ progressMonitor);
+ for (JaxrsElementChangedEvent change : changes) {
+ results.addAll(postProcessResource(change, progressMonitor));
+ }
return results;
}
@@ -408,32 +559,4 @@
}
return changes;
}
-
- private List<JaxrsElementChangedEvent> postProcessHttpMethod(JaxrsElementChangedEvent event,
- IProgressMonitor progressMonitor) {
- final List<JaxrsElementChangedEvent> results = new ArrayList<JaxrsElementChangedEvent>();
- final JaxrsHttpMethod eventHttpMethod = (JaxrsHttpMethod) event.getElement();
- final JaxrsMetamodel metamodel = eventHttpMethod.getMetamodel();
- switch (event.getDeltaKind()) {
- case ADDED:
- metamodel.add(eventHttpMethod);
- results.add(event);
- break;
- case REMOVED:
- metamodel.remove(eventHttpMethod);
- results.add(event);
- // FIXME: also remove all resourceMethods / update all subresource
- // methods using this HttpMethod
- break;
- case CHANGED:
- final JaxrsHttpMethod existingHttpMethod = metamodel.getElement(eventHttpMethod.getJavaElement(),
- JaxrsHttpMethod.class);
- final int flags = existingHttpMethod.update(eventHttpMethod);
- if (flags != 0) {
- results.add(new JaxrsElementChangedEvent(existingHttpMethod, CHANGED, flags));
- }
- break;
- }
- return results;
- }
}
Copied: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsAnnotatedTypeApplication.java (from rev 37612, trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java)
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsAnnotatedTypeApplication.java (rev 0)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsAnnotatedTypeApplication.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Xavier Coulon - Initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain;
+
+import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedEvent.F_APPLICATION_PATH_VALUE;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.ws.rs.ApplicationPath;
+
+import org.eclipse.jdt.core.IType;
+import org.eclipse.wst.validation.ValidatorMessage;
+import org.jboss.tools.ws.jaxrs.core.jdt.Annotation;
+import org.jboss.tools.ws.jaxrs.core.metamodel.EnumElementKind;
+import org.jboss.tools.ws.jaxrs.core.metamodel.EnumKind;
+
+/**
+ * This domain element describes a subtype of {@link jvax.ws.rs.Application} annotated with
+ * {@link jvax.ws.rs.ApplicationPath}.
+ *
+ * @author xcoulon
+ */
+public class JaxrsAnnotatedTypeApplication extends JaxrsApplication {
+
+ /**
+ * Full constructor.
+ *
+ * @param javaType
+ * @param applicationPathAnnocation
+ * @param metamodel
+ */
+ public JaxrsAnnotatedTypeApplication(IType javaType, Annotation applicationPathAnnocation, JaxrsMetamodel metamodel) {
+ super(javaType, applicationPathAnnocation, metamodel);
+ }
+
+ @Override
+ public EnumElementKind getElementKind() {
+ return EnumElementKind.APPLICATION;
+ }
+
+ @Override
+ public EnumKind getKind() {
+ if (getAnnotation(ApplicationPath.class.getName()) != null) {
+ return EnumKind.APPLICATION;
+ }
+ return EnumKind.UNDEFINED;
+ }
+
+ @Override
+ public List<ValidatorMessage> validate() {
+ List<ValidatorMessage> messages = new ArrayList<ValidatorMessage>();
+ return messages;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getApplicationPath() {
+ final Annotation applicationPathAnnotation = getAnnotation(ApplicationPath.class.getName());
+ if (applicationPathAnnotation != null) {
+ return applicationPathAnnotation.getValue("value");
+ }
+ return null;
+ }
+
+ /**
+ * Update this Application with the elements of the given Application
+ *
+ * @param application
+ * @return the flags indicating the kind of changes that occurred during the
+ * update.
+ */
+ @Override
+ public int update(JaxrsApplication application) {
+ int flags = 0;
+ final Annotation annotation = this.getAnnotation(ApplicationPath.class.getName());
+ final Annotation otherAnnotation = application.getAnnotation(ApplicationPath.class.getName());
+ if (annotation != null && otherAnnotation != null && !annotation.equals(otherAnnotation)
+ && annotation.update(otherAnnotation)) {
+ flags += F_APPLICATION_PATH_VALUE;
+ }
+ return flags;
+ }
+
+
+}
Property changes on: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsAnnotatedTypeApplication.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Xavier Coulon - Initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.wst.validation.ValidatorMessage;
-import org.jboss.tools.ws.jaxrs.core.jdt.Annotation;
-import org.jboss.tools.ws.jaxrs.core.metamodel.EnumElementKind;
-import org.jboss.tools.ws.jaxrs.core.metamodel.EnumKind;
-import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsApplication;
-
-/**
- * The optional '@Application' annotation, used to designate the base context
- * URI of the root resources.
- *
- *
- * @author xcoulon
- */
-public class JaxrsApplication extends JaxrsElement<IType> implements IJaxrsApplication {
-
- /**
- * Internal 'HttpMethod' element builder.
- *
- * @author xcoulon
- */
- public static class Builder {
-
- private final JaxrsMetamodel metamodel;
- private final IType javaType;
-
- /**
- * Mandatory attributes of the enclosing 'HttpMethod' element.
- *
- * @param javaType
- * @param metamodel
- */
- public Builder(final IType javaType, final JaxrsMetamodel metamodel) {
- this.javaType = javaType;
- this.metamodel = metamodel;
- }
-
- /**
- * Builds and returns the elements. Internally calls the merge() method.
- *
- * @param progressMonitor
- * @return
- * @throws CoreException
- */
- public JaxrsApplication build(IProgressMonitor progressMonitor) throws CoreException {
- JaxrsApplication app = new JaxrsApplication(this);
- // app.merge(javaType, progressMonitor);
- return app;
- }
- }
-
- /**
- * Full constructor using the inner 'Builder' static class.
- *
- * @param builder
- */
- private JaxrsApplication(Builder builder) {
- super(builder.javaType, (Annotation) null, builder.metamodel);
- }
-
- @Override
- public EnumElementKind getElementKind() {
- return EnumElementKind.APPLICATION;
- }
-
- /*
- * @Override public Set<EnumElementChange> merge(IType element,
- * IProgressMonitor progressMonitor) throws CoreException {
- * Set<EnumElementChange> changes = new HashSet<EnumElementChange>(); if
- * (getJavaElement() != null) { CompilationUnit compilationUnit =
- * getCompilationUnit(progressMonitor); String appPath = (String)
- * JdtUtils.resolveAnnotationAttributeValue(getJavaElement(),
- * compilationUnit, javax.ws.rs.ApplicationPath.class, "value"); if (appPath
- * != null) { getMetamodel().setServiceUri(appPath); } else {
- * getMetamodel().setServiceUri("/"); } } else {
- * getMetamodel().setServiceUri("/"); } return changes; }
- */
-
- @Override
- public EnumKind getKind() {
- return EnumKind.APPLICATION;
- }
-
- @Override
- public List<ValidatorMessage> validate() {
- List<ValidatorMessage> messages = new ArrayList<ValidatorMessage>();
- return messages;
- }
-
-}
Added: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java (rev 0)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -0,0 +1,27 @@
+package org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain;
+
+import java.util.List;
+
+import org.eclipse.jdt.core.IType;
+import org.jboss.tools.ws.jaxrs.core.jdt.Annotation;
+import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsApplication;
+
+public abstract class JaxrsApplication extends JaxrsElement<IType> implements IJaxrsApplication {
+
+
+ public JaxrsApplication(IType element, Annotation annotation, JaxrsMetamodel metamodel) {
+ super(element, annotation, metamodel);
+ }
+
+ public JaxrsApplication(IType element, List<Annotation> annotations, JaxrsMetamodel metamodel) {
+ super(element, annotations, metamodel);
+ }
+
+ /**
+ * @return the value of the {@link javax.ws.rs.ApplicationPath} annotation or null if it does not exist in te
+ * associated java type.
+ */
+ public abstract String getApplicationPath();
+
+ public abstract int update(JaxrsApplication eventApplication);
+}
\ No newline at end of file
Property changes on: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsApplication.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElement.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElement.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElement.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -11,6 +11,7 @@
package org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain;
+import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedEvent.F_APPLICATION_PATH_VALUE;
import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedEvent.F_CONSUMED_MEDIATYPES_VALUE;
import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedEvent.F_DEFAULT_VALUE_VALUE;
import static org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsElementChangedEvent.F_ELEMENT_KIND;
@@ -29,6 +30,7 @@
import java.util.Map;
import java.util.Map.Entry;
+import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Consumes;
import javax.ws.rs.DefaultValue;
import javax.ws.rs.HttpMethod;
@@ -211,6 +213,8 @@
final EnumKind currentKind = getKind();
if (annotationName.equals(Path.class.getName())) {
flag = F_PATH_VALUE;
+ } else if (annotationName.equals(ApplicationPath.class.getName())) {
+ flag = F_APPLICATION_PATH_VALUE;
} else if (annotationName.equals(HttpMethod.class.getName())) {
flag = F_HTTP_METHOD_VALUE;
} else if (annotationName.equals(PathParam.class.getName())) {
@@ -256,6 +260,8 @@
iterator.remove();
if (annotationName.equals(Path.class.getName())) {
flag = F_PATH_VALUE;
+ }else if (annotationName.equals(ApplicationPath.class.getName())) {
+ flag = F_APPLICATION_PATH_VALUE;
} else if (annotationName.equals(HttpMethod.class.getName())) {
flag = F_HTTP_METHOD_VALUE;
} else if (annotationName.equals(PathParam.class.getName())) {
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElementFactory.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElementFactory.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsElementFactory.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -19,6 +19,7 @@
import java.util.List;
import java.util.Map;
+import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Consumes;
import javax.ws.rs.CookieParam;
import javax.ws.rs.DefaultValue;
@@ -34,6 +35,7 @@
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jdt.core.IAnnotation;
import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
@@ -52,14 +54,13 @@
public class JaxrsElementFactory {
/**
- * Attempts to create a new JAX-RS element from the given Java annotation,
- * <b>without adding it to the given JAX-RS Metamodel</b>
+ * Attempts to create a new JAX-RS element from the given Java annotation, <b>without adding it to the given JAX-RS
+ * Metamodel</b>
*
* @param element
* @param ast
* @param metamodel
- * @return the created JAX-RS element or null if the given Java annotation
- * is not a valid one.
+ * @return the created JAX-RS element or null if the given Java annotation is not a valid one.
* @throws CoreException
*/
public JaxrsElement<?> createElement(IAnnotation javaAnnotation, CompilationUnit ast, JaxrsMetamodel metamodel)
@@ -69,6 +70,9 @@
if (annotationName.equals(HttpMethod.class.getName())) {
final JaxrsHttpMethod httpMethod = createHttpMethod(annotation, ast, metamodel);
return httpMethod;
+ } else if (annotationName.equals(ApplicationPath.class.getName())) {
+ final JaxrsApplication application = createApplication(annotation, ast, metamodel);
+ return application;
} else {
switch (javaAnnotation.getParent().getElementType()) {
case TYPE:
@@ -97,17 +101,15 @@
}
/**
- * Creates a JAX-RS Root Resource (including its methods and its fields)
- * from the given path annotation and its AST, <b>without adding it to the
- * given JAX-RS Metamodel</b>
+ * Creates a JAX-RS Root Resource (including its methods and its fields) from the given path annotation and its AST,
+ * <b>without adding it to the given JAX-RS Metamodel</b>
*
* @param pathAnnotation
* the @Path annotation found on the Java Type
* @param ast
* the AST associated to the annotated java type
* @param metamodel
- * the current metamodel, in which the Root Resource should be
- * added
+ * the current metamodel, in which the Root Resource should be added
* @return the created Root Resource
* @throws CoreException
*/
@@ -118,17 +120,15 @@
}
/**
- * Creates a JAX-RS Resource (including its methods and its fields) from the
- * given type and its AST, <b>without adding it to the given JAX-RS
- * Metamodel</b>
+ * Creates a JAX-RS Resource (including its methods and its fields) from the given type and its AST, <b>without
+ * adding it to the given JAX-RS Metamodel</b>
*
* @param javaType
* the Java Type
* @param ast
* the AST associated to the java type
* @param metamodel
- * the current metamodel, in which the JAX-RS Resource should be
- * added
+ * the current metamodel, in which the JAX-RS Resource should be added
* @return the created resource
* @throws CoreException
*/
@@ -167,10 +167,8 @@
}
/**
- * Creates a JAX-RS resource method from the given annotation (@Path or an
- * HttpMethod) and its AST, <b>without adding it to the given JAX-RS
- * Metamodel</b>. If the parent resource did not exist before, its is also
- * created.
+ * Creates a JAX-RS resource method from the given annotation (@Path or an HttpMethod) and its AST, <b>without
+ * adding it to the given JAX-RS Metamodel</b>. If the parent resource did not exist before, its is also created.
*
* @param annotation
* @param ast
@@ -185,9 +183,8 @@
}
/**
- * Creates a JAX-RS resource method from the given annotation (@Path or an
- * HttpMethod) and its AST, <b>without adding it to the given JAX-RS
- * Metamodel</b>
+ * Creates a JAX-RS resource method from the given annotation (@Path or an HttpMethod) and its AST, <b>without
+ * adding it to the given JAX-RS Metamodel</b>
*
* @param annotation
* @param ast
@@ -248,8 +245,8 @@
}
/**
- * Creates a JAX-RS HTTP Method from the given pathAnnotation and its AST,
- * <b>without adding it to the given JAX-RS Metamodel</b>
+ * Creates a JAX-RS HTTP Method from the given {@link javax.ws.rs.HttpMethod} annotation and its AST, <b>without
+ * adding it to the given JAX-RS Metamodel</b>
*
* @param ast
* @param metamodel
@@ -268,8 +265,8 @@
}
/**
- * Creates a JAX-RS HTTP Method from the given pathAnnotation and its AST,
- * <b>without adding it to the given JAX-RS Metamodel</b>.
+ * Creates a JAX-RS Application from the given pathAnnotation and its AST, <b>without adding it to the given JAX-RS
+ * Metamodel</b>.
*
* @param ast
* @param metamodel
@@ -279,15 +276,54 @@
*/
public JaxrsHttpMethod createHttpMethod(final Annotation annotation, final CompilationUnit ast,
final JaxrsMetamodel metamodel) throws CoreException {
- final JaxrsHttpMethod httpMethod = new JaxrsHttpMethod((IType) annotation.getJavaParent(), annotation,
- metamodel);
- return httpMethod;
+ if (annotation.getJavaParent() != null && annotation.getJavaParent().getElementType() == IJavaElement.TYPE
+ && annotation.getName().equals(HttpMethod.class.getName())) {
+ return new JaxrsHttpMethod((IType) annotation.getJavaParent(), annotation, metamodel);
+ }
+ return null;
}
/**
- * Create a JAX-RS Resource field from the given annotation, <b>without
- * adding it to the given JAX-RS Metamodel</b>
+ * Creates a JAX-RS Application from the given type and its AST, <b>without adding it to the given JAX-RS
+ * Metamodel</b>
*
+ * @param ast
+ * @param metamodel
+ * @param annotation
+ * @return
+ * @throws CoreException
+ */
+ public JaxrsApplication createApplication(final IType javaType, final CompilationUnit ast,
+ final JaxrsMetamodel metamodel) throws CoreException {
+ Annotation applicationPathAnnotation = JdtUtils.resolveAnnotation(javaType, ast, ApplicationPath.class);
+ if (applicationPathAnnotation == null) {
+ return null;
+ }
+ return new JaxrsAnnotatedTypeApplication(javaType, applicationPathAnnotation, metamodel);
+ }
+
+ /**
+ * Creates a JAX-RS Application from the given {@link javax.ws.rs.ApplicationPath } annotation and its AST,
+ * <b>without adding it to the given JAX-RS Metamodel</b>.
+ *
+ * @param ast
+ * @param metamodel
+ * @param annotation
+ * @return
+ * @throws CoreException
+ */
+ public JaxrsApplication createApplication(final Annotation annotation, final CompilationUnit ast,
+ final JaxrsMetamodel metamodel) throws CoreException {
+ if (annotation.getJavaParent() != null && annotation.getJavaParent().getElementType() == IJavaElement.TYPE
+ && annotation.getName().equals(ApplicationPath.class.getName())) {
+ return new JaxrsAnnotatedTypeApplication((IType) annotation.getJavaParent(), annotation, metamodel);
+ }
+ return null;
+ }
+
+ /**
+ * Create a JAX-RS Resource field from the given annotation, <b>without adding it to the given JAX-RS Metamodel</b>
+ *
* @param pathParamannotation
* @param ast
* @param metamodel
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsEndpoint.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsEndpoint.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsEndpoint.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -38,17 +38,20 @@
private final LinkedList<JaxrsResourceMethod> resourceMethods;
+ private JaxrsApplication application = null;
+
private String uriPathTemplate = null;
private List<String> consumedMediaTypes = null;
private List<String> producedMediaTypes = null;
- public JaxrsEndpoint(JaxrsHttpMethod httpMethod, JaxrsResourceMethod resourceMethod) {
- this(httpMethod, new LinkedList<JaxrsResourceMethod>(Arrays.asList(resourceMethod)));
+ public JaxrsEndpoint(final JaxrsApplication application, final JaxrsHttpMethod httpMethod, final JaxrsResourceMethod resourceMethod) {
+ this(application, httpMethod, new LinkedList<JaxrsResourceMethod>(Arrays.asList(resourceMethod)));
}
- public JaxrsEndpoint(JaxrsHttpMethod httpMethod, LinkedList<JaxrsResourceMethod> resourceMethods) {
+ public JaxrsEndpoint(final JaxrsApplication application, final JaxrsHttpMethod httpMethod, final LinkedList<JaxrsResourceMethod> resourceMethods) {
+ this.application = application;
this.httpMethod = httpMethod;
this.resourceMethods = resourceMethods;
refreshUriPathTemplate();
@@ -142,6 +145,18 @@
}
/**
+ * Triggers a refresh when changes occurred on the application element (whatever operation).
+ *
+ * @return true if the endpoint is still valid, false otherwise (it should
+ * be removed from the metamodel)
+ */
+ public boolean refresh(JaxrsApplication application) {
+ this.application = application;
+ refreshUriPathTemplate();
+ return true;
+ }
+
+ /**
* Triggers a refresh when changes occurred on one or more elements
* (HttpMethod and/or ResourcMethods) of the endpoint.
*
@@ -198,6 +213,9 @@
private void refreshUriPathTemplate() {
// compute the URI Path Template from the chain of Methods/Resources
StringBuilder uriPathTemplateBuilder = new StringBuilder();
+ if(application != null) {
+ uriPathTemplateBuilder.append(application.getApplicationPath());
+ }
for (JaxrsResourceMethod resourceMethod : resourceMethods) {
if (resourceMethod.getParentResource().getPathTemplate() != null) {
uriPathTemplateBuilder.append("/").append(resourceMethod.getParentResource().getPathTemplate());
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsMetamodel.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -44,16 +44,14 @@
import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsResourceMethod;
/**
- * Manages all the JAX-RS domain classes of the JAX-RS Metamodel. Not only a
- * POJO, but also provides business services.
+ * Manages all the JAX-RS domain classes of the JAX-RS Metamodel. Not only a POJO, but also provides business services.
*
* @author xcoulon
*/
public class JaxrsMetamodel implements IJaxrsMetamodel {
/**
- * The qualified name of the metamodel when stored in the project session
- * properties.
+ * The qualified name of the metamodel when stored in the project session properties.
*/
public static final QualifiedName METAMODEL_QUALIFIED_NAME = new QualifiedName(JBossJaxrsCorePlugin.PLUGIN_ID,
"metamodel");
@@ -65,21 +63,19 @@
private String serviceUri = "/";
/**
- * All the subclasses of <code>javax.ws.rs.core.Application</code>, although
- * there should be only one.
+ * All the subclasses of <code>javax.ws.rs.core.Application</code>, although there should be only one.
*/
private final List<JaxrsApplication> applications = new ArrayList<JaxrsApplication>();
/**
- * All the resources (both rootresources and subresources) available in the
- * service , indexed by their associated java type fully qualified name.
+ * All the resources (both rootresources and subresources) available in the service , indexed by their associated
+ * java type fully qualified name.
*/
private final List<JaxrsResource> resources = new ArrayList<JaxrsResource>();
/**
- * The available providers (classes which implement MessageBodyWriter<T>,
- * MessageBodyReader<T> or ExceptionMapper<T>), , indexed by their
- * associated java type fully qualified name.
+ * The available providers (classes which implement MessageBodyWriter<T>, MessageBodyReader<T> or
+ * ExceptionMapper<T>), , indexed by their associated java type fully qualified name.
*/
private final List<JaxrsProvider> providers = new ArrayList<JaxrsProvider>();
@@ -106,10 +102,7 @@
/*
* (non-Javadoc)
- *
- * @see
- * org.jboss.tools.ws.jaxrs.core.internal.metamodel.IMetamodel#getJavaProject
- * ()
+ * @see org.jboss.tools.ws.jaxrs.core.internal.metamodel.IMetamodel#getJavaProject ()
*/
public IJavaProject getJavaProject() {
return javaProject;
@@ -146,6 +139,7 @@
public void add(JaxrsElement<?> element) {
switch (element.getElementKind()) {
case APPLICATION:
+ this.applications.add((JaxrsApplication) element);
break;
case HTTP_METHOD:
this.httpMethods.add((JaxrsHttpMethod) element);
@@ -157,22 +151,6 @@
final JaxrsResource resource = (JaxrsResource) element;
this.resources.add(resource);
break;
-
- // case RESOURCE_FIELD:
- // final JaxrsResource fieldParent = findResource((IType)
- // element.getJavaElement().getParent());
- // if (fieldParent != null) {
- // fieldParent.addField((JaxrsParamField) element);
- // }
- // break;
- // case RESOURCE_METHOD:
- // final JaxrsResource methodParent = findResource((IType)
- // element.getJavaElement().getParent());
- // if (methodParent != null) {
- // methodParent.addMethod((IJaxrsResourceMethod) element);
- // }
- // break;
- //
}
indexElement(element);
}
@@ -263,9 +241,8 @@
}
/**
- * Unindex the given JAX-RS Element so that it cannot be retrieved when
- * searching for elements with the given handleIdentifier. This does not
- * mean that the given JAX-RS Element won't be findable anymore.
+ * Unindex the given JAX-RS Element so that it cannot be retrieved when searching for elements with the given
+ * handleIdentifier. This does not mean that the given JAX-RS Element won't be findable anymore.
*
* @param jaxrsElement
* @param handleIdentifier
@@ -277,29 +254,26 @@
}
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.jboss.tools.ws.jaxrs.core.internal.metamodel.IMetamodel#getProviders
- * ()
+ /**
+ * @return the application that is used to compute the Endpoint's URI Path Templates, or null if no application was
+ * specified in the code. An invalid application may be returned, though (ie, a Type annotated with
+ * {@link javax.ws.rs.ApplicationPath} but not extending the {@link javax.ws.rs.Application} type).
*/
+ public final JaxrsApplication getApplication() {
+ if (applications.isEmpty()) {
+ return null;
+ }
+ return applications.get(0);
+ }
+
+ public final List<JaxrsApplication> getAllApplications() {
+ return Collections.unmodifiableList(new ArrayList<JaxrsApplication>(applications));
+ }
+
public final List<IJaxrsProvider> getAllProviders() {
return Collections.unmodifiableList(new ArrayList<IJaxrsProvider>(providers));
}
- /**
- * @param field
- * @param iJavaElement
- * @return private JaxrsResource findResource(final IType javaElement) {
- * final String targetIdentifier =
- * javaElement.getHandleIdentifier(); for (IJaxrsResource resource :
- * resources) { final String resourceIdentifier =
- * resource.getJavaElement().getHandleIdentifier(); if
- * (resourceIdentifier.equals(targetIdentifier)) { return
- * (JaxrsResource) resource; } } return null; }
- */
-
public final List<IJaxrsHttpMethod> getAllHttpMethods() {
return Collections.unmodifiableList(new ArrayList<IJaxrsHttpMethod>(httpMethods));
}
@@ -349,8 +323,7 @@
}
/**
- * Report errors from the given markers into the JAX-RS element(s)
- * associated with the given compiltation unit.
+ * Report errors from the given markers into the JAX-RS element(s) associated with the given compiltation unit.
*
* @param compilationUnit
* the compilation unit
@@ -379,11 +352,9 @@
}
/**
- * Resets this metamodel for further re-use (ie, before a new 'full/clean'
- * build). Keeping the same instance of Metamodel in the project's session
- * properties is a convenient thing, especially on the UI side, where some
- * caching system is use to maintain the state of nodes in the Common
- * Navigator (framework).
+ * Resets this metamodel for further re-use (ie, before a new 'full/clean' build). Keeping the same instance of
+ * Metamodel in the project's session properties is a convenient thing, especially on the UI side, where some
+ * caching system is use to maintain the state of nodes in the Common Navigator (framework).
*/
public void reset() {
Logger.debug("Reseting the JAX-RS Metamodel fpr project {}", this.javaProject.getElementName());
@@ -468,7 +439,7 @@
final List<T> elements = new ArrayList<T>();
if (elementsIndex.containsKey(key)) {
for (JaxrsElement<?> element : elementsIndex.get(key)) {
- if (element.getClass().isAssignableFrom(T)) {
+ if (element.getClass().isAssignableFrom(T) || T.isAssignableFrom(element.getClass())) {
elements.add((T) element);
}
}
@@ -487,6 +458,9 @@
return;
}
switch (element.getElementKind()) {
+ case APPLICATION:
+ this.applications.remove(element);
+ break;
case HTTP_METHOD:
this.httpMethods.remove(element);
break;
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResource.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResource.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/domain/JaxrsResource.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -42,7 +42,7 @@
public class JaxrsResource extends JaxrsElement<IType> implements IJaxrsResource {
/** Optional Application. */
- private final JaxrsApplication application = null;
+ private final JaxrsAnnotatedTypeApplication application = null;
private final Map<String, JaxrsResourceField> resourceFields = new HashMap<String, JaxrsResourceField>();
@@ -62,17 +62,17 @@
this.metamodel = metamodel;
}
- public Builder pathTemplate(Annotation pathAnnotation) {
+ public Builder pathTemplate(final Annotation pathAnnotation) {
this.pathAnnotation = pathAnnotation;
return this;
}
- public Builder consumes(Annotation consumesAnnotation) {
+ public Builder consumes(final Annotation consumesAnnotation) {
this.consumesAnnotation = consumesAnnotation;
return this;
}
- public Builder produces(Annotation producesAnnotation) {
+ public Builder produces(final Annotation producesAnnotation) {
this.producesAnnotation = producesAnnotation;
return this;
}
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationsScanner.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationsScanner.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationsScanner.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -14,6 +14,7 @@
import java.util.ArrayList;
import java.util.List;
+import javax.ws.rs.ApplicationPath;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.Path;
import javax.ws.rs.ext.Provider;
@@ -32,8 +33,7 @@
import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsHttpMethod;
/**
- * Class that scan the projec's classpath to find JAX-RS Resources and
- * Providers.
+ * Class that scan the projec's classpath to find JAX-RS Resources and Providers.
*/
public final class JaxrsAnnotationsScanner {
@@ -43,8 +43,10 @@
}
/**
- * Returns all JAX-RS providers in the given scope (ex : javaProject), ie,
- * types annotated with <code>javax.ws.rs.ext.Provider</code> annotation.
+ * Returns all JAX-RS Applications in the given scope (ex : javaProject), ie, types annotated with
+ * <code>javax.ws.rs.ApplicationPath</code> annotation. Those types should be subtypes of
+ * {@link javax.ws.rs.Application}, but this will be verified at validation time, eventually reporting the
+ * missing/wrong super type (hierarchy).
*
*
* @param scope
@@ -57,6 +59,29 @@
* @throws CoreException
* in case of exception
*/
+ public static List<IType> findApplicationTypes(final IJavaElement scope, final IProgressMonitor progressMonitor)
+ throws CoreException {
+ IJavaSearchScope searchScope = null;
+ searchScope = SearchEngine.createJavaSearchScope(new IJavaElement[] { scope }, IJavaSearchScope.SOURCES
+ | IJavaSearchScope.REFERENCED_PROJECTS);
+ return searchForAnnotatedTypes(ApplicationPath.class, searchScope, progressMonitor);
+ }
+
+ /**
+ * Returns all JAX-RS providers in the given scope (ex : javaProject), ie, types annotated with
+ * <code>javax.ws.rs.ext.Provider</code> annotation.
+ *
+ *
+ * @param scope
+ * the search scope (project, compilation unit, type, etc.)
+ * @param includeLibraries
+ * include project libraries in search scope or not
+ * @param progressMonitor
+ * the progress monitor
+ * @return providers the JAX-RS provider types
+ * @throws CoreException
+ * in case of exception
+ */
public static List<IType> findProviderTypes(final IJavaElement scope, final boolean includeLibraries,
final IProgressMonitor progressMonitor) throws CoreException {
IJavaSearchScope searchScope = null;
@@ -71,9 +96,8 @@
}
/**
- * Returns all JAX-RS resources resourceMethods (ie, class resourceMethods
- * annotated with an @HttpMethod annotation) in the given scope (ex :
- * javaProject).
+ * Returns all JAX-RS resources resourceMethods (ie, class resourceMethods annotated with an @HttpMethod annotation)
+ * in the given scope (ex : javaProject).
*
* @param scope
* the search scope (project, compilation unit, type, etc.)
@@ -81,12 +105,11 @@
* the fully qualified names of the HttpMethod java types.
* @param progressMonitor
* the progress monitor
- * @return JAX-RS resource resourceMethods in a map, indexed by the
- * declaring type of the resourceMethods
+ * @return JAX-RS resource resourceMethods in a map, indexed by the declaring type of the resourceMethods
* @throws CoreException
* in case of underlying exception
*/
- public static List<IType> findResources(final IJavaElement scope, final IProgressMonitor progressMonitor)
+ public static List<IType> findResourceTypes(final IJavaElement scope, final IProgressMonitor progressMonitor)
throws CoreException {
IJavaSearchScope searchScope = SearchEngine.createJavaSearchScope(new IJavaElement[] { scope },
IJavaSearchScope.SOURCES | IJavaSearchScope.REFERENCED_PROJECTS);
@@ -102,9 +125,8 @@
}
/**
- * Returns all HTTP Methods (ie, annotation meta-annotated with the
- * <code>javax.ws.rs.HttpMethod</code> annotation) in the given scope (ex :
- * javaProject).
+ * Returns all HTTP Methods (ie, annotation meta-annotated with the <code>javax.ws.rs.HttpMethod</code> annotation)
+ * in the given scope (ex : javaProject).
*
* @param scope
* the search scope (project, compilation unit, type, etc.)
@@ -114,7 +136,7 @@
* @throws CoreException
* in case of underlying exceptions.
*/
- public static List<IType> findHTTPMethodTypes(final IJavaElement scope, final IProgressMonitor progressMonitor)
+ public static List<IType> findHttpMethodTypes(final IJavaElement scope, final IProgressMonitor progressMonitor)
throws CoreException {
IJavaSearchScope searchScope = null;
if (scope instanceof IJavaProject) {
@@ -127,8 +149,7 @@
}
/**
- * Search for types that are annotated with the given annotation name, in
- * the given search scope.
+ * Search for types that are annotated with the given annotation name, in the given search scope.
*
* @param annotationName
* the annotation type name
@@ -154,19 +175,16 @@
}
/**
- * Returns all JAX-RS resources resourceMethods (ie, class resourceMethods
- * annotated with an @HttpMethod annotation) in the given scope (ex :
- * javaProject).
+ * Returns all JAX-RS resources resourceMethods (ie, class resourceMethods annotated with an @HttpMethod annotation)
+ * in the given scope (ex : javaProject).
*
* @param scope
* the search scope
* @param list
- * the types annotated with <code>javax.ws.rs.HttpMethod</code>
- * annotation
+ * the types annotated with <code>javax.ws.rs.HttpMethod</code> annotation
* @param progressMonitor
* the progress monitor
- * @return JAX-RS resource resourceMethods in a map, indexed by the
- * declaring type of the resourceMethods
+ * @return JAX-RS resource resourceMethods in a map, indexed by the declaring type of the resourceMethods
* @throws CoreException
* in case of underlying exception
*/
@@ -183,8 +201,7 @@
}
/**
- * Search for methods annotated with one of the given annotations, in the
- * search scope.
+ * Search for methods annotated with one of the given annotations, in the search scope.
*
* @param annotationNames
* the annotations fully qualified names
Added: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/metamodel/JaxrsMetamodelChangedEvent.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/metamodel/JaxrsMetamodelChangedEvent.java (rev 0)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/metamodel/JaxrsMetamodelChangedEvent.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -0,0 +1,43 @@
+/**
+ *
+ */
+package org.jboss.tools.ws.jaxrs.core.metamodel;
+
+import java.util.ArrayList;
+import java.util.EventObject;
+import java.util.List;
+
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.builder.JaxrsEndpointChangedEvent;
+
+/**
+ * @author Xavier Coulon
+ *
+ */
+public class JaxrsMetamodelChangedEvent extends EventObject {
+
+ /**
+ * generated Serial Version UID.
+ */
+ private static final long serialVersionUID = -5946354315088280844L;
+
+ /** List of underlying JarxEndpoints change events carried by this event.*/
+ private final List<IJaxrsEndpointChangedEvent> endpointChangedEvents;
+
+ /**
+ * Full constructor.
+ * @param events
+ */
+ public JaxrsMetamodelChangedEvent(List<JaxrsEndpointChangedEvent> events) {
+ super(events);
+ this.endpointChangedEvents = new ArrayList<IJaxrsEndpointChangedEvent>(events);
+ }
+
+ /**
+ * @return the endpointChangedEvents
+ */
+ public List<IJaxrsEndpointChangedEvent> getEndpointChangedEvents() {
+ return endpointChangedEvents;
+ }
+
+
+}
Property changes on: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.core/src/org/jboss/tools/ws/jaxrs/core/metamodel/JaxrsMetamodelChangedEvent.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/plugin.xml
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/plugin.xml 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/plugin.xml 2012-01-06 08:06:06 UTC (rev 37669)
@@ -12,6 +12,7 @@
</contentExtension>
</includes>
</viewerContentBinding>
+
<viewerContentBinding
viewerId="org.eclipse.ui.navigator.ProjectExplorer">
<includes>
@@ -21,6 +22,7 @@
</contentExtension>
</includes>
</viewerContentBinding>
+
<!-- Viewer content binding for our Custom implementation of o.e.ui.navigator.CommonNavigator : keep for later-->
<!--viewer
viewerId="org.jboss.tools.ws.jaxrs.ui.viewpart.OutlineView">
Modified: trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java
===================================================================
--- trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/plugins/org.jboss.tools.ws.jaxrs.ui/src/org/jboss/tools/ws/jaxrs/ui/cnf/UriMappingsContentProvider.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -14,6 +14,7 @@
import java.util.Date;
import java.util.EventObject;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.eclipse.core.resources.IProject;
@@ -28,6 +29,7 @@
import org.eclipse.swt.widgets.Display;
import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsEndpoint;
import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsEndpointChangedEvent;
+import org.jboss.tools.ws.jaxrs.core.metamodel.JaxrsMetamodelChangedEvent;
import org.jboss.tools.ws.jaxrs.core.metamodel.JaxrsMetamodelLocator;
import org.jboss.tools.ws.jaxrs.core.pubsub.EventService;
import org.jboss.tools.ws.jaxrs.core.pubsub.Subscriber;
@@ -59,13 +61,17 @@
if (!uriPathTemplateCategories.containsKey(project)) {
if (JaxrsMetamodelLocator.get(project) == null) {
Logger.debug("JAX-RS Metamodel needs to be built for project '" + project.getName() + "'");
- Job buildJob = CoreUtility.getBuildJob(project);
- buildJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
- buildJob.schedule();
+ // this piece of code must run in an async manner to avoid reentrant call while viewer is busy.
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ Job buildJob = CoreUtility.getBuildJob(project);
+ buildJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
+ buildJob.schedule();
+ }
+ });
return new Object[] { new WaitWhileBuildingElement() };
}
- UriPathTemplateCategory uriPathTemplateCategory = new UriPathTemplateCategory(this, project);
- uriPathTemplateCategories.put(project, uriPathTemplateCategory);
}
return new Object[] { uriPathTemplateCategories.get(project) };
} catch (CoreException e) {
@@ -111,13 +117,16 @@
}
/*
- * @Override public void resourceChanged(IResourceChangeEvent event) {
- * refreshChangedProjects(event.getDelta()); }
+ * @Override public void resourceChanged(IResourceChangeEvent event) { refreshChangedProjects(event.getDelta()); }
*/
@Override
public void inform(EventObject event) {
- if (event instanceof IJaxrsEndpointChangedEvent) {
+ //FIXME: should receive a single JaxrsMetamodelChangedEvent containing 0 or more IJaxrsEndpointChangedEvent(s)
+ if (event instanceof JaxrsMetamodelChangedEvent) {
+ final JaxrsMetamodelChangedEvent metamodelChangedEvent = (JaxrsMetamodelChangedEvent) event;
+ final List<IJaxrsEndpointChangedEvent> endpointChangedEvents = metamodelChangedEvent.getEndpointChangedEvents();
+
final IJaxrsEndpointChangedEvent change = (IJaxrsEndpointChangedEvent) event;
final IJaxrsEndpoint endpoint = change.getEndpoint();
refreshContent(endpoint.getJavaProject().getProject());
@@ -128,6 +137,8 @@
Logger.debug("Refreshing navigator view");
final Object target = uriPathTemplateCategories.containsKey(project) ? uriPathTemplateCategories.get(project)
: project;
+ UriPathTemplateCategory uriPathTemplateCategory = new UriPathTemplateCategory(this, project);
+ uriPathTemplateCategories.put(project, uriPathTemplateCategory);
// this piece of code must run in an async manner to avoid reentrant call while viewer is busy.
Display.getDefault().asyncExec(new Runnable() {
@Override
@@ -140,6 +151,7 @@
}
});
}
+
@Override
/**
* Subscriber ID
Added: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/projects/org.jboss.tools.ws.jaxrs.tests.sampleproject/src/main/java/org/jboss/tools/ws/jaxrs/sample/services/RestApplication.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/projects/org.jboss.tools.ws.jaxrs.tests.sampleproject/src/main/java/org/jboss/tools/ws/jaxrs/sample/services/RestApplication.java (rev 0)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/projects/org.jboss.tools.ws.jaxrs.tests.sampleproject/src/main/java/org/jboss/tools/ws/jaxrs/sample/services/RestApplication.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -0,0 +1,10 @@
+package org.jboss.tools.ws.jaxrs.sample.services;
+
+import javax.ws.rs.ApplicationPath;
+import javax.ws.rs.core.Application;
+
+@SuppressWarnings("unused")
+@ApplicationPath("/app")
+public class RestApplication extends Application {
+
+}
Property changes on: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/projects/org.jboss.tools.ws.jaxrs.tests.sampleproject/src/main/java/org/jboss/tools/ws/jaxrs/sample/services/RestApplication.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/AllTests.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/AllTests.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/AllTests.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -24,6 +24,7 @@
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidatorTestCase;
import org.jboss.tools.ws.jaxrs.core.internal.utils.CollectionUtilsTestCase;
import org.jboss.tools.ws.jaxrs.core.jdt.CompilationUnitsRepositoryTestCase;
+import org.jboss.tools.ws.jaxrs.core.jdt.JaxrsAnnotationScannerTestCase;
import org.jboss.tools.ws.jaxrs.core.jdt.JdtUtilsTestCase;
import org.jboss.tools.ws.jaxrs.core.pubsub.PubSubServiceTestCase;
import org.junit.runner.RunWith;
@@ -37,7 +38,8 @@
JaxrsElementChangedProcessorTestCase.class, JaxrsMetamodelTestCase.class,
JaxrsElementFactoryTestCase.class, JaxrsMetamodelBuilderTestCase.class, CollectionUtilsTestCase.class,
PubSubServiceTestCase.class, JaxrsMetamodelValidatorTestCase.class,
- ResourceChangedProcessorTestCase.class, ResourceChangedListenerTestCase.class})
+ ResourceChangedProcessorTestCase.class, ResourceChangedListenerTestCase.class,
+ JaxrsAnnotationScannerTestCase.class})
public class AllTests {
}
Modified: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessorTestCase.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessorTestCase.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JavaElementChangedProcessorTestCase.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -43,6 +43,7 @@
import java.util.List;
import java.util.Map;
+import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.DefaultValue;
@@ -76,6 +77,8 @@
import org.jboss.tools.ws.jaxrs.core.AbstractCommonTestCase;
import org.jboss.tools.ws.jaxrs.core.JBossJaxrsCorePlugin;
import org.jboss.tools.ws.jaxrs.core.WorkbenchUtils;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsAnnotatedTypeApplication;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsApplication;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsHttpMethod;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsResource;
@@ -186,9 +189,9 @@
final JavaElementChangedEvent event = createEvent(sourceFolder, ADDED);
final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
// verifications
- // 1 HttpMethod + 3 RootResources + 2 Subresources + all their methods and fields (total of 16)..
- assertThat(impacts.size(), equalTo(22));
- assertThat(metamodel.getElements(javaProject).size(), equalTo(26)); // 4 previous HttpMethods + 22 added items
+ // 1 Application + 1 HttpMethod + 3 RootResources + 2 Subresources + all their methods and fields (total of 16)..
+ assertThat(impacts.size(), equalTo(23));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(27)); // 4 previous HttpMethods + 23 added items
assertThat(impacts, everyItem(Matchers.<JaxrsElementChangedEvent> hasProperty("deltaKind", equalTo(ADDED))));
}
@@ -208,6 +211,221 @@
}
@Test
+ public void shouldAddApplicationWhenAddingSourceCompilationUnit() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ // operation
+ final JavaElementChangedEvent event = createEvent(type.getCompilationUnit(), ADDED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(ADDED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ verify(metamodel, times(1)).add(any(JaxrsApplication.class));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldAddApplicationWhenAddingSourceType() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ // operation
+ final JavaElementChangedEvent event = createEvent(type, ADDED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(ADDED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ verify(metamodel, times(1)).add(any(JaxrsApplication.class));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldAddApplicationWhenAddingApplicationPathAnnotation() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ // operation
+ final JavaElementChangedEvent event = createEvent(annotation, ADDED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(ADDED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ verify(metamodel, times(1)).add(any(JaxrsApplication.class));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldDoNothingWhenAddingUnrelatedAnnotationOnApplication() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, getAnnotation(type, ApplicationPath.class), metamodel);
+ metamodel.add(application);
+ final Annotation annotation = getAnnotation(type, SuppressWarnings.class);
+ // operation
+ final JavaElementChangedEvent event = createEvent(annotation, ADDED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(0));
+ verify(metamodel, times(1)).add(any(JaxrsApplication.class)); // one call, during pre-conditions
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldUpdateApplicationWhenChangingAnnotationValue() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class, "/bar");
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ // operation
+ final JavaElementChangedEvent event = createEvent(annotation, CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(CHANGED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldDoNothingWhenAnnotationValueRemainsSameOnApplication() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ // operation
+ final JavaElementChangedEvent event = createEvent(annotation, CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(0));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldDoNothingWhenChangingUnrelatedApplicationAnnotationValue() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ final Annotation suppressWarningsAnnotation = getAnnotation(type, SuppressWarnings.class);
+ // operation
+ final JavaElementChangedEvent event = createEvent(suppressWarningsAnnotation, CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(0));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingCompilationUnit() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ // operation
+ final JavaElementChangedEvent event = createEvent(type.getCompilationUnit(), REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()), equalTo(application));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingSourceType() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ // operation
+ final JavaElementChangedEvent event = createEvent(type, REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingAnnotation() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ // operation
+ final JavaElementChangedEvent event = createEvent(annotation, REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(impacts.get(0).getElement(), is(notNullValue()));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldDoNothingWhenRemovingUnrelatedAnnotationOnApplication() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ // operation
+ final JavaElementChangedEvent event = createEvent(getAnnotation(type, SuppressWarnings.class), REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(0));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingSourceFolder() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ metamodel.add(application);
+ final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java",
+ progressMonitor);
+ // operation
+ final JavaElementChangedEvent event = createEvent(sourceFolder, REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getElement(), is(notNullValue()));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
public void shouldAddHttpMethodWhenAddingSourceCompilationUnit() throws CoreException {
// pre-conditions
final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject,
@@ -260,7 +478,7 @@
}
@Test
- public void shouldDoNothingWhenAddingUnrelatedAnnotation() throws CoreException {
+ public void shouldDoNothingWhenAddingUnrelatedAnnotationOnHttpMethod() throws CoreException {
// pre-conditions
final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject,
progressMonitor);
@@ -1921,11 +2139,11 @@
final IMethod method = getMethod(type, "getPicture");
final JavaMethodParameter startParameter = new JavaMethodParameter("id", Integer.class.getName(),
Arrays.asList(createAnnotation(PathParam.class, "id")));
- final JavaMethodParameter sizeParameter = new JavaMethodParameter("color", String.class.getName(), new ArrayList<Annotation>());
+ final JavaMethodParameter sizeParameter = new JavaMethodParameter("color", String.class.getName(),
+ new ArrayList<Annotation>());
final JaxrsResourceMethod jaxrsMethod = new JaxrsResourceMethod.Builder(method, resource, metamodel)
.httpMethod(getAnnotation(method, GET.class)).returnType(getType("java.lang.Object", javaProject))
- .methodParameter(startParameter).methodParameter(sizeParameter)
- .build();
+ .methodParameter(startParameter).methodParameter(sizeParameter).build();
metamodel.add(jaxrsMethod);
// operation
final JavaElementChangedEvent event = createEvent(method, CHANGED, F_SIGNATURE);
@@ -1953,12 +2171,11 @@
final IMethod method = getMethod(type, "getPicture");
final JavaMethodParameter startParameter = new JavaMethodParameter("id", Integer.class.getName(),
Arrays.asList(createAnnotation(PathParam.class, "id")));
- final JavaMethodParameter sizeParameter = new JavaMethodParameter("color", String.class.getName(), Arrays.asList(
- createAnnotation(MatrixParam.class, "foo")));
+ final JavaMethodParameter sizeParameter = new JavaMethodParameter("color", String.class.getName(),
+ Arrays.asList(createAnnotation(MatrixParam.class, "foo")));
final JaxrsResourceMethod jaxrsMethod = new JaxrsResourceMethod.Builder(method, resource, metamodel)
.httpMethod(getAnnotation(method, GET.class)).returnType(getType("java.lang.Object", javaProject))
- .methodParameter(startParameter).methodParameter(sizeParameter)
- .build();
+ .methodParameter(startParameter).methodParameter(sizeParameter).build();
metamodel.add(jaxrsMethod);
// operation
final JavaElementChangedEvent event = createEvent(method, CHANGED, F_SIGNATURE);
Modified: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessorTestCase.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessorTestCase.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/JaxrsElementChangedProcessorTestCase.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -29,6 +29,7 @@
import java.util.LinkedList;
import java.util.List;
+import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.HttpMethod;
@@ -44,6 +45,8 @@
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
import org.jboss.tools.ws.jaxrs.core.AbstractCommonTestCase;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsAnnotatedTypeApplication;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsApplication;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsEndpoint;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsHttpMethod;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel;
@@ -74,12 +77,20 @@
metamodel = spy(JaxrsMetamodel.create(javaProject));
}
+ private JaxrsApplication createApplication(String typeName) throws CoreException, JavaModelException {
+ final IType applicationType = getType(typeName, javaProject);
+ final JaxrsApplication application = new JaxrsAnnotatedTypeApplication(applicationType,
+ getAnnotation(applicationType, ApplicationPath.class), metamodel);
+ metamodel.add(application);
+ return application;
+ }
+
private JaxrsResource createResource(String typeName) throws CoreException, JavaModelException {
final IType resourceType = getType(typeName, javaProject);
- final JaxrsResource customerResource = new JaxrsResource.Builder(resourceType, metamodel).pathTemplate(
+ final JaxrsResource resource = new JaxrsResource.Builder(resourceType, metamodel).pathTemplate(
getAnnotation(resourceType, Path.class)).build();
- metamodel.add(customerResource);
- return customerResource;
+ metamodel.add(resource);
+ return resource;
}
private JaxrsResourceMethod createResourceMethod(String methodName, JaxrsResource parentResource,
@@ -109,8 +120,15 @@
return httpMethod;
}
+ private JaxrsEndpoint createEndpoint(JaxrsApplication application, JaxrsHttpMethod httpMethod, JaxrsResourceMethod... resourceMethods) {
+ JaxrsEndpoint endpoint = new JaxrsEndpoint(application, httpMethod, new LinkedList<JaxrsResourceMethod>(
+ Arrays.asList(resourceMethods)));
+ metamodel.add(endpoint);
+ return endpoint;
+ }
+
private JaxrsEndpoint createEndpoint(JaxrsHttpMethod httpMethod, JaxrsResourceMethod... resourceMethods) {
- JaxrsEndpoint endpoint = new JaxrsEndpoint(httpMethod, new LinkedList<JaxrsResourceMethod>(
+ JaxrsEndpoint endpoint = new JaxrsEndpoint(null, httpMethod, new LinkedList<JaxrsResourceMethod>(
Arrays.asList(resourceMethods)));
metamodel.add(endpoint);
return endpoint;
@@ -290,6 +308,27 @@
}
@Test
+ public void shoudChangeUriPathTemplateWhenAddingApplication() throws JavaModelException, CoreException {
+ // the subresource becomes a root resource !
+ // pre-conditions
+ final JaxrsHttpMethod httpMethod = createHttpMethod(GET.class);
+ final JaxrsResource customerResource = createResource("org.jboss.tools.ws.jaxrs.sample.services.CustomerResource");
+ final JaxrsResourceMethod customerResourceMethod = createResourceMethod("getCustomer", customerResource,
+ GET.class);
+ final JaxrsEndpoint endpoint = createEndpoint(httpMethod, customerResourceMethod);
+ assertThat(endpoint.getUriPathTemplate(), equalTo("/customers/{id}"));
+ // operation
+ final JaxrsApplication application = createApplication("org.jboss.tools.ws.jaxrs.sample.services.RestApplication");
+ final JaxrsElementChangedEvent event = new JaxrsElementChangedEvent(application, ADDED);
+ final List<JaxrsEndpointChangedEvent> changes = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(changes.size(), equalTo(1));
+ assertThat(changes.get(0).getDeltaKind(), equalTo(CHANGED));
+ assertThat(changes.get(0).getEndpoint(), equalTo((IJaxrsEndpoint) endpoint));
+ assertThat(changes.get(0).getEndpoint().getUriPathTemplate(), equalTo("/app/customers/{id}"));
+ }
+
+ @Test
public void shoudChangeUriPathTemplateWhenAddingResourcePathAnnotation() throws JavaModelException, CoreException {
// the subresource becomes a root resource !
// pre-conditions
@@ -335,6 +374,30 @@
}
@Test
+ public void shoudChangeUriPathTemplateWhenChangingApplicationPathAnnotation() throws JavaModelException, CoreException {
+ // pre-conditions
+ final JaxrsApplication application = createApplication("org.jboss.tools.ws.jaxrs.sample.services.RestApplication");
+ final JaxrsHttpMethod httpMethod = createHttpMethod(GET.class);
+ final JaxrsResource customerResource = createResource("org.jboss.tools.ws.jaxrs.sample.services.CustomerResource");
+ final JaxrsResourceMethod customerResourceMethod = createResourceMethod("getCustomer", customerResource,
+ GET.class);
+ final JaxrsEndpoint endpoint = createEndpoint(application, httpMethod, customerResourceMethod);
+ assertThat(endpoint.getUriPathTemplate(), equalTo("/app/customers/{id}"));
+ // operation
+ final Annotation annotation = getAnnotation(application.getJavaElement(), ApplicationPath.class, "/foo");
+ int flags = application.addOrUpdateAnnotation(annotation);
+ final JaxrsElementChangedEvent event = new JaxrsElementChangedEvent(application, CHANGED, flags);
+ final List<JaxrsEndpointChangedEvent> changes = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(changes.size(), equalTo(1));
+ final JaxrsEndpointChangedEvent change = changes.get(0);
+ assertThat(change.getDeltaKind(), equalTo(CHANGED));
+ assertThat(change.getEndpoint(), equalTo((IJaxrsEndpoint) endpoint));
+ assertThat(change.getEndpoint().getHttpMethod(), equalTo((IJaxrsHttpMethod) httpMethod));
+ assertThat(change.getEndpoint().getUriPathTemplate(), equalTo("/foo/customers/{id}"));
+ }
+
+ @Test
public void shoudChangeUriPathTemplateWhenChangingResourcePathAnnotation() throws JavaModelException, CoreException {
// pre-conditions
final JaxrsHttpMethod httpMethod = createHttpMethod(GET.class);
@@ -432,6 +495,29 @@
}
@Test
+ public void shoudChangeUriPathTemplateWhenRemovingMetamodelApplication() throws JavaModelException, CoreException {
+ // pre-conditions
+ final JaxrsApplication application = createApplication("org.jboss.tools.ws.jaxrs.sample.services.RestApplication");
+ final JaxrsHttpMethod httpMethod = createHttpMethod(GET.class);
+ final JaxrsResource customerResource = createResource("org.jboss.tools.ws.jaxrs.sample.services.CustomerResource");
+ final JaxrsResourceMethod customerResourceMethod = createResourceMethod("getCustomer", customerResource,
+ GET.class);
+ final JaxrsEndpoint endpoint = createEndpoint(application, httpMethod, customerResourceMethod);
+ assertThat(endpoint.getUriPathTemplate(), equalTo("/app/customers/{id}"));
+ // operation : no 'application' left in the metamodel
+ metamodel.remove(application);
+ final JaxrsElementChangedEvent event = new JaxrsElementChangedEvent(application, REMOVED);
+ final List<JaxrsEndpointChangedEvent> changes = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(changes.size(), equalTo(1));
+ assertThat(changes.get(0).getDeltaKind(), equalTo(CHANGED));
+ assertThat(changes.get(0).getEndpoint(), equalTo((IJaxrsEndpoint) endpoint));
+ assertThat(changes.get(0).getEndpoint().getHttpMethod(), equalTo((IJaxrsHttpMethod) httpMethod));
+ assertThat(changes.get(0).getEndpoint().getUriPathTemplate(), equalTo("/customers/{id}"));
+ assertThat(metamodel.getAllApplications().size(), equalTo(0));
+ }
+
+ @Test
public void shoudChangeUriPathTemplateWhenRemovingMethodPathAnnotation() throws JavaModelException, CoreException {
// pre-conditions
final JaxrsHttpMethod httpMethod = createHttpMethod(GET.class);
Modified: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessorTestCase.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessorTestCase.java 2012-01-06 04:09:33 UTC (rev 37668)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/internal/metamodel/builder/ResourceChangedProcessorTestCase.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -29,6 +29,7 @@
import java.util.Iterator;
import java.util.List;
+import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -48,6 +49,8 @@
import org.jboss.tools.ws.jaxrs.core.AbstractCommonTestCase;
import org.jboss.tools.ws.jaxrs.core.JBossJaxrsCorePlugin;
import org.jboss.tools.ws.jaxrs.core.WorkbenchUtils;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsAnnotatedTypeApplication;
+import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsApplication;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsElementFactory;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsHttpMethod;
import org.jboss.tools.ws.jaxrs.core.internal.metamodel.domain.JaxrsMetamodel;
@@ -85,6 +88,17 @@
javaProject.getProject().setSessionProperty(JaxrsMetamodel.METAMODEL_QUALIFIED_NAME, metamodel);
}
+ private JaxrsApplication createApplication(IType type) throws JavaModelException {
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ return new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ }
+
+ private JaxrsApplication createApplication(IType type, String applicationPath) throws JavaModelException {
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class, applicationPath);
+ return new JaxrsAnnotatedTypeApplication(type, annotation, metamodel);
+ }
+
+
/**
* @return
* @throws CoreException
@@ -147,11 +161,11 @@
final ResourceChangedEvent event = createEvent(sourceFolder.getResource(), ADDED);
final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
// verifications
- // 1 HttpMethod + 3 RootResources + 2 Subresources
- assertThat(impacts.size(), equalTo(6));
+ // 1 application + 1 HttpMethod + 3 RootResources + 2 Subresources
+ assertThat(impacts.size(), equalTo(7));
assertThat(impacts, everyItem(Matchers.<JaxrsElementChangedEvent> hasProperty("deltaKind", equalTo(ADDED))));
// all HttpMethods, Resources, ResourceMethods and ResourceFields
- assertThat(metamodel.getElements(javaProject).size(), equalTo(26));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(27));
}
@Test
@@ -185,6 +199,141 @@
}
@Test
+ public void shouldAddApplicationWhenChangingResource() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject,
+ progressMonitor);
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ // operation
+ final ResourceChangedEvent event = createEvent(annotation.getJavaParent().getResource(), CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(ADDED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ verify(metamodel, times(1)).add(any(JaxrsApplication.class));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldChangeApplicationWhenChangingResource() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject,
+ progressMonitor);
+ metamodel.add(createApplication(type, "/bar"));
+ // operation
+ final ResourceChangedEvent event = createEvent(type.getResource(), CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(CHANGED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ verify(metamodel, times(1)).add(any(JaxrsApplication.class));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenChangingResource() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject,
+ progressMonitor);
+ metamodel.add(createApplication(type));
+ final Annotation annotation = getAnnotation(type, ApplicationPath.class);
+ // operation
+ WorkbenchUtils.delete(annotation.getJavaAnnotation(), false);
+ final ResourceChangedEvent event = createEvent(annotation.getJavaParent().getResource(), CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()).getApplicationPath(), equalTo("/app"));
+ verify(metamodel, times(1)).add(any(JaxrsHttpMethod.class));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingCompilationUnit() throws CoreException {
+ // pre-conditions
+ // JaxrsMetamodel metamodel = new JaxrsMetamodel(javaProject);
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject,
+ progressMonitor);
+ final JaxrsApplication application = createApplication(type);
+ metamodel.add(application);
+ // operation
+ final ResourceChangedEvent event = createEvent(type.getResource(), REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(((JaxrsApplication) impacts.get(0).getElement()), equalTo(application));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingSourceType() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject,
+ progressMonitor);
+ final Annotation annotation = getAnnotation(type, HttpMethod.class);
+ final JaxrsHttpMethod httpMethod = new JaxrsHttpMethod(type, annotation, metamodel);
+ metamodel.add(httpMethod);
+ // operation
+ WorkbenchUtils.delete(type);
+ final ResourceChangedEvent event = createEvent(type.getResource(), CHANGED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.HTTP_METHOD));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(((IJaxrsHttpMethod) impacts.get(0).getElement()).getHttpVerb(), equalTo("FOO"));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRemoveApplicationWhenRemovingSourceFolder() throws CoreException {
+ // pre-conditions
+ final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject,
+ progressMonitor);
+ final JaxrsApplication application = createApplication(type);
+ metamodel.add(application);
+ final IPackageFragmentRoot sourceFolder = WorkbenchUtils.getPackageFragmentRoot(javaProject, "src/main/java",
+ progressMonitor);
+ // operation
+ final ResourceChangedEvent event = createEvent(sourceFolder.getResource(), REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.APPLICATION));
+ assertThat(impacts.get(0).getElement(), is(notNullValue()));
+ assertThat(impacts.get(0).getDeltaKind(), equalTo(REMOVED));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRemoveHttpMethodWhenRemovingBinaryLib() throws CoreException {
+ // pre-conditions
+ final IPackageFragmentRoot lib = WorkbenchUtils.getPackageFragmentRoot(javaProject,
+ "lib/jaxrs-api-2.0.1.GA.jar", progressMonitor);
+ // let's suppose that this jar only contains 1 HTTP Methods ;-)
+ final IType type = JdtUtils.resolveType("javax.ws.rs.GET", javaProject, progressMonitor);
+ final Annotation annotation = getAnnotation(type, HttpMethod.class);
+ final JaxrsHttpMethod httpMethod = new JaxrsHttpMethod(type, annotation, metamodel);
+ metamodel.add(httpMethod);
+ // operation
+ final ResourceChangedEvent event = createEvent(lib.getResource(), REMOVED);
+ final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
+ // verifications
+ assertThat(impacts.size(), equalTo(1));
+ assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.HTTP_METHOD));
+ assertThat(impacts, everyItem(Matchers.<JaxrsElementChangedEvent> hasProperty("deltaKind", equalTo(REMOVED))));
+ assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
+ }
+
+ @Test
public void shouldAddHttpMethodWhenChangingResource() throws CoreException {
// pre-conditions
final IType type = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject,
@@ -301,25 +450,6 @@
assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
}
- @Test
- public void shouldRemoveHttpMethodWhenRemovingBinaryLib() throws CoreException {
- // pre-conditions
- final IPackageFragmentRoot lib = WorkbenchUtils.getPackageFragmentRoot(javaProject,
- "lib/jaxrs-api-2.0.1.GA.jar", progressMonitor);
- // let's suppose that this jar only contains 1 HTTP Methods ;-)
- final IType type = JdtUtils.resolveType("javax.ws.rs.GET", javaProject, progressMonitor);
- final Annotation annotation = getAnnotation(type, HttpMethod.class);
- final JaxrsHttpMethod httpMethod = new JaxrsHttpMethod(type, annotation, metamodel);
- metamodel.add(httpMethod);
- // operation
- final ResourceChangedEvent event = createEvent(lib.getResource(), REMOVED);
- final List<JaxrsElementChangedEvent> impacts = processEvent(event, progressMonitor);
- // verifications
- assertThat(impacts.size(), equalTo(1));
- assertThat(impacts.get(0).getElement().getElementKind(), equalTo(EnumElementKind.HTTP_METHOD));
- assertThat(impacts, everyItem(Matchers.<JaxrsElementChangedEvent> hasProperty("deltaKind", equalTo(REMOVED))));
- assertThat(metamodel.getElements(javaProject).size(), equalTo(0));
- }
@Test
public void shouldAddResourceWhenAddingSourceCompilationUnit() throws CoreException {
Added: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationScannerTestCase.java
===================================================================
--- trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationScannerTestCase.java (rev 0)
+++ trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationScannerTestCase.java 2012-01-06 08:06:06 UTC (rev 37669)
@@ -0,0 +1,139 @@
+package org.jboss.tools.ws.jaxrs.core.jdt;
+
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assert.assertThat;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.IMethod;
+import org.eclipse.jdt.core.IType;
+import org.jboss.tools.ws.jaxrs.core.AbstractCommonTestCase;
+import org.jboss.tools.ws.jaxrs.core.metamodel.IJaxrsHttpMethod;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class JaxrsAnnotationScannerTestCase extends AbstractCommonTestCase {
+
+ @Test
+ public void shouldRetrieveAllResourcesInTheProject() throws CoreException {
+ // pre-conditions
+ // operation
+ final List<IType> resources = JaxrsAnnotationsScanner.findResourceTypes(javaProject, new NullProgressMonitor());
+ // verifications
+ assertThat(resources.size(), equalTo(5));
+ }
+
+ @Test
+ public void shouldRetrieveOneResourceInType() throws CoreException {
+ // pre-conditions
+ IType customerType = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.CustomerResource",
+ javaProject, null);
+ assertThat(customerType, notNullValue());
+ // operation
+ final List<IType> resources = JaxrsAnnotationsScanner
+ .findResourceTypes(customerType, new NullProgressMonitor());
+ // verifications
+ assertThat(resources.size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldNotRetrieveResourceInOtherType() throws CoreException {
+ // pre-conditions
+ IType customerType = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication",
+ javaProject, null);
+ assertThat(customerType, notNullValue());
+ // operation
+ final List<IType> resources = JaxrsAnnotationsScanner
+ .findResourceTypes(customerType, new NullProgressMonitor());
+ // verifications
+ assertThat(resources.size(), equalTo(0));
+ }
+
+ @Test
+ public void shouldRetrieveAllResourceMethodsInProject() throws CoreException {
+ // pre-conditions
+ // operation
+ final List<IMethod> resourceMethods = JaxrsAnnotationsScanner.findResourceMethods(javaProject,new ArrayList<IJaxrsHttpMethod>(),
+ new NullProgressMonitor());
+ // verifications
+ assertThat(resourceMethods.size(), equalTo(9)); // just sub resource methods with @Path annotation
+ }
+
+ @Test
+ public void shouldRetrieveAllResourceMethodsInType() throws CoreException {
+ // pre-conditions
+ IType customerType = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.CustomerResource",
+ javaProject, null);
+ assertThat(customerType, notNullValue());
+ // operation
+ final List<IMethod> resourceMethods = JaxrsAnnotationsScanner.findResourceMethods(customerType,new ArrayList<IJaxrsHttpMethod>(),
+ new NullProgressMonitor());
+ // verifications
+ assertThat(resourceMethods.size(), equalTo(4)); // just sub resource methods with @Path annotation
+ }
+
+ @Test
+ public void shouldRetrieveAllHttpMethodsInProject() throws CoreException {
+ // pre-conditions
+ // operation
+ final List<IType> resourceMethods = JaxrsAnnotationsScanner.findHttpMethodTypes(javaProject,
+ new NullProgressMonitor());
+ // verifications
+ assertThat(resourceMethods.size(), equalTo(7));
+ }
+
+ @Test
+ public void shouldRetrieveOneHttpMethodsInType() throws CoreException {
+ // pre-conditions
+ IType fooType = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject, null);
+ assertThat(fooType, notNullValue());
+ // operation
+ final List<IType> resourceMethods = JaxrsAnnotationsScanner.findHttpMethodTypes(fooType,
+ new NullProgressMonitor());
+ // verifications
+ assertThat(resourceMethods.size(), equalTo(1));
+ }
+
+ @Test
+ @Ignore("Providers are not supported yet")
+ public void shouldRetrieveProviders() {
+ }
+
+ @Test
+ public void shouldRetrieveAllApplicationsInProject() throws CoreException {
+ // pre-conditions
+ // operation
+ final List<IType> applications = JaxrsAnnotationsScanner.findApplicationTypes(javaProject,
+ new NullProgressMonitor());
+ // verifications
+ assertThat(applications.size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldRetrieveOneApplicationsInType() throws CoreException {
+ // pre-conditions
+ IType restType = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.RestApplication", javaProject, null);
+ assertThat(restType, notNullValue());
+ // operation
+ final List<IType> applications = JaxrsAnnotationsScanner.findApplicationTypes(restType,
+ new NullProgressMonitor());
+ // verifications
+ assertThat(applications.size(), equalTo(1));
+ }
+
+ @Test
+ public void shouldNotRetrieveApplicationsInOtherType() throws CoreException {
+ // pre-conditions
+ IType fooType = JdtUtils.resolveType("org.jboss.tools.ws.jaxrs.sample.services.FOO", javaProject, null);
+ assertThat(fooType, notNullValue());
+ // operation
+ final List<IType> applications = JaxrsAnnotationsScanner.findApplicationTypes(fooType,
+ new NullProgressMonitor());
+ // verifications
+ assertThat(applications.size(), equalTo(0));
+ }
+}
Property changes on: trunk/ws/tests/org.jboss.tools.ws.jaxrs.core.test/src/org/jboss/tools/ws/jaxrs/core/jdt/JaxrsAnnotationScannerTestCase.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
12 years, 11 months
JBoss Tools SVN: r37668 - in trunk/as: features/org.jboss.ide.eclipse.as.feature and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2012-01-05 23:09:33 -0500 (Thu, 05 Jan 2012)
New Revision: 37668
Modified:
trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml
trunk/as/pom.xml
Log:
JBIDE-10469
Modified: trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml
===================================================================
--- trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml 2012-01-06 03:03:35 UTC (rev 37667)
+++ trunk/as/features/org.jboss.ide.eclipse.as.feature/feature.xml 2012-01-06 04:09:33 UTC (rev 37668)
@@ -1,15 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.jboss.ide.eclipse.as.feature" label="%featureName" version="2.3.0.qualifier" provider-name="%providerName" plugin="org.jboss.ide.eclipse.as.ui">
+<feature
+ id="org.jboss.ide.eclipse.as.feature"
+ label="%featureName"
+ version="2.3.0.qualifier"
+ provider-name="%providerName"
+ plugin="org.jboss.ide.eclipse.as.ui">
- <description url="http://www.jboss.org/tools">
+ <description url="http://www.jboss.org/tools">
%description
</description>
- <copyright>
+ <copyright>
%copyright
</copyright>
- <license url="license.html">
+ <license url="license.html">
Red Hat, Inc. licenses these features and plugins to you under
certain open source licenses (or aggregations of such licenses),
which in a particular case may include the Eclipse Public License,
@@ -19,62 +24,43 @@
Raleigh NC 27606 USA.
</license>
- <requires>
- <import plugin="org.eclipse.core.runtime" />
- <import plugin="org.eclipse.debug.core" />
- <import plugin="org.eclipse.core.resources" />
- <import plugin="org.eclipse.jdt.launching" />
- <import plugin="org.eclipse.jdt.core" />
- <import plugin="org.eclipse.jst.server.core" version="1.0.102" match="greaterOrEqual" />
- <import plugin="org.eclipse.wst.server.core" version="1.0.102" match="greaterOrEqual" />
- <import plugin="org.eclipse.core.boot" />
- <import plugin="org.eclipse.jst.j2ee" />
- <import plugin="org.eclipse.jst.j2ee.core" version="1.1.0" match="greaterOrEqual" />
- <import plugin="org.eclipse.wst.common.project.facet.core" version="1.1.0" match="greaterOrEqual" />
- <import plugin="org.eclipse.jst.common.project.facet.core" version="1.1.0" match="greaterOrEqual" />
- <import plugin="org.eclipse.wst.xml.core" version="1.1.0" match="greaterOrEqual" />
- <import plugin="org.eclipse.ui" />
- <import plugin="org.eclipse.ui.forms" />
- <import plugin="org.eclipse.jst.server.ui" />
- <import plugin="org.eclipse.wst.server.ui" version="1.0.102" match="greaterOrEqual" />
- <import plugin="org.eclipse.wst.server.ui.doc.user" />
- <import plugin="org.eclipse.jst.server.generic.core" version="1.0.100" match="greaterOrEqual" />
- <import plugin="org.eclipse.jst.server.generic.ui" />
- <import plugin="org.eclipse.jdt.debug" />
- <import plugin="org.eclipse.jdt.debug.ui" />
- <import plugin="org.eclipse.ui.console" />
- <import plugin="org.eclipse.text" />
- <import plugin="org.eclipse.jface.text" />
- <import plugin="org.eclipse.debug.ui" />
- <import plugin="org.eclipse.ui.views" />
- <import plugin="org.eclipse.ui.editors" />
- <import plugin="org.eclipse.wst.xml.ui" />
- <import plugin="org.eclipse.wst.sse.ui" />
- <import plugin="org.eclipse.wst.sse.core" version="1.1.0" match="greaterOrEqual" />
- <import plugin="org.eclipse.jdt.ui" version="3.2.0" match="greaterOrEqual" />
- <import plugin="org.eclipse.core.filesystem" />
- <import plugin="org.eclipse.jst.server.tomcat.core" />
- <import plugin="org.eclipse.jst.servlet.ui" />
- <import plugin="org.eclipse.jst.j2ee.ui" />
- <import plugin="org.eclipse.wst.web.ui" />
- <import plugin="org.eclipse.wst.common.frameworks.ui" />
- <import plugin="org.eclipse.jst.server.tomcat.ui" />
- <import plugin="org.eclipse.core.variables" />
- <import plugin="org.eclipse.search" />
- <import plugin="org.eclipse.jst.ws" />
- <import plugin="org.eclipse.jst.ws.ui" />
- <import plugin="org.eclipse.jst.ws.consumption" />
- <import plugin="org.eclipse.jst.ws.consumption.ui" />
- <import plugin="org.eclipse.jst.ws.axis.creation.ui" />
- <import plugin="org.eclipse.wst.ws" />
- <import plugin="org.eclipse.wst.ws.ui" />
- <import plugin="org.jboss.ide.eclipse.archives.core" />
- <import plugin="org.apache.ant" />
- <import plugin="org.jboss.ide.eclipse.archives.ui" />
- <import plugin="org.eclipse.jdt" />
- <import plugin="org.eclipse.wst.xml.ui.infopop" />
- <import plugin="org.jboss.ide.eclipse.archives.webtools" />
- </requires>
+ <requires>
+ <import plugin="org.eclipse.ui" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.core.runtime" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.xml.core" version="1.1.600" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.xml.ui" version="1.1.200" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.sse.ui" version="1.3.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jface.text" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.sse.core" version="1.1.600" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jdt" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jdt.core" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jdt.debug" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jdt.debug.ui" version="3.6.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.core.resources" version="3.7.100" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.xml.ui.infopop" version="1.0.400" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jdt.ui" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.ui.ide" version="3.7.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.core.filesystem" version="1.3.100" match="greaterOrEqual"/>
+ <import plugin="org.jboss.ide.eclipse.as.ui"/>
+ <import plugin="org.eclipse.jst.common.project.facet.core" version="1.4.200" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jst.common.project.facet.ui" version="1.4.200" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.common.project.facet.core" version="1.4.200" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.4.200" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.common.frameworks" version="1.2.100" match="greaterOrEqual"/>
+ <import plugin="org.jboss.ide.eclipse.as.core" version="2.3.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.server.core" version="1.1.302" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.server.ui" version="1.1.305" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.web" version="1.1.500" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.web.ui" version="1.1.400" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jst.server.core" version="1.2.202" match="greaterOrEqual"/>
+ <import plugin="org.jboss.ide.eclipse.as.wtp.core" version="2.3.0" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jst.j2ee" version="1.1.500" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.common.modulecore.ui" version="1.0.100" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jst.j2ee.core" version="1.2.100" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.wst.common.frameworks.ui" version="1.2.100" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jst.j2ee.ui" version="1.1.500" match="greaterOrEqual"/>
+ <import plugin="org.eclipse.jst.common.frameworks" version="1.1.500" match="greaterOrEqual"/>
+ </requires>
<includes id="org.jboss.ide.eclipse.archives.feature" version="0.0.0" />
<includes id="org.jboss.ide.eclipse.as.archives.integration.feature" version="0.0.0" />
@@ -83,7 +69,12 @@
<includes id="org.jboss.ide.eclipse.as.serverAdapter.wtp.feature" version="0.0.0" />
<includes id="org.jboss.tools.jmx.feature" version="0.0.0" />
<includes id="org.jboss.ide.eclipse.archives.feature" version="0.0.0" />
- <!-- JBIDE-9549: org.jboss.ide.eclipse.as.server.egit.integration.feature is NOT included here because it would cause eGit to become a Core dependency in JBDS instead of an Extra; therefore keep the egit feature SEPARATE for now -->
- <plugin id="org.jboss.ide.eclipse.as.ui.mbeans" download-size="0" install-size="0" version="0.0.0" unpack="false" />
+ <plugin
+ id="org.jboss.ide.eclipse.as.ui.mbeans"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
</feature>
Modified: trunk/as/pom.xml
===================================================================
--- trunk/as/pom.xml 2012-01-06 03:03:35 UTC (rev 37667)
+++ trunk/as/pom.xml 2012-01-06 04:09:33 UTC (rev 37668)
@@ -18,14 +18,5 @@
<module>features</module>
<module>site</module>
</modules>
- <!-- no longer needed (https://issues.jboss.org/browse/JBIDE-9585) <repositories>
- <repository>
- <id>egit11</id>
- <url>http://download.jboss.org/jbosstools/updates/requirements/egit/1.1.0.2011...</url>
- <layout>p2</layout>
- <snapshots><enabled>true</enabled></snapshots>
- <releases><enabled>true</enabled></releases>
- </repository>
- </repositories> -->
</project>
12 years, 11 months
JBoss Tools SVN: r37667 - in trunk/cdi: docs and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2012-01-05 22:03:35 -0500 (Thu, 05 Jan 2012)
New Revision: 37667
Added:
trunk/cdi/docs/
trunk/cdi/docs/reference/
trunk/cdi/docs/reference/en-US/
trunk/cdi/docs/reference/en-US/Author_Group.xml
trunk/cdi/docs/reference/en-US/Book_Info.xml
trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.ent
trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.xml
trunk/cdi/docs/reference/en-US/Feedback.xml
trunk/cdi/docs/reference/en-US/Preface.xml
trunk/cdi/docs/reference/en-US/Revision_History.xml
trunk/cdi/docs/reference/en-US/images/
trunk/cdi/docs/reference/en-US/images/icon.svg
trunk/cdi/docs/reference/en-US/master.xml
trunk/cdi/docs/reference/pom.xml
trunk/cdi/docs/reference/publican.cfg
Log:
adding in doc folder and template guide to begin working on CDI Tools Reference Guide
Added: trunk/cdi/docs/reference/en-US/Author_Group.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/Author_Group.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/Author_Group.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<authorgroup>
+ <author>
+ <firstname>Isaac</firstname>
+ <surname>Rooskov</surname>
+ <email>irooskov(a)redhat.com</email>
+ </author>
+</authorgroup>
+
Added: trunk/cdi/docs/reference/en-US/Book_Info.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/Book_Info.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/Book_Info.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+ <bookinfo id="book-CDI_Tools_Reference_Guide-CDI_Tools_Reference_Guide">
+ <title>CDI Tools Reference Guide</title>
+ <subtitle>
+ Placeholder text
+ </subtitle>
+
+ <productname>JBoss Developer Studio</productname>
+
+ <productnumber>5.0</productnumber>
+
+ <edition>5.0.0</edition>
+
+ <pubsnumber>1</pubsnumber>
+
+ <abstract>
+ <para>
+ Placeholder text
+ </para>
+ </abstract>
+
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="Common_Content/images/title_logo.svg" format="SVG" />
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+
+ <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</bookinfo>
Added: trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.ent
===================================================================
--- trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.ent (rev 0)
+++ trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.ent 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,7 @@
+<!ENTITY PRODUCT "JBoss">
+<!ENTITY BOOKID "CDI_Tools_Reference_Guide">
+<!ENTITY YEAR "2012">
+<!ENTITY HOLDER "Red Hat">
+<!ENTITY BZPRODUCT "JBoss Developer Studio">
+<!ENTITY BZCOMPONENT "CDI Tools Reference Guide">
+<!ENTITY BZURL "<ulink url='https://bugzilla.redhat.com/enter_bug.cgi?product=JBoss%20Develope...'>http://bugzilla.redhat.com/</ulink>">
Added: trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/CDI_Tools_Reference_Guide.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+]>
+<book>
+ <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+</book>
+
Added: trunk/cdi/docs/reference/en-US/Feedback.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/Feedback.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/Feedback.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,92 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "../Document_Conventions.ent">
+%BOOK_ENTITIES;
+]>
+<appendix id="sect_JBoss-Getting_Help_and_Giving_Feedback" lang="en-US">
+ <title>Getting Help and Giving Feedback</title>
+ <section id="sect_JBoss-Do_You_Need_Help">
+ <title>Do You Need Help?</title>
+ <indexterm>
+ <primary>help</primary>
+ <secondary>getting help</secondary>
+
+ </indexterm>
+ <para>
+ If you experience difficulty with a procedure described in this documentation, visit the Red Hat Customer Portal at <ulink url="http://access.redhat.com" />. Through the customer portal, you can:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ search or browse through a knowledgebase of technical support articles about Red Hat products.
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ submit a support case to Red Hat Global Support Services (GSS).
+ </para>
+
+ </listitem>
+ <listitem>
+ <para>
+ access other product documentation.
+ </para>
+
+ </listitem>
+
+ </itemizedlist>
+ <para>
+ Red Hat also hosts a large number of electronic mailing lists for discussion of Red Hat software and technology. You can find a list of publicly available mailing lists at <ulink url="https://www.redhat.com/mailman/listinfo" />. Click on the name of any mailing list to subscribe to that list or to access the list archives.
+ </para>
+
+ </section>
+
+ <section id="jboss-feedback">
+ <title>Give us Feedback</title>
+ <!-- NOTE: You will need the following entities defined in your .ent file.
+ You will need to replace _YOUR_PRODUCT_HERE_, _YOUR_COMPONENT_
+ and _YOUR_SUMMARY_ - entities are not replaced in URLs.
+ <!ENTITY PRODUCT "JBoss Product Name">
+ <!ENTITY BZCOMPONENT "doc-triage">
+ <!ENTITY BZURL "<ulink url='https://bugzilla.example.com/enter_bug.cgi?product=_YOUR_PRODUCT_HERE_&am...'>http://bugzilla.redhat.com/</ulink>">
+
+ These entities should not affect translated documents, since Bugzilla is not localised.
+ --> <indexterm>
+ <primary>feedback</primary>
+ <secondary>contact information for this manual</secondary>
+
+ </indexterm>
+ <para>
+ If you find a typographical error, or know how this guide can be improved, we would love to hear from you. Submit a report in Bugzilla against the product <literal>&BZPRODUCT;</literal> and the component <literal>&BZCOMPONENT;</literal>. The following link will take you to a pre-filled bug report for this product: &BZURL;.
+ </para>
+ <para>
+ Fill out the following template in Bugzilla's <literal>Description</literal> field. Be as specific as possible when describing the issue; this will help ensure that we can fix it quickly.
+ </para>
+
+<screen>Document URL:
+
+
+Section Number and Name:
+
+
+Describe the issue:
+
+
+Suggestions for improvement:
+
+
+Additional information:
+
+
+</screen>
+ <para>
+ Be sure to give us your name so that you can receive full credit for reporting the issue.
+ </para>
+
+ </section>
+
+
+</appendix>
+
+
Added: trunk/cdi/docs/reference/en-US/Preface.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/Preface.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/Preface.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<!--<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Cloud_Tools_Reference_Guide.ent">
+%BOOK_ENTITIES;
+]> -->
+<preface id="pref-Cloud_Tools_Reference_Guide-Preface">
+ <title>Preface</title>
+ <para>
+ This manual uses several conventions to highlight certain words and phrases and draw attention to specific pieces of information. To get more information on these conventions please refer to the <guilabel>Document Conventions</guilabel> manual, which can be found on the <ulink url="http://docs.redhat.com/docs/en-US/JBoss_Developer_Studio/index.html">Red Hat Documentation</ulink> website under the <guilabel>JBoss Developer Studio</guilabel> section.
+ </para>
+</preface>
+
Added: trunk/cdi/docs/reference/en-US/Revision_History.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/Revision_History.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/Revision_History.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='utf-8' ?>
+
+<appendix id="appe-CDI_Tools_Reference_Guide-Revision_History">
+ <title>Revision History</title>
+ <simpara>
+ <revhistory>
+ <revision>
+ <revnumber>1-0</revnumber>
+ <date>Fri Jan 06 2012</date>
+ <author>
+ <firstname>Isaac</firstname>
+ <surname>Rooskov</surname>
+ <email>irooskov(a)redhat.com</email>
+ </author>
+ <revdescription>
+ <simplelist>
+ <member>Initial creation of book</member>
+ </simplelist>
+ </revdescription>
+ </revision>
+ </revhistory>
+ </simpara>
+</appendix>
+
Added: trunk/cdi/docs/reference/en-US/images/icon.svg
===================================================================
--- trunk/cdi/docs/reference/en-US/images/icon.svg (rev 0)
+++ trunk/cdi/docs/reference/en-US/images/icon.svg 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,3936 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:ns="http://ns.adobe.com/AdobeSVGViewerExtensions/3/"
+ xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.0"
+ width="32"
+ height="32"
+ id="svg3017"
+ sodipodi:version="0.32"
+ inkscape:version="0.44+devel"
+ sodipodi:docname="book.svg"
+ sodipodi:docbase="/home/andy/Desktop">
+ <metadata
+ id="metadata489">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="480"
+ inkscape:window-width="858"
+ inkscape:pageshadow="0"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:zoom="1"
+ inkscape:cx="16"
+ inkscape:cy="15.944056"
+ inkscape:window-x="0"
+ inkscape:window-y="33"
+ inkscape:current-layer="svg3017" />
+ <defs
+ id="defs3019">
+ <linearGradient
+ id="linearGradient2381">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop2383" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop2385" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="XMLID_1758_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop3903" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3905" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3890" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3892" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1755_">
+ <use
+ id="use3874"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3877" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3879" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3881" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3883" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="XMLID_1754_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop3863" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop3865" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop3867" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop3869" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop3851" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop3853" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_1751_">
+ <use
+ id="use3837"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3840" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3842" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3844" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3846" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="XMLID_1750_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3830" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3832" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop3818" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop3820" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="XMLID_1748_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop3803" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop3805" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop3807" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop3809" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="XMLID_2275_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9947" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9949" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9951" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9953" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="XMLID_2273_">
+ <use
+ id="use9933"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="XMLID_2274_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9936" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9938" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9940" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9942" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="XMLID_2272_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop9917" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop9919" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop9921" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop9923" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleInM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(-0.4,-0.4)"
+ style="fill:#5c5c4f"
+ id="path3197" />
+ </marker>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="XMLID_3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#bfbfbf;stop-opacity:1"
+ offset="0"
+ id="stop20103" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop20105" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#BFBFBF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="200.7363"
+ y1="100.4028"
+ x2="211.99519"
+ y2="89.143997"
+ id="linearGradient36592"
+ xlink:href="#XMLID_3298_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="XMLID_3297_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop20096" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20098" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="181.2925"
+ y1="110.8481"
+ x2="192.6369"
+ y2="99.5037"
+ id="linearGradient36595"
+ xlink:href="#XMLID_3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="XMLID_3296_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#0f6124;stop-opacity:1"
+ offset="0"
+ id="stop20087" />
+ <stop
+ style="stop-color:#219630;stop-opacity:1"
+ offset="1"
+ id="stop20089" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#0F6124" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#219630" />
+ </linearGradient>
+ <linearGradient
+ x1="211.77589"
+ y1="105.7749"
+ x2="212.6619"
+ y2="108.2092"
+ id="linearGradient36677"
+ xlink:href="#XMLID_3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="XMLID_3295_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20076" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.5"
+ id="stop20078" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20080" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="208.9834"
+ y1="116.8296"
+ x2="200.0811"
+ y2="96.834602"
+ id="linearGradient36604"
+ xlink:href="#XMLID_3295_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="XMLID_3294_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop20069" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop20071" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="195.5264"
+ y1="97.911102"
+ x2="213.5213"
+ y2="115.9061"
+ id="linearGradient36607"
+ xlink:href="#XMLID_3294_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="XMLID_3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20056" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20058" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20060" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20062" />
+ <stop
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ offset="0.5"
+ id="stop20064" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C2C2C2" />
+ </linearGradient>
+ <linearGradient
+ x1="186.1938"
+ y1="109.1343"
+ x2="206.6881"
+ y2="88.639999"
+ id="linearGradient36610"
+ xlink:href="#XMLID_3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="XMLID_3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop20043" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.16850001"
+ id="stop20045" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.23029999"
+ id="stop20047" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0.2809"
+ id="stop20049" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop20051" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.1685"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.2303"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.2809"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="184.8569"
+ y1="112.2676"
+ x2="211.94099"
+ y2="89.541397"
+ id="linearGradient36613"
+ xlink:href="#XMLID_3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.029078,0,0,1,-183.2624,-79.44655)" />
+ <marker
+ refX="0"
+ refY="0"
+ orient="auto"
+ style="overflow:visible"
+ id="TriangleOutM">
+ <path
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ transform="scale(0.4,0.4)"
+ style="fill:#5c5c4f;fill-rule:evenodd;stroke-width:1pt;marker-start:none"
+ id="path3238" />
+ </marker>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="XMLID_3457_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="stop8309" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8311" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="stop8313" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#999999" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#B2B2B2" />
+ </linearGradient>
+ <linearGradient
+ x1="165.3"
+ y1="99.5"
+ x2="165.3"
+ y2="115.9"
+ id="lg1997"
+ xlink:href="#XMLID_3457_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="XMLID_3456_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop8300" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8302" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8304" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="175"
+ y1="99.800003"
+ x2="175"
+ y2="112.5"
+ id="lg2000"
+ xlink:href="#XMLID_3456_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="XMLID_3455_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8291" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="0.69999999"
+ id="stop8293" />
+ <stop
+ style="stop-color:#191919;stop-opacity:1"
+ offset="1"
+ id="stop8295" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.7"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#191919" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#191919" />
+ </linearGradient>
+ <linearGradient
+ x1="168.8"
+ y1="107.1"
+ x2="164.5"
+ y2="110"
+ id="lg2003"
+ xlink:href="#XMLID_3455_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ id="lg63694">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop63696" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="stop63698" />
+ </linearGradient>
+ <linearGradient
+ x1="458"
+ y1="483"
+ x2="465.20001"
+ y2="271.39999"
+ id="lg2006"
+ xlink:href="#lg63694"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(6.3e-2,0,0,6.3e-2,-1.3,-9.8)" />
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="XMLID_3453_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="0"
+ id="stop8271" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0.2"
+ id="stop8273" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8275" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#666666" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#737373" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="176.3"
+ y1="110.1"
+ x2="158.7"
+ y2="105"
+ id="lg2009"
+ xlink:href="#XMLID_3453_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="XMLID_3449_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8232" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="0.60000002"
+ id="stop8234" />
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="1"
+ id="stop8236" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.6"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFF95E" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#ECD600" />
+ </linearGradient>
+ <linearGradient
+ x1="173.60001"
+ y1="118.9"
+ x2="172.8"
+ y2="128.2"
+ id="lg2016"
+ xlink:href="#XMLID_3449_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8219" />
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8221" />
+ <stop
+ style="stop-color:#c96b00;stop-opacity:1"
+ offset="0.89999998"
+ id="stop8223" />
+ <stop
+ style="stop-color:#9a5500;stop-opacity:1"
+ offset="1"
+ id="stop8225" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.9"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#C96B00" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#9A5500" />
+ </radialGradient>
+ <radialGradient
+ cx="284.60001"
+ cy="172.60001"
+ r="6.5"
+ fx="284.60001"
+ fy="172.60001"
+ id="rg2020"
+ xlink:href="#XMLID_3448_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.513992,0,0,2.347576,-689.1621,-378.5717)" />
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="XMLID_3447_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecd600;stop-opacity:1"
+ offset="0"
+ id="stop8204" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8206" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop8208" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECD600" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="158.10001"
+ y1="123"
+ x2="164.2"
+ y2="126.6"
+ id="lg2026"
+ xlink:href="#XMLID_3447_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4,0,0,1.4,-237.3,-126.8)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop8197" />
+ <stop
+ style="stop-color:#fff95e;stop-opacity:1"
+ offset="1"
+ id="stop8199" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#FFF95E" />
+ </radialGradient>
+ <radialGradient
+ cx="280.89999"
+ cy="163.7"
+ r="10.1"
+ fx="280.89999"
+ fy="163.7"
+ id="rg2029"
+ xlink:href="#XMLID_3446_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.7,0,0,1.7,-457.5,-266.8)" />
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="XMLID_3445_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8184" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8186" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8188" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8190" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8192" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.5"
+ y1="122.7"
+ x2="180.10001"
+ y2="122.7"
+ id="lg2032"
+ xlink:href="#XMLID_3445_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="XMLID_3444_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ecb300;stop-opacity:1"
+ offset="0"
+ id="stop8171" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.2"
+ id="stop8173" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.30000001"
+ id="stop8175" />
+ <stop
+ style="stop-color:#ffe900;stop-opacity:1"
+ offset="0.40000001"
+ id="stop8177" />
+ <stop
+ style="stop-color:#d68100;stop-opacity:1"
+ offset="1"
+ id="stop8179" />
+ <a:midPointstop
+ offset="0"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#ECB300" />
+ <a:midPointstop
+ offset="0.2"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.3"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFFFB3" />
+ <a:midPointstop
+ offset="0.4"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="0.5"
+ style="stop-color:#FFE900" />
+ <a:midPointstop
+ offset="1"
+ style="stop-color:#D68100" />
+ </linearGradient>
+ <linearGradient
+ x1="156.39999"
+ y1="115.4"
+ x2="180.10001"
+ y2="115.4"
+ id="lg2035"
+ xlink:href="#XMLID_3444_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2,0,0,1.2,-175.9,-114.6)" />
+ <linearGradient
+ x1="379.70001"
+ y1="167.89999"
+ x2="383.89999"
+ y2="172.89999"
+ id="lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16159" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16161" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s16163" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="379.60001"
+ y1="167.8"
+ x2="383.79999"
+ y2="172"
+ id="lg6416"
+ xlink:href="#lg4286_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.622156,0.623859,-0.623859,2.62182,-882.9706,-673.7921)" />
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="s16152" />
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="1"
+ id="s16154" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#737373"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="384.20001"
+ y1="169.8"
+ x2="384.79999"
+ y2="170.39999"
+ id="lg6453"
+ xlink:href="#lg4285_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8,0.2,-0.2,0.8,78.8,38.1)">
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="0"
+ id="s16145" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="s16147" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#808080"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#E5E5E5"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="380.5"
+ y1="172.60001"
+ x2="382.79999"
+ y2="173.7"
+ id="lg6456"
+ xlink:href="#lg4284_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6,0.6,-0.6,2.6,-883,-673.8)" />
+ <radialGradient
+ cx="347.29999"
+ cy="244.5"
+ r="5.1999998"
+ fx="347.29999"
+ fy="244.5"
+ id="lg4282_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#333;stop-opacity:1"
+ offset="0"
+ id="s16135" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s16137" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#333333"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0"
+ id="s16111" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.60000002"
+ id="s16113" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="1"
+ id="s16115" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.6" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.39999"
+ y1="397.70001"
+ x2="310.89999"
+ y2="399.5"
+ id="lg6467"
+ xlink:href="#lg4280_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16100" />
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0.40000001"
+ id="s16102" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="0.89999998"
+ id="s16104" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16106" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.9" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="310.89999"
+ y1="395.79999"
+ x2="313.29999"
+ y2="403.10001"
+ id="lg6465"
+ xlink:href="#lg4279_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="307.79999"
+ y1="395.20001"
+ x2="313.79999"
+ y2="413.60001"
+ id="lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7,-0.7,0.7,0.7,-153.4,180.6)">
+ <stop
+ style="stop-color:#ffffb3;stop-opacity:1"
+ offset="0"
+ id="s16091" />
+ <stop
+ style="stop-color:#fcd72f;stop-opacity:1"
+ offset="0.40000001"
+ id="s16093" />
+ <stop
+ style="stop-color:#ffcd00;stop-opacity:1"
+ offset="1"
+ id="s16095" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFB3"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.4" />
+ <ns:midPointStop
+ style="stop-color:#FCD72F"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFCD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="306.5"
+ y1="393"
+ x2="309"
+ y2="404"
+ id="lg6400"
+ xlink:href="#lg4278_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4,-2.4,2.4,2.4,-1663.6,-195)" />
+ <linearGradient
+ x1="352.10001"
+ y1="253.60001"
+ x2="348.5"
+ y2="237.8"
+ id="lg4276_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16077" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16079" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s16057" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.80000001"
+ id="s16059" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="s16061" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.8" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="335.60001"
+ y1="354.79999"
+ x2="337.89999"
+ y2="354.79999"
+ id="lg6463"
+ xlink:href="#lg4275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16048" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.1"
+ id="s16050" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16052" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.1" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="337.39999"
+ y1="353.10001"
+ x2="339.39999"
+ y2="357.10001"
+ id="lg6461"
+ xlink:href="#lg4274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9,-0.5,0.5,0.9,-121.7,105.1)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s16041" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s16043" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="5.6e-003" />
+ <ns:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="334.39999"
+ y1="355.5"
+ x2="335.5"
+ y2="356.79999"
+ id="lg6381"
+ xlink:href="#lg4273_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9,-1.7,1.7,2.9,-1557,-448.7)" />
+ <linearGradient
+ x1="348.39999"
+ y1="247.39999"
+ x2="354.10001"
+ y2="242"
+ id="lg4271_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s16025" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.40000001"
+ id="s16027" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="s16029" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#000000"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg4270_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffff87;stop-opacity:1"
+ offset="0"
+ id="s16007" />
+ <stop
+ style="stop-color:#ffad00;stop-opacity:1"
+ offset="1"
+ id="s16009" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0" />
+ <ns:midPointStop
+ style="stop-color:#FFFF87"
+ offset="0.5" />
+ <ns:midPointStop
+ style="stop-color:#FFAD00"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="351.29999"
+ y1="257.29999"
+ x2="346.29999"
+ y2="235.5"
+ id="lg6459"
+ xlink:href="#lg4270_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.4,0,0,3.4,-1148,-802)" />
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="XMLID_2708_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="stop75318" />
+ <stop
+ style="stop-color:#fffcea;stop-opacity:1"
+ offset="1"
+ id="stop75320" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#FFFCEA"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="43.799999"
+ y1="32.5"
+ x2="63.299999"
+ y2="66.400002"
+ id="lg1907"
+ xlink:href="#XMLID_2708_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="XMLID_2707_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#ffdea0;stop-opacity:1"
+ offset="0"
+ id="stop75305" />
+ <stop
+ style="stop-color:#ffd89e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75307" />
+ <stop
+ style="stop-color:#ffd79e;stop-opacity:1"
+ offset="0.30000001"
+ id="stop75309" />
+ <stop
+ style="stop-color:#dbaf6d;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75311" />
+ <stop
+ style="stop-color:#6f4c24;stop-opacity:1"
+ offset="1"
+ id="stop75313" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#FFDEA0"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.3" />
+ <a:midPointStop
+ style="stop-color:#FFD79E"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#DBAF6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6F4C24"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="52.5"
+ y1="40.400002"
+ x2="58.200001"
+ y2="64"
+ id="lg1910"
+ xlink:href="#XMLID_2707_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="58"
+ y1="73.199997"
+ x2="44.5"
+ y2="19"
+ id="XMLID_2704_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)">
+ <stop
+ style="stop-color:#d4a96c;stop-opacity:1"
+ offset="0.5"
+ id="stop75284" />
+ <stop
+ style="stop-color:#dcb273;stop-opacity:1"
+ offset="0.60000002"
+ id="stop75286" />
+ <stop
+ style="stop-color:#f0ca87;stop-opacity:1"
+ offset="0.80000001"
+ id="stop75288" />
+ <stop
+ style="stop-color:#ffdc96;stop-opacity:1"
+ offset="0.69999999"
+ id="stop75290" />
+ <stop
+ style="stop-color:#c18a42;stop-opacity:1"
+ offset="1"
+ id="stop75292" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D4A96C"
+ offset="0.6" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.7" />
+ <a:midPointStop
+ style="stop-color:#FFDC96"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C18A42"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="XMLID_2703_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0"
+ id="stop75268" />
+ <stop
+ style="stop-color:#e5c9b0;stop-opacity:1"
+ offset="0.40000001"
+ id="stop75270" />
+ <stop
+ style="stop-color:#c0aa94;stop-opacity:1"
+ offset="1"
+ id="stop75272" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.4" />
+ <a:midPointStop
+ style="stop-color:#E5C9B0"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#C0AA94"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="53.700001"
+ y1="32"
+ x2="53.700001"
+ y2="64.599998"
+ id="lg1916"
+ xlink:href="#XMLID_2703_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-29,-22.6)" />
+ <linearGradient
+ x1="224.31"
+ y1="19.450001"
+ x2="214.33"
+ y2="11.46"
+ id="XMLID_419_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#404040;stop-opacity:1"
+ offset="0"
+ id="s1903" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1905" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1"
+ offset="1"
+ id="s1907" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#404040" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E9E9E9" />
+ </linearGradient>
+ <linearGradient
+ x1="221.84"
+ y1="32.779999"
+ x2="212.2"
+ y2="20.27"
+ id="lg1988"
+ xlink:href="#XMLID_419_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1900"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s1902" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s1906" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#575757"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.33" />
+ <a:midPointStop
+ style="stop-color:#6D6D6D"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#D3D3D3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="234.81"
+ y1="33.279999"
+ x2="228.27"
+ y2="33.279999"
+ id="lg1908"
+ xlink:href="#lg1900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="XMLID_416_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#575757;stop-opacity:1"
+ offset="0"
+ id="s1874" />
+ <stop
+ style="stop-color:#6d6d6d;stop-opacity:1"
+ offset="0.33000001"
+ id="s1876" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1"
+ offset="1"
+ id="s1878" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#575757" />
+ <a:midPointStop
+ offset="0.33"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#6D6D6D" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#D3D3D3" />
+ </linearGradient>
+ <linearGradient
+ x1="228.35001"
+ y1="33.279999"
+ x2="215.42999"
+ y2="33.279999"
+ id="lg1991"
+ xlink:href="#XMLID_416_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.33,0,0,1.31,-274.2,-5.2)" />
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1,0,0,1.1,-54.33,-75.4)">
+ <stop
+ style="stop-color:#c9ffc9;stop-opacity:1"
+ offset="0"
+ id="stop29201" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="stop29203" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#C9FFC9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#23A11F" />
+ </radialGradient>
+ <radialGradient
+ cx="603.19"
+ cy="230.77"
+ r="1.67"
+ fx="603.19"
+ fy="230.77"
+ id="radialGradient5711"
+ xlink:href="#x5010_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.23,0,0,1.23,-709.93,-245.02)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5722"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="x5002_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29134" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0.2"
+ id="stop29136" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="stop29138" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.20"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#999999" />
+ </linearGradient>
+ <linearGradient
+ x1="601.48999"
+ y1="170.16"
+ x2="613.84003"
+ y2="170.16"
+ id="lg5725"
+ xlink:href="#x5002_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29157" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29159" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.23"
+ id="lg5728"
+ xlink:href="#x5004_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="x5003_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="stop29143" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="1"
+ id="stop29145" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#E5E5E5" />
+ </linearGradient>
+ <linearGradient
+ x1="592.31"
+ y1="162.60001"
+ x2="609.32001"
+ y2="145.59"
+ id="lg5732"
+ xlink:href="#x5003_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop29124" />
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="1"
+ id="stop29126" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#FFFFFF" />
+ </linearGradient>
+ <linearGradient
+ x1="592.20001"
+ y1="156.45"
+ x2="609.98999"
+ y2="174.24001"
+ id="lg5735"
+ xlink:href="#x5000_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.12,0,0,1.12,-649.08,-160.62)" />
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="XMLID_2433_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d6d6d6;stop-opacity:1"
+ offset="0"
+ id="71615" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71617" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D6D6D6" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="308.54999"
+ y1="149.89999"
+ x2="299.72"
+ y2="148.83"
+ id="lg1952"
+ xlink:href="#XMLID_2433_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98,0,0,0.98,2.88,2.75)">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1"
+ offset="0.19"
+ id="71592" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.44999999"
+ id="71594" />
+ <stop
+ style="stop-color:#c7c7c7;stop-opacity:1"
+ offset="0.60000002"
+ id="71596" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1"
+ offset="0.74000001"
+ id="71598" />
+ <stop
+ style="stop-color:#a4a4a4;stop-opacity:1"
+ offset="0.86000001"
+ id="71600" />
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1"
+ offset="0.95999998"
+ id="71602" />
+ <stop
+ style="stop-color:gray;stop-opacity:1"
+ offset="1"
+ id="71604" />
+ <a:midPointStop
+ offset="0.19"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="0.8"
+ style="stop-color:#D2D2D2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#808080" />
+ </radialGradient>
+ <radialGradient
+ cx="307.39999"
+ cy="121"
+ r="23.35"
+ fx="307.39999"
+ fy="121"
+ id="radialGradient2331"
+ xlink:href="#XMLID_2432_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-276.62,-121.54)" />
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="XMLID_2430_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#b5d8ff;stop-opacity:1"
+ offset="0"
+ id="71582" />
+ <stop
+ style="stop-color:black;stop-opacity:1"
+ offset="1"
+ id="71584" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B5D8FF" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#000000" />
+ </linearGradient>
+ <linearGradient
+ x1="294.13"
+ y1="127.07"
+ x2="294.13"
+ y2="142.2"
+ id="lg2820"
+ xlink:href="#XMLID_2430_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="XMLID_2429_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0"
+ id="71564" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1"
+ offset="0.25"
+ id="71566" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="0.44"
+ id="71568" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1"
+ offset="1"
+ id="71570" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.25"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E1E1E1" />
+ <a:midPointStop
+ offset="0.44"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#A5A5A5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A5A5A5" />
+ </linearGradient>
+ <linearGradient
+ x1="279.10999"
+ y1="148.03"
+ x2="309.16"
+ y2="148.03"
+ id="lg2818"
+ xlink:href="#XMLID_2429_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.03,0,0,1.03,-279.57,-124.36)" />
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.851,0,0,0.849,69.297,51.658)">
+ <stop
+ style="stop-color:#23468e;stop-opacity:1"
+ offset="0"
+ id="stop10972" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10974" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#23468E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </radialGradient>
+ <radialGradient
+ cx="622.34302"
+ cy="14.449"
+ r="26.496"
+ fx="622.34302"
+ fy="14.449"
+ id="rg5791"
+ xlink:href="#lg3499_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.858,0,0,0.857,-511.7,9.02)" />
+ <linearGradient
+ x1="616.112"
+ y1="76.247002"
+ x2="588.14099"
+ y2="60.742001"
+ id="lg3497_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#01326e;stop-opacity:1"
+ offset="0"
+ id="stop10962" />
+ <stop
+ style="stop-color:#012859;stop-opacity:1"
+ offset="1"
+ id="stop10964" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#01326E" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#012859" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg3496_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="stop10950" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10952" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#E5E5E5" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="617.698"
+ y1="82.445999"
+ x2="585.95203"
+ y2="54.848999"
+ id="lg5794"
+ xlink:href="#lg3496_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg3495_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10941" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10943" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10945" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="601.39001"
+ y1="55.341"
+ x2="588.29199"
+ y2="71.515999"
+ id="lg5771"
+ xlink:href="#lg3495_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.615,-43.098)" />
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg3494_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="stop10932" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.52200001"
+ id="stop10934" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="stop10936" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#D9D9D9" />
+ <a:midPointStop
+ offset="0.522"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#F2F2F2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#CCCCCC" />
+ </linearGradient>
+ <linearGradient
+ x1="611.34601"
+ y1="55.279999"
+ x2="590.39001"
+ y2="81.157997"
+ id="lg5774"
+ xlink:href="#lg3494_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.009,0,0,1.009,-581.616,-43.098)" />
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="g3302_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#005e00;stop-opacity:1"
+ offset="0"
+ id="s6504" />
+ <stop
+ style="stop-color:#23a11f;stop-opacity:1"
+ offset="1"
+ id="s6506" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#005E00"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#23A11F"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="798.72998"
+ y1="69.839996"
+ x2="799.04999"
+ y2="70.709999"
+ id="lg5851"
+ xlink:href="#g3302_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0"
+ id="s6483" />
+ <stop
+ style="stop-color:#eee;stop-opacity:1"
+ offset="0.17"
+ id="s6485" />
+ <stop
+ style="stop-color:#e3e3e3;stop-opacity:1"
+ offset="0.34"
+ id="s6487" />
+ <stop
+ style="stop-color:#cfcfcf;stop-opacity:1"
+ offset="0.50999999"
+ id="s6489" />
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0.67000002"
+ id="s6491" />
+ <stop
+ style="stop-color:#919191;stop-opacity:1"
+ offset="0.83999997"
+ id="s6493" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6495" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.71" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="779.19"
+ y1="122.73"
+ x2="811.69"
+ y2="149.74001"
+ id="lg5855"
+ xlink:href="#g3301_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,103.123)" />
+ <clipPath
+ id="g3299_">
+ <use
+ id="use6469"
+ x="0"
+ y="0"
+ width="1005.92"
+ height="376.97"
+ xlink:href="#g101_" />
+ </clipPath>
+ <radialGradient
+ cx="1189.9301"
+ cy="100.05"
+ r="40.400002"
+ fx="1189.9301"
+ fy="100.05"
+ id="g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,-8.46e-2,0,0.34,394.16,137.13)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6472" />
+ <stop
+ style="stop-color:white;stop-opacity:0"
+ offset="1"
+ id="s6474" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#000000"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1199.74"
+ cy="97.150002"
+ r="40.400002"
+ fx="1199.74"
+ fy="97.150002"
+ id="rg5860"
+ xlink:href="#g3300_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.409,-0.107,0,0.429,-451.489,113.149)" />
+ <linearGradient
+ x1="796.38"
+ y1="67.580002"
+ x2="781.28003"
+ y2="58.549999"
+ id="g3298_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#4c8bca;stop-opacity:1"
+ offset="0"
+ id="s6462" />
+ <stop
+ style="stop-color:#b7e9ff;stop-opacity:1"
+ offset="1"
+ id="s6464" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#4C8BCA"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B7E9FF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6448" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6450" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="800.97998"
+ y1="140.72"
+ x2="777.71997"
+ y2="121.76"
+ id="lg5890"
+ xlink:href="#g3297_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,129.19)" />
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,70.17)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6439" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.51999998"
+ id="s6441" />
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="1"
+ id="s6443" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.52" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#CCCCCC"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="790.03998"
+ y1="-16.33"
+ x2="779.84003"
+ y2="-3.73"
+ id="lg5866"
+ xlink:href="#g3296_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,28.6)" />
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="g3293_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6412" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6414" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="785.84003"
+ y1="72.989998"
+ x2="785.26001"
+ y2="76.279999"
+ id="lg5871"
+ xlink:href="#g3293_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="g3292_"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="0"
+ id="s6403" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="0.28"
+ id="s6405" />
+ <stop
+ style="stop-color:#666;stop-opacity:1"
+ offset="1"
+ id="s6407" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.28" />
+ <a:midPointstop
+ style="stop-color:#F2F2F2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#666666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="789.37"
+ y1="69.879997"
+ x2="791.03998"
+ y2="77.120003"
+ id="lg5874"
+ xlink:href="#g3292_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,0,0,1.263,-926.036,-60.001)" />
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,-0.25,0,1,0,137.29)">
+ <stop
+ style="stop-color:#d9d9d9;stop-opacity:1"
+ offset="0"
+ id="s6380" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="1"
+ id="s6382" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#D9D9D9"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="786.65997"
+ y1="136.12"
+ x2="786.71002"
+ y2="134.33"
+ id="lg5878"
+ xlink:href="#g3290_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.204,-0.316,0,1.263,-926.036,113.351)" />
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:white;stop-opacity:1"
+ offset="0"
+ id="s6371" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6373" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#FFFFFF"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1458.77"
+ cy="-5.0999999"
+ r="35.130001"
+ fx="1458.77"
+ fy="-5.0999999"
+ id="rg5881"
+ xlink:href="#g3289_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.34,0,0,0.36,238.56,86.87)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6362" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.63999999"
+ id="s6364" />
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="1"
+ id="s6366" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.64" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#737373"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1612.98"
+ cy="-4.4699998"
+ r="36.580002"
+ fx="1612.98"
+ fy="-4.4699998"
+ id="rg5884"
+ xlink:href="#g3288_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.408,0,0,0.448,-638.943,49.495)" />
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.42,0,0,0.42,167.09,79.84)">
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1"
+ offset="0"
+ id="s6347" />
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0.38999999"
+ id="s6349" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1"
+ offset="0.75"
+ id="s6351" />
+ <stop
+ style="stop-color:#aaa;stop-opacity:1"
+ offset="0.88"
+ id="s6353" />
+ <stop
+ style="stop-color:#9e9e9e;stop-opacity:1"
+ offset="0.97000003"
+ id="s6355" />
+ <stop
+ style="stop-color:#999;stop-opacity:1"
+ offset="1"
+ id="s6357" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0" />
+ <a:midPointstop
+ style="stop-color:#E5E5E5"
+ offset="0.5" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.39" />
+ <a:midPointstop
+ style="stop-color:#B2B2B2"
+ offset="0.87" />
+ <a:midPointstop
+ style="stop-color:#999999"
+ offset="1" />
+ </radialGradient>
+ <radialGradient
+ cx="1470.5"
+ cy="-10.21"
+ r="33.290001"
+ fx="1470.5"
+ fy="-10.21"
+ id="rg5887"
+ xlink:href="#g3287_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.505,0,0,0.53,-724.957,40.636)" />
+ <pattern
+ patternTransform="matrix(0.592927,0,0,0.592927,78,462)"
+ id="cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-365.3146,-513.505)"
+ id="g3047">
+ id="path2858" />
+ <path
+ inkscape:label="#path2854"
+ sodipodi:nodetypes="czzzz"
+ style="fill:#e3dcc0"
+ id="path3060"
+ d="M 390.31462,529.50504 C 390.31462,534.47304 386.28262,538.50504 381.31462,538.50504 C 376.34662,538.50504 372.31462,534.47304 372.31462,529.50504 C 372.31462,524.53704 376.34662,520.50504 381.31462,520.50504 C 386.28262,520.50504 390.31462,524.53704 390.31462,529.50504 z " />
+</g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.733751,0,0,0.733751,67,367)"
+ id="dark-cream-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-408.0946,-513.505)"
+ id="dark-cream-spot"
+ inkscape:label="#g3043">
+ <path
+ sodipodi:nodetypes="czzzz"
+ style="fill:#c8c5ac"
+ d="M 433.09458,529.50504 C 433.09458,534.47304 429.06258,538.50504 424.09458,538.50504 C 419.12658,538.50504 415.09458,534.47304 415.09458,529.50504 C 415.09458,524.53704 419.12658,520.50504 424.09458,520.50504 C 429.06258,520.50504 433.09458,524.53704 433.09458,529.50504 z "
+ id="path2953" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.375,0,0,0.375,379,400)"
+ id="white-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-484.3997,-513.505)"
+ id="white-spot"
+ inkscape:label="#g3035">
+ <path
+ style="opacity:0.25;fill:white"
+ id="path3033"
+ d="M 509.39967,529.50504 C 509.39967,534.47304 505.36767,538.50504 500.39967,538.50504 C 495.43167,538.50504 491.39967,534.47304 491.39967,529.50504 C 491.39967,524.53704 495.43167,520.50504 500.39967,520.50504 C 505.36767,520.50504 509.39967,524.53704 509.39967,529.50504 z "
+ sodipodi:nodetypes="czzzz" />
+ </g>
+ </pattern>
+ <pattern
+ patternTransform="matrix(0.455007,0,0,0.455007,-5e-5,1.9e-5)"
+ id="black-spots"
+ height="32"
+ width="32"
+ patternUnits="userSpaceOnUse">
+ <g
+ transform="translate(-448.3997,-513.505)"
+ id="black-spot"
+ inkscape:label="#g3039">
+ <path
+ sodipodi:nodetypes="czzzz"
+ d="M 473.39967,529.50504 C 473.39967,534.47304 469.36767,538.50504 464.39967,538.50504 C 459.43167,538.50504 455.39967,534.47304 455.39967,529.50504 C 455.39967,524.53704 459.43167,520.50504 464.39967,520.50504 C 469.36767,520.50504 473.39967,524.53704 473.39967,529.50504 z "
+ id="path2961"
+ style="opacity:0.25;fill:black" />
+ </g>
+ </pattern>
+ <linearGradient
+ x1="501.0903"
+ y1="-19.2544"
+ x2="531.85413"
+ y2="0.72390002"
+ id="linearGradient17334"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17336" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17338" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17340" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17342" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5112"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B4DAEA" />
+ <a:midPointStop
+ offset="0.6461"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#16336E" />
+ </linearGradient>
+ <linearGradient
+ x1="415.73831"
+ y1="11.854"
+ x2="418.13361"
+ y2="18.8104"
+ id="linearGradient17426"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.8362,0.5206,-1.1904,0.992,147.62,-30.9374)">
+ <stop
+ style="stop-color:#ccc;stop-opacity:1"
+ offset="0"
+ id="stop17428" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17430" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="478.21341"
+ y1="-131.9297"
+ x2="469.85818"
+ y2="-140.28481"
+ id="linearGradient17434"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.5592,0.829,-0.829,0.5592,101.3357,-104.791)">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17436" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17438" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17440" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17442" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="0.4213"
+ style="stop-color:#F3403F" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#A6100C" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17709"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17711"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17713"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17715"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17717"
+ xlink:href="#XMLID_1757_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17721"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17723"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="500.70749"
+ y1="-13.2441"
+ x2="513.46442"
+ y2="-2.1547"
+ id="linearGradient17416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17418" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17420" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <defs
+ id="defs9929">
+ <path
+ d="M 489.21,209.35 L 485.35,203.63 C 483.63,204.25 473.47,208.93 471.5,210.18 C 470.57,210.77 470.17,211.16 469.72,212.48 C 470.93,212.31 471.72,212.49 473.42,213.04 C 473.26,214.77 473.24,215.74 473.57,218.2 C 474.01,216.88 474.41,216.49 475.34,215.9 C 477.33,214.65 487.49,209.97 489.21,209.35 z "
+ id="XMLID_960_" />
+ </defs>
+ <clipPath
+ id="clipPath17448">
+ <use
+ id="use17450"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_960_" />
+ </clipPath>
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17452"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17454" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17456" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17458" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17460" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17463"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#f3403f;stop-opacity:1"
+ offset="0"
+ id="stop17465" />
+ <stop
+ style="stop-color:#d02a28;stop-opacity:1"
+ offset="0.37889999"
+ id="stop17467" />
+ <stop
+ style="stop-color:#b21714;stop-opacity:1"
+ offset="0.77649999"
+ id="stop17469" />
+ <stop
+ style="stop-color:#a6100c;stop-opacity:1"
+ offset="1"
+ id="stop17471" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#F3403F"
+ offset="0.4213" />
+ <a:midPointStop
+ style="stop-color:#A6100C"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="481.23969"
+ y1="212.5742"
+ x2="472.92981"
+ y2="207.4967"
+ id="linearGradient17807"
+ xlink:href="#XMLID_2275_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="473.7681"
+ y1="209.17529"
+ x2="486.98099"
+ y2="213.2001"
+ id="linearGradient17810"
+ xlink:href="#XMLID_2274_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-177.1654,35.43307)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17812"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)" />
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17814"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17816"
+ xlink:href="#XMLID_1753_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17818"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,11.0227,-35.6159)">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17349" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17351" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#5387BA" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#96BAD6" />
+ </linearGradient>
+ <linearGradient
+ x1="516.57672"
+ y1="-15.769"
+ x2="516.57672"
+ y2="0.84280002"
+ id="linearGradient17379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b2b2b2;stop-opacity:1"
+ offset="0"
+ id="stop17381" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop17383" />
+ <a:midPointStop
+ offset="0"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="0.5"
+ style="stop-color:#B2B2B2" />
+ <a:midPointStop
+ offset="1"
+ style="stop-color:#F2F2F2" />
+ </linearGradient>
+ <linearGradient
+ x1="502.70749"
+ y1="115.3013"
+ x2="516.39001"
+ y2="127.1953"
+ id="linearGradient17862"
+ xlink:href="#XMLID_1749_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.9703,0.2419,-0.2419,0.9703,-166.1427,-0.18283)" />
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17864"
+ xlink:href="#XMLID_1756_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <defs
+ id="defs3859">
+ <polygon
+ points="465.54,213.52 481.94,217.46 482.74,216.71 487.46,198.05 471.08,194.07 470.26,194.83 465.54,213.52 "
+ id="XMLID_343_" />
+ </defs>
+ <linearGradient
+ x1="471.0806"
+ y1="201.07761"
+ x2="481.91711"
+ y2="210.4977"
+ id="linearGradient17389"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#6498c1;stop-opacity:1"
+ offset="0.005618"
+ id="stop17391" />
+ <stop
+ style="stop-color:#79a9cc;stop-opacity:1"
+ offset="0.2332"
+ id="stop17393" />
+ <stop
+ style="stop-color:#a4cde2;stop-opacity:1"
+ offset="0.74049997"
+ id="stop17395" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="1"
+ id="stop17397" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="5.618000e-003" />
+ <a:midPointStop
+ style="stop-color:#6498C1"
+ offset="0.4438" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17400">
+ <use
+ id="use17402"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_343_" />
+ </clipPath>
+ <linearGradient
+ x1="505.62939"
+ y1="-14.9526"
+ x2="527.49402"
+ y2="-0.7536"
+ id="linearGradient17404"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17406" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17408" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17410" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17412" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17882"
+ xlink:href="#XMLID_1752_"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)" />
+ <defs
+ id="defs3826">
+ <polygon
+ points="463.52,216.14 480.56,220.24 481.36,219.5 483.03,202.04 469.05,196.69 468.24,197.45 463.52,216.14 "
+ id="XMLID_338_" />
+ </defs>
+ <linearGradient
+ x1="468.2915"
+ y1="204.7612"
+ x2="479.39871"
+ y2="214.4166"
+ id="linearGradient17357"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0"
+ id="stop17359" />
+ <stop
+ style="stop-color:#96bad6;stop-opacity:1"
+ offset="1"
+ id="stop17361" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#96BAD6"
+ offset="1" />
+ </linearGradient>
+ <clipPath
+ id="clipPath17364">
+ <use
+ id="use17366"
+ x="0"
+ y="0"
+ width="744.09448"
+ height="600"
+ xlink:href="#XMLID_338_" />
+ </clipPath>
+ <linearGradient
+ x1="506.09909"
+ y1="-11.5137"
+ x2="527.99609"
+ y2="2.7063999"
+ id="linearGradient17368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6868,0.4269,-0.9821,0.821,111.6149,-5.7901)">
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0"
+ id="stop17370" />
+ <stop
+ style="stop-color:#b4daea;stop-opacity:1"
+ offset="0.51120001"
+ id="stop17372" />
+ <stop
+ style="stop-color:#5387ba;stop-opacity:1"
+ offset="0.64609998"
+ id="stop17374" />
+ <stop
+ style="stop-color:#16336e;stop-opacity:1"
+ offset="1"
+ id="stop17376" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5112" />
+ <a:midPointStop
+ style="stop-color:#B4DAEA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.6461" />
+ <a:midPointStop
+ style="stop-color:#5387BA"
+ offset="0.5" />
+ <a:midPointStop
+ style="stop-color:#16336E"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient2387"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5105"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398"
+ id="linearGradient5145"
+ xlink:href="#linearGradient2381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2381"
+ id="linearGradient2371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90776,0,0,0.90776,24.35648,49.24131)"
+ x1="296.4996"
+ y1="188.81061"
+ x2="317.32471"
+ y2="209.69398" />
+ </defs>
+ <g
+ transform="matrix(0.437808,-0.437808,0.437808,0.437808,-220.8237,43.55311)"
+ id="g5089">
+ <path
+ d="M 8.4382985,-6.28125 C 7.8309069,-6.28125 4.125,-0.33238729 4.125,1.96875 L 4.125,28.6875 C 4.125,29.533884 4.7068159,29.8125 5.28125,29.8125 L 30.84375,29.8125 C 31.476092,29.8125 31.968751,29.319842 31.96875,28.6875 L 31.96875,23.46875 L 32.25,23.46875 C 32.74684,23.46875 33.156249,23.059339 33.15625,22.5625 L 33.15625,-5.375 C 33.15625,-5.8718398 32.74684,-6.28125 32.25,-6.28125 L 8.4382985,-6.28125 z "
+ transform="translate(282.8327,227.1903)"
+ style="fill:#5c5c4f;stroke:black;stroke-width:3.23021388;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path5091" />
+ <rect
+ width="27.85074"
+ height="29.369793"
+ rx="1.1414107"
+ ry="1.1414107"
+ x="286.96509"
+ y="227.63805"
+ style="fill:#032c87"
+ id="rect5093" />
+ <path
+ d="M 288.43262,225.43675 L 313.67442,225.43675 L 313.67442,254.80655 L 287.29827,254.83069 L 288.43262,225.43675 z "
+ style="fill:white"
+ id="rect5095" />
+ <path
+ d="M 302.44536,251.73726 C 303.83227,259.59643 301.75225,263.02091 301.75225,263.02091 C 303.99609,261.41329 305.71651,259.54397 306.65747,257.28491 C 307.62455,259.47755 308.49041,261.71357 310.9319,263.27432 C 310.9319,263.27432 309.33686,256.07392 309.22047,251.73726 L 302.44536,251.73726 z "
+ style="fill:#a70000;fill-opacity:1;stroke-width:2"
+ id="path5097" />
+ <rect
+ width="25.241802"
+ height="29.736675"
+ rx="0.89682275"
+ ry="0.89682275"
+ x="290.73544"
+ y="220.92249"
+ style="fill:#809cc9"
+ id="rect5099" />
+ <path
+ d="M 576.47347,725.93939 L 582.84431,726.35441 L 583.25121,755.8725 C 581.35919,754.55465 576.39694,752.1117 574.98889,754.19149 L 574.98889,727.42397 C 574.98889,726.60151 575.65101,725.93939 576.47347,725.93939 z "
+ transform="matrix(0.499065,-0.866565,0,1,0,0)"
+ style="fill:#4573b3;fill-opacity:1"
+ id="rect5101" />
+ <path
+ d="M 293.2599,221.89363 L 313.99908,221.89363 C 314.45009,221.89363 314.81318,222.25673 314.81318,222.70774 C 315.02865,229.0361 295.44494,244.47124 292.44579,240.30491 L 292.44579,222.70774 C 292.44579,222.25673 292.80889,221.89363 293.2599,221.89363 z "
+ style="opacity:0.65536726;fill:url(#linearGradient2371);fill-opacity:1"
+ id="path5103" />
+ </g>
+</svg>
Added: trunk/cdi/docs/reference/en-US/master.xml
===================================================================
--- trunk/cdi/docs/reference/en-US/master.xml (rev 0)
+++ trunk/cdi/docs/reference/en-US/master.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3CR3/docbookx.dtd"
+
+[
+<!ENTITY Revision_History SYSTEM "Revision_History.xml">
+]>
+
+<book>
+
+ <bookinfo>
+ <title>CDI Tools Reference Guide</title>
+ <corpauthor>
+ <inlinemediaobject>
+ <imageobject role="fo">
+ <imagedata format="PNG" fileref="images/jbosstools_logo.png" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata/>
+ </imageobject>
+ </inlinemediaobject>
+ </corpauthor>
+
+ <author>
+ <firstname>Isaac</firstname>
+ <surname>Rooskov</surname>
+ <email>irooskov(a)redhat.com</email>
+ </author>
+
+ <copyright>
+ <year>2012</year>
+ <holder>JBoss by Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 3.3.0.M5
+ </releaseinfo>
+ </bookinfo>
+
+ <toc/>
+ &Revision_History;
+
+</book>
Added: trunk/cdi/docs/reference/pom.xml
===================================================================
--- trunk/cdi/docs/reference/pom.xml (rev 0)
+++ trunk/cdi/docs/reference/pom.xml 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>${docname}-${translation}</artifactId>
+ <version>1.0</version>
+ <packaging>jdocbook</packaging>
+ <name>${bookname}-(${translation})</name>
+
+ <properties>
+ <translation>en-US</translation>
+ <docname>CDI_Tools_Reference_Guide</docname>
+ <bookname>CDI Tools Reference Guide</bookname>
+ </properties>
+
+ <profiles>
+
+ <!-- mvn compile -->
+ <profile>
+ <id>all</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.3.4</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>${docname}.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <useRelativeImageUris>true</useRelativeImageUris>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Phtml -->
+ <profile>
+ <id>html</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.3.3</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Phtml-single -->
+ <profile>
+ <id>html-single</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.3.3</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Ppdf -->
+ <profile>
+ <id>pdf</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.3.3</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>${docname}.pdf</finalName>
+ </format>
+ </formats>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!-- mvn compile -Peclipse -->
+ <profile>
+ <id>eclipse</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.3.3</version>
+ <extensions>true</extensions>
+ <configuration>
+ <formats>
+ <format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.3.3</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.pressgang</groupId>
+ <artifactId>pressgang-xslt</artifactId>
+ <version>1.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.1</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDirectory>${project.basedir}</sourceDirectory>
+ <!-- <sourceDocumentName>${docname}.xml</sourceDocumentName> -->
+ <sourceDocumentName>master.xml</sourceDocumentName>
+ <masterTranslation>en-US</masterTranslation>
+ <imageResource>
+ <directory>${project.basedir}/en-US</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/pdf.xsl</stylesheetResource>
+ <finalName>${pdf.name}</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/xhtml-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>classpath:/xslt/org/jboss/eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <docbookVersion>1.72.0</docbookVersion>
+ <localeSeparator>-</localeSeparator>
+ <transformerParameters>
+ <property>
+ <name>javax.xml.parsers.DocumentBuilderFactory</name>
+ <value>org.apache.xerces.jaxp.DocumentBuilderFactoryImpl</value>
+ </property>
+ <property>
+ <name>javax.xml.parsers.SAXParserFactory</name>
+ <value>org.apache.xerces.jaxp.SAXParserFactoryImpl</value>
+ </property>
+ </transformerParameters>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
Added: trunk/cdi/docs/reference/publican.cfg
===================================================================
--- trunk/cdi/docs/reference/publican.cfg (rev 0)
+++ trunk/cdi/docs/reference/publican.cfg 2012-01-06 03:03:35 UTC (rev 37667)
@@ -0,0 +1,9 @@
+# Config::Simple 4.59
+# Fri Nov 27 08:57:18 2009
+
+xml_lang: en-US
+type: Book
+brand: JBoss
+debug: 1
+
+
12 years, 11 months
JBoss Tools SVN: r37666 - trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2012-01-05 20:25:27 -0500 (Thu, 05 Jan 2012)
New Revision: 37666
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java
Log:
Correct method used.
Modified: trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java 2012-01-05 23:54:07 UTC (rev 37665)
+++ trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java 2012-01-06 01:25:27 UTC (rev 37666)
@@ -123,7 +123,7 @@
String source = null;
public LineReader(InputStream inStream) {
- source = FileUtil.readStream(inStream);
+ source = FileUtil.readStream(inStream, encoding);
inLimit = source.length();
}
12 years, 11 months
JBoss Tools SVN: r37665 - in trunk: jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2012-01-05 18:54:07 -0500 (Thu, 05 Jan 2012)
New Revision: 37665
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
Log:
EL refactoring for @Named beans doesn't work properly https://issues.jboss.org/browse/JBIDE-10210
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java 2012-01-05 21:13:59 UTC (rev 37664)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java 2012-01-05 23:54:07 UTC (rev 37665)
@@ -165,16 +165,6 @@
protected IProject[] getProjects() {
return new IProject[]{baseFile.getProject()};
}
-
- @Override
- protected IContainer getViewFolder(IProject project) {
- IPath path = ProjectHome.getFirstWebContentPath(project);
-
- if(path != null)
- return project.getFolder(path.removeFirstSegments(1));
-
- return null;
- }
}
@Override
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java 2012-01-05 21:13:59 UTC (rev 37664)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java 2012-01-05 23:54:07 UTC (rev 37665)
@@ -147,18 +147,7 @@
return result;
}
-
@Override
- protected IContainer getViewFolder(IProject project) {
- IPath path = ProjectHome.getFirstWebContentPath(project);
-
- if(path != null)
- return project.getFolder(path.removeFirstSegments(1));
-
- return null;
- }
-
- @Override
protected void match(IFile file, int offset, int length) {
if(isFileReadOnly(file)){
status.addFatalError(NLS.bind(ElCoreMessages.EL_RENAME_PROCESSOR_ERROR_READ_ONLY_FILE, file.getFullPath().toString()));
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java 2012-01-05 21:13:59 UTC (rev 37664)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java 2012-01-05 23:54:07 UTC (rev 37665)
@@ -203,12 +203,7 @@
return projectSet.getViewFolder(project);
}
- IPath path = ProjectHome.getFirstWebContentPath(project);
-
- if(path != null)
- return project.getFolder(path.removeFirstSegments(1));
-
- return null;
+ return super.getViewFolder(project);
}
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java 2012-01-05 21:13:59 UTC (rev 37664)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java 2012-01-05 23:54:07 UTC (rev 37665)
@@ -105,12 +105,7 @@
return projectSet.getViewFolder(project);
}
- IPath path = ProjectHome.getFirstWebContentPath(project);
-
- if(path != null)
- return project.getFolder(path.removeFirstSegments(1));
-
- return null;
+ return super.getViewFolder(project);
}
}
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2012-01-05 21:13:59 UTC (rev 37664)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/RefactorSearcher.java 2012-01-05 23:54:07 UTC (rev 37665)
@@ -43,6 +43,7 @@
import org.jboss.tools.common.el.core.resolver.IRelevanceCheck;
import org.jboss.tools.common.el.core.resolver.SimpleELContext;
import org.jboss.tools.common.el.core.resolver.Var;
+import org.jboss.tools.common.model.project.ProjectHome;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.common.util.BeanUtil;
import org.jboss.tools.common.util.FileUtil;
@@ -153,7 +154,14 @@
protected abstract IProject[] getProjects();
- protected abstract IContainer getViewFolder(IProject project);
+ protected IContainer getViewFolder(IProject project) {
+ IPath path = ProjectHome.getFirstWebContentPath(project);
+
+ if(path != null)
+ return project.getFolder(path.removeFirstSegments(1));
+
+ return null;
+ }
private boolean scanForJava(IContainer container){
if(container.getName().startsWith(".")) //$NON-NLS-1$
12 years, 11 months
JBoss Tools SVN: r37664 - trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2012-01-05 16:13:59 -0500 (Thu, 05 Jan 2012)
New Revision: 37664
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java
Log:
Duplicated method removed.
Modified: trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java 2012-01-05 21:08:38 UTC (rev 37663)
+++ trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/EncodedProperties.java 2012-01-05 21:13:59 UTC (rev 37664)
@@ -11,6 +11,7 @@
import java.util.Properties;
import org.jboss.tools.common.CommonPlugin;
+import org.jboss.tools.common.util.FileUtil;
public class EncodedProperties extends Properties {
private static final long serialVersionUID = 4112578634029123456L;
@@ -109,23 +110,6 @@
}
}
- private String readStream(InputStream is) {
- StringBuffer sb = new StringBuffer(""); //$NON-NLS-1$
- try {
- byte[] b = new byte[4096];
- while(true) {
- int l = is.read(b, 0, b.length);
- if(l < 0) break;
- sb.append(new String(b, 0, l, encoding));
- }
- is.close();
- } catch (IOException e) {
- CommonPlugin.getPluginLog().logError(e);
- }
- return sb.toString();
- }
-
-
/* read in a "logical line" from input stream, skip all comment and
* blank lines and filter out those leading whitespace characters
* (\u0020, \u0009 and \u000c) from the beginning of a "natural line".
@@ -139,7 +123,7 @@
String source = null;
public LineReader(InputStream inStream) {
- source = readStream(inStream);
+ source = FileUtil.readStream(inStream);
inLimit = source.length();
}
12 years, 11 months
JBoss Tools SVN: r37663 - in trunk: jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2012-01-05 16:08:38 -0500 (Thu, 05 Jan 2012)
New Revision: 37663
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java
Log:
EL refactoring for @Named beans doesn't work properly https://issues.jboss.org/browse/JBIDE-10210
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java 2012-01-05 20:38:05 UTC (rev 37662)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/el/refactoring/ELRenameProcessor.java 2012-01-05 21:08:38 UTC (rev 37663)
@@ -150,7 +150,7 @@
@Override
protected IContainer getViewFolder(IProject project) {
- IPath path = ProjectHome.getFirstWebContentPath(baseFile.getProject());
+ IPath path = ProjectHome.getFirstWebContentPath(project);
if(path != null)
return project.getFolder(path.removeFirstSegments(1));
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java 2012-01-05 20:38:05 UTC (rev 37662)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.ui/src/org/jboss/tools/jsf/ui/el/refactoring/RenameMethodParticipant.java 2012-01-05 21:08:38 UTC (rev 37663)
@@ -203,7 +203,7 @@
return projectSet.getViewFolder(project);
}
- IPath path = ProjectHome.getFirstWebContentPath(baseFile.getProject());
+ IPath path = ProjectHome.getFirstWebContentPath(project);
if(path != null)
return project.getFolder(path.removeFirstSegments(1));
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java 2012-01-05 20:38:05 UTC (rev 37662)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/refactoring/ELReferencesQueryParticipant.java 2012-01-05 21:08:38 UTC (rev 37663)
@@ -105,7 +105,7 @@
return projectSet.getViewFolder(project);
}
- IPath path = ProjectHome.getFirstWebContentPath(baseFile.getProject());
+ IPath path = ProjectHome.getFirstWebContentPath(project);
if(path != null)
return project.getFolder(path.removeFirstSegments(1));
12 years, 11 months
JBoss Tools SVN: r37662 - trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2012-01-05 15:38:05 -0500 (Thu, 05 Jan 2012)
New Revision: 37662
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java
Log:
EL refactoring for @Named beans doesn't work properly https://issues.jboss.org/browse/JBIDE-10210
Modified: trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java 2012-01-05 18:25:20 UTC (rev 37661)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.core/src/org/jboss/tools/cdi/internal/core/refactoring/CDIRenameProcessor.java 2012-01-05 20:38:05 UTC (rev 37662)
@@ -168,7 +168,7 @@
@Override
protected IContainer getViewFolder(IProject project) {
- IPath path = ProjectHome.getFirstWebContentPath(baseFile.getProject());
+ IPath path = ProjectHome.getFirstWebContentPath(project);
if(path != null)
return project.getFolder(path.removeFirstSegments(1));
12 years, 11 months