JBoss Tools SVN: r39297 - trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2012-03-06 00:49:37 -0500 (Tue, 06 Mar 2012)
New Revision: 39297
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ExploreActionProvider.java
Log:
JBIDE-11091 to trunk - explore action for openshift servers
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ExploreActionProvider.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ExploreActionProvider.java 2012-03-06 03:03:54 UTC (rev 39296)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/tools/as/wst/server/ui/xpl/ExploreActionProvider.java 2012-03-06 05:49:37 UTC (rev 39297)
@@ -117,11 +117,15 @@
}
public void fillContextMenu(IMenuManager menu) {
- if( getModuleServer() != null )
- menu.insertBefore(ServerActionProvider.CONTROL_MODULE_SECTION_END_SEPARATOR, exploreAction);
- else if( getServer() != null )
- menu.insertBefore(ServerActionProvider.SERVER_ETC_SECTION_END_SEPARATOR, exploreAction);
- exploreAction.setEnabled(true);
+ String mode = getServer().getAttribute(IDeployableServer.SERVER_MODE, LocalPublishMethod.LOCAL_PUBLISH_METHOD);
+ IExploreBehavior beh = exploreBehaviorMap.get(mode);
+ if( beh != null ) {
+ if( getModuleServer() != null )
+ menu.insertBefore(ServerActionProvider.CONTROL_MODULE_SECTION_END_SEPARATOR, exploreAction);
+ else if( getServer() != null )
+ menu.insertBefore(ServerActionProvider.SERVER_ETC_SECTION_END_SEPARATOR, exploreAction);
+ exploreAction.setEnabled(true);
+ }
}
public IServer getServer() {
12 years, 10 months
JBoss Tools SVN: r39296 - trunk/documentation/guides/GettingStartedGuide/en-US.
by jbosstools-commits@lists.jboss.org
Author: irooskov(a)redhat.com
Date: 2012-03-05 22:03:54 -0500 (Mon, 05 Mar 2012)
New Revision: 39296
Modified:
trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml
trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml
trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml
Log:
updated with QE improvements
Modified: trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml 2012-03-05 20:46:25 UTC (rev 39295)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Book_Info.xml 2012-03-06 03:03:54 UTC (rev 39296)
@@ -8,7 +8,7 @@
<productname>JBoss Developer Studio</productname>
<productnumber>5.0</productnumber>
<edition>5.0.0</edition>
-<pubsnumber>10</pubsnumber>
+<pubsnumber>11</pubsnumber>
<abstract>
<para>The Getting Started Guide explains the JBoss Developer Studio.</para>
</abstract>
Modified: trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml 2012-03-05 20:46:25 UTC (rev 39295)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/getting_started.xml 2012-03-06 03:03:54 UTC (rev 39296)
@@ -95,10 +95,10 @@
<section id="Upgrading">
<?dbhtml filename="Upgrading.html"?>
<title>Upgrading</title>
- <para>Because JBoss Developer Studio 3.0x and 4.0 use different versions of Eclipse, it is not possible to directly upgrade from an older version to JBoss Developer Studio 4.0.</para>
+ <para>Because JBoss Developer Studio 4.0x and 5.0 use different versions of Eclipse, it is not possible to directly upgrade from an older version to JBoss Developer Studio 5.0.</para>
<note>
<title>Tip</title>
- <para>It is possible to run JBoss Developer Studio 3.0x and 4.0 side by side, as long as they have been installed into separate directories.</para>
+ <para>It is possible to run JBoss Developer Studio 4.0x and 5.0 side by side, as long as they have been installed into separate directories.</para>
</note>
</section>
Modified: trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml 2012-03-05 20:46:25 UTC (rev 39295)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/installation.xml 2012-03-06 03:03:54 UTC (rev 39296)
@@ -235,7 +235,7 @@
<?dbhtml filename="InstallingRHDS.html"?>
<title>JBoss Developer Studio Installation</title>
<para>
- This chapter will provide you with detailed information on how to install <property>JBoss Developer Studio</property>.
+ This section will provide you with detailed information on how to install <property>JBoss Developer Studio</property>.
</para>
<important>
<para>
@@ -254,16 +254,16 @@
</important>
<important>
<para>
- When installing JBoss Developer Studio on the 64-bit edition of MacOSX Leopard, only the 64-bit edition of JBoss Developer Studio is supported. Though the 32-bit edition will install, many features will not work correctly due to Java 1.6 being specific to 64-bit applications on Leopard and JBoss Developer Studio requiring Java 1.6 for all features to function.
+ When installing JBoss Developer Studio on the 64-bit edition of MacOS X Snow Leopard or Lion, only the 64-bit edition of JBoss Developer Studio is supported. Though the 32-bit edition will install, many features will not work correctly due to Java 1.6 being specific to 64-bit applications on Leopard and JBoss Developer Studio requiring Java 1.6 for all features to function.
</para>
</important>
<section id="Installing_JBoss_Developer_Studio-Automated_Installation">
<title>Automated Installation</title>
<para>
- Parameters for automated installation are defined in the <filename>InstallConfigRecord.xml</filename> file. Defined in this file is the path to the installation folder, the packages to be installed and the shortcuts to be created.
+ Parameters for automated installation are defined in the <filename>InstallConfigRecord.xml</filename> file. These parameters include the path to the installation folder, the packages to be installed and the shortcuts to be created.
</para>
<para>
- Within the <filename>InstallConfigRecord.xml</filename> file are three parameters that can be modified for specific installation options:
+ Within the <filename>InstallConfigRecord.xml</filename> file is three parameters that can be modified for specific installation options:
</para>
<itemizedlist>
<listitem>
@@ -346,6 +346,34 @@
Automated installation does not check if the specified installation path already exists. If the path does exist, any files will be overwritten without notice.
</para>
</warning>
+ <para>
+ An example of an <filename>InstallConfigRecord.xml</filename> file is available below:
+ </para>
+<programlisting><![CDATA[
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<AutomatedInstallation langpack="eng">
+ <com.jboss.jbds.installer.HTMLInfoPanelWithRootWarning id="introduction"/>
+ <com.izforge.izpack.panels.HTMLLicencePanel id="licence"/>
+ <com.jboss.jbds.installer.PathInputPanel id="target">
+ <installpath>/opt/local/JBDS5/beta1</installpath>
+ </com.jboss.jbds.installer.PathInputPanel>
+ <com.jboss.jbds.installer.JREPathPanel id="jre"/>
+ <com.jboss.jbds.installer.JBossAsSelectPanel id="as">
+ <installgroup>jbds</installgroup>
+ </com.jboss.jbds.installer.JBossAsSelectPanel>
+ <com.jboss.jbds.installer.UpdatePacksPanel id="updatepacks"/>
+ <com.jboss.jbds.installer.DiskSpaceCheckPanel id="diskspacecheck"/>
+ <com.izforge.izpack.panels.SummaryPanel id="summary"/>
+ <com.izforge.izpack.panels.InstallPanel id="install"/>
+ <com.jboss.jbds.installer.CreateLinkPanel id="createlink">
+ <jrelocation>/usr/lib/jvm/java-1.6.0-sun-1.6.0.30.x86_64/jre/bin/java</jrelocation>
+ </com.jboss.jbds.installer.CreateLinkPanel>
+ <com.izforge.izpack.panels.ShortcutPanel id="shortcut"/>
+ <com.jboss.jbds.installer.ShortcutPanelPatch id="shortcutpatch"/>
+ <com.izforge.izpack.panels.SimpleFinishPanel id="finish"/>
+</AutomatedInstallation>
+]]>
+</programlisting>
</section>
<section id="Installing_JBoss_Developer_Studio-Manual_Installation">
<title>Manual Installation</title>
@@ -408,15 +436,15 @@
</note>
<para>
- Selecting <emphasis> <property>Specific Java VM</property> </emphasis> you can provide the path to non-default Java VM.
+ Selecting the <emphasis> <property>Specific Java VM</property> </emphasis> option will allow you to provide the path to a specific Java VM installation.
</para>
- <note>
+<!-- <note>
<title>Note:</title>
<para>
JBoss Developer Studio 4.0 comes integrated with JBoss EAP 5.1 that requires JDK 6.0 to run and "gij" isn't available on every platform.
</para>
- </note>
+ </note> -->
<figure>
<title>Select Java VM</title>
@@ -429,7 +457,7 @@
<itemizedlist>
<listitem>
- <para>
+ <!-- <para>
As part of the installation you can choose to install <ulink url="http://www.jboss.com/products/platforms/application">JBoss Enterprise Application Platform</ulink>. Select <emphasis><property>Yes</property></emphasis> to use it in JBoss Developer Studio.
</para>
@@ -438,7 +466,7 @@
<para>
Like in the previous version of JBoss Developer Studio, version 4.0.0.GA comes integrated with JBoss EAP 5.1 that supports EAP 5 adapter and Seam 2.2.
</para>
- </note>
+ </note> -->
<para>
This step lets you configure locally available JBoss Application Servers:
@@ -675,7 +703,7 @@
</para>
<note>
<para>
- At the time of the JBoss Developer Studio 4.1 release, the technical preview site does not contain any components.
+ At the time of the JBoss Developer Studio 5.0 release, the technical preview site does not contain any components.
</para>
</note>
12 years, 10 months
JBoss Tools SVN: r39295 - trunk/build/aggregate/site.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2012-03-05 15:46:25 -0500 (Mon, 05 Mar 2012)
New Revision: 39295
Modified:
trunk/build/aggregate/site/index.html
trunk/build/aggregate/site/jbosstools-directory.xml
Log:
updated index, directory.xml
Modified: trunk/build/aggregate/site/index.html
===================================================================
--- trunk/build/aggregate/site/index.html 2012-03-05 20:20:03 UTC (rev 39294)
+++ trunk/build/aggregate/site/index.html 2012-03-05 20:46:25 UTC (rev 39295)
@@ -70,471 +70,891 @@
<tr>
<td></td>
<td>
- <table xmlns="http://www.w3.org/1999/xhtml" xmlns:xalan="http://xml.apache.org/xalan" cellspacing="2" cellpadding="0" border="0">
- <tr style="background-color:#DDDDDD">
- <th style="font-size:small">Feature</th>
- <th style="font-size:small">Version</th>
- <th style="font-size:small">
- Feature Categor(ies)
-
- </th>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.ide.eclipse.archives.feature_3.2.1.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.ide.eclipse.archives.feature</a></td>
- <td><span style="font-size:x-small">3.2.1.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.ide.eclipse.as.feature_2.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.ide.eclipse.as.feature</a></td>
- <td><span style="font-size:x-small">2.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.ide.eclipse.freemarker.feature_1.2.0.v20120208-0324-H658-Beta1.jar" style="font-size:x-small">org.jboss.ide.eclipse.freemarker.feature</a></td>
- <td><span style="font-size:x-small">1.2.0.v20120208-0324-H658-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.birt.feature_1.3.0.v20120205-0200-H677-Beta1.jar" style="font-size:x-small">org.jboss.tools.birt.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120205-0200-H677-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- ReportTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.cdi.feature_1.2.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.cdi.feature</a></td>
- <td><span style="font-size:x-small">1.2.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.cdi.seam.feature_1.2.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.cdi.seam.feature</a></td>
- <td><span style="font-size:x-small">1.2.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.central.discovery.feature_1.0.0.v20120208-0323-H299-Beta1.jar" style="font-size:x-small">org.jboss.tools.central.discovery.feature</a></td>
- <td><span style="font-size:x-small">1.0.0.v20120208-0323-H299-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.central.feature_1.0.0.v20120208-0323-H299-Beta1.jar" style="font-size:x-small">org.jboss.tools.central.feature</a></td>
- <td><span style="font-size:x-small">1.0.0.v20120208-0323-H299-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.core.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.core.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.jdt.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.jdt.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.mylyn.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.mylyn.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.text.ext.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.text.ext.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.ui.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.ui.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.common.verification.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.common.verification.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.community.central.feature_1.0.0.v20120208-0323-H299-Beta1.jar" style="font-size:x-small">org.jboss.tools.community.central.feature</a></td>
- <td><span style="font-size:x-small">1.0.0.v20120208-0323-H299-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.community.project.examples.feature_1.2.1.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.community.project.examples.feature</a></td>
- <td><span style="font-size:x-small">1.2.1.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.forge.feature_1.0.0.v20120208-0327-H509-Beta1.jar" style="font-size:x-small">org.jboss.tools.forge.feature</a></td>
- <td><span style="font-size:x-small">1.0.0.v20120208-0327-H509-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.gwt.feature_1.0.2.v20120208-0326-H458-Beta1.jar" style="font-size:x-small">org.jboss.tools.gwt.feature</a></td>
- <td><span style="font-size:x-small">1.0.2.v20120208-0326-H458-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.jmx.feature_1.2.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.jmx.feature</a></td>
- <td><span style="font-size:x-small">1.2.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.jsf.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.jsf.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.jst.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.jst.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.cdi.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.cdi.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.hibernate.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.hibernate.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.jaxrs.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.jaxrs.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.jbosspackaging.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.jbosspackaging.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.jpa.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.jpa.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.jsf.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.jsf.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.portlet.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.portlet.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.project.examples.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.project.examples.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.maven.seam.feature_1.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.maven.seam.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- MavenTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.openshift.egit.integration.feature_2.3.0.v20120207-2155-H234-Beta1.jar" style="font-size:x-small">org.jboss.tools.openshift.egit.integration.feature</a></td>
- <td><span style="font-size:x-small">2.3.0.v20120207-2155-H234-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- CloudTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.openshift.express.feature_2.3.0.v20120207-2155-H234-Beta1.jar" style="font-size:x-small">org.jboss.tools.openshift.express.feature</a></td>
- <td><span style="font-size:x-small">2.3.0.v20120207-2155-H234-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- CloudTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.portlet.feature_1.2.0.v20120208-0209-H498-Beta1.jar" style="font-size:x-small">org.jboss.tools.portlet.feature</a></td>
- <td><span style="font-size:x-small">1.2.0.v20120208-0209-H498-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.project.examples.feature_1.2.1.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.project.examples.feature</a></td>
- <td><span style="font-size:x-small">1.2.1.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.richfaces.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.richfaces.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.runtime.as.detector.feature_1.3.0.v20120206-2101-H556-Beta1.jar" style="font-size:x-small">org.jboss.tools.runtime.as.detector.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120206-2101-H556-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.runtime.core.feature_1.3.0.v20120206-2101-H556-Beta1.jar" style="font-size:x-small">org.jboss.tools.runtime.core.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120206-2101-H556-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.runtime.feature_1.3.0.v20120206-2101-H556-Beta1.jar" style="font-size:x-small">org.jboss.tools.runtime.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120206-2101-H556-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.runtime.seam.detector.feature_1.3.0.v20120206-2101-H556-Beta1.jar" style="font-size:x-small">org.jboss.tools.runtime.seam.detector.feature</a></td>
- <td><span style="font-size:x-small">1.3.0.v20120206-2101-H556-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.seam.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.seam.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.struts.feature_3.3.0.v20120208-0437-H602-Beta1.jar" style="font-size:x-small">org.jboss.tools.struts.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0437-H602-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.usage.feature_1.1.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.usage.feature</a></td>
- <td><span style="font-size:x-small">1.1.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.vpe.browsersim.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.vpe.browsersim.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.vpe.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.vpe.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.ws.feature_1.2.2.v20120208-0403-H762-Beta1.jar" style="font-size:x-small">org.jboss.tools.ws.feature</a></td>
- <td><span style="font-size:x-small">1.2.2.v20120208-0403-H762-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.jboss.tools.ws.jaxrs.feature_1.2.2.v20120208-0403-H762-Beta1.jar" style="font-size:x-small">org.jboss.tools.ws.jaxrs.feature</a></td>
- <td><span style="font-size:x-small">1.2.2.v20120208-0403-H762-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span></td>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.jboss.tools.xulrunner.feature_3.3.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.jboss.tools.xulrunner.feature</a></td>
- <td><span style="font-size:x-small">3.3.0.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:#DDDDDD">
- <th style="font-size:small">Feature</th>
- <th style="font-size:small">Version</th>
- <th style="font-size:small">
- Feature Categor(ies)
-
- </th>
- </tr>
- <tr style="background-color:
							#EEEEEE
						">
- <td class="rowLine"><a href="features/org.hibernate.eclipse.feature_3.4.0.v20120208-0633-Beta1.jar" style="font-size:x-small">org.hibernate.eclipse.feature</a></td>
- <td><span style="font-size:x-small">3.4.0.v20120208-0633-Beta1</span></td>
- <td><span style="font-size:x-small">
- |
- AbridgedTools</span><span style="font-size:x-small">
- |
- WebTools</span><span style="font-size:x-small">
- |
- DataTools</span><span style="font-size:x-small">
- |
- GeneralTools</span></td>
- </tr>
- <tr style="background-color:
							#FFFFFF
						">
- <td class="rowLine"><a href="features/org.mozilla.xulrunner.feature_1.9.218.v20120208-0633-Beta1.jar" style="font-size:x-small">org.mozilla.xulrunner.feature</a></td>
- <td><span style="font-size:x-small">1.9.218.v20120208-0633-Beta1</span></td>
- <td></td>
- </tr>
- <tr style="background-color:#DDDDDD">
- <th colspan="1" style="font-size:small">Metadata</th>
- <th colspan="1" style="font-size:small"></th>
- <th colspan="1" style="font-size:small"></th>
- </tr>
- <tr style="background-color:#EEEEEE">
- <td class="rowLine" colspan="1"><a href="site.xml" style="font-size:x-small">site.xml</a>
- ::
- <a href="artifacts.jar" style="font-size:x-small">artifacts.jar</a>
- ::
- <a href="content.jar" style="font-size:x-small">content.jar</a></td>
- <td class="rowLine" colspan="1">
- ::
- <a href="plugins/" style="font-size:x-small">plugins</a>
- ::
- <a href="features/" style="font-size:x-small">features</a></td>
- <td class="rowLine" colspan="1">
- :: <a href="jbosstools-directory.xml" style="font-size:x-small">jbosstools-directory.xml</a>
- :: <a href="site.properties" style="font-size:x-small">site.properties</a>
-
- </td>
- </tr>
-</table><br xmlns="http://www.w3.org/1999/xhtml" xmlns:xalan="http://xml.apache.org/xalan"></br>
+ <table xmlns="http://www.w3.org/1999/xhtml" xmlns:xalan="http://xml.apache.org/xalan" border="0" cellpadding="0" cellspacing="2">
+<tr style="background-color:#DDDDDD">
+<th style="font-size:small">Feature</th>
+<th style="font-size:small">Version</th>
+<th style="font-size:small">
+ Feature Categor(ies)
+ </th>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.ide.eclipse.archives.feature_3.2.1.v20120217-2051-H724-Beta1.jar">org.jboss.ide.eclipse.archives.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.2.1.v20120217-2051-H724-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.ide.eclipse.as.feature_2.3.0.v20120305-1347-H1121-Beta2.jar">org.jboss.ide.eclipse.as.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">2.3.0.v20120305-1347-H1121-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.ide.eclipse.freemarker.feature_1.2.0.v20120221-1511-Beta2.jar">org.jboss.ide.eclipse.freemarker.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.birt.feature_1.3.0.v20120217-2051-H729-Beta1.jar">org.jboss.tools.birt.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120217-2051-H729-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ ReportTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.cdi.feature_1.2.0.v20120217-2350-H920-Beta1.jar">org.jboss.tools.cdi.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.0.v20120217-2350-H920-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.cdi.seam.feature_1.2.0.v20120217-2350-H920-Beta1.jar">org.jboss.tools.cdi.seam.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.0.v20120217-2350-H920-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.central.discovery.feature_1.0.0.v20120305-1700-Beta2.jar">org.jboss.tools.central.discovery.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.0.0.v20120305-1700-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.central.feature_1.0.0.v20120305-1700-Beta2.jar">org.jboss.tools.central.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.0.0.v20120305-1700-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.core.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.common.core.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.common.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.jdt.feature_3.3.0.v20120305-1501-H763-Beta2.jar">org.jboss.tools.common.jdt.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120305-1501-H763-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.mylyn.feature_3.3.0.v20120305-1501-H763-Beta2.jar">org.jboss.tools.common.mylyn.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120305-1501-H763-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.text.ext.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.common.text.ext.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.ui.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.common.ui.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.common.verification.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.common.verification.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.community.project.examples.feature_1.2.1.v20120305-1325-H596-Beta2.jar">org.jboss.tools.community.project.examples.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.1.v20120305-1325-H596-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.forge.feature_1.0.0.v20120218-0059-H561-Beta1.jar">org.jboss.tools.forge.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.0.0.v20120218-0059-H561-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.gwt.feature_1.0.2.v20120217-2051-H503-Beta1.jar">org.jboss.tools.gwt.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.0.2.v20120217-2051-H503-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.jmx.feature_1.2.0.v20120217-2058-H684-Beta1.jar">org.jboss.tools.jmx.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.0.v20120217-2058-H684-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.jsf.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.jsf.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.jst.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.jst.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.cdi.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.cdi.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.hibernate.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.hibernate.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.jaxrs.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.jaxrs.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.jbosspackaging.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.jbosspackaging.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.jpa.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.jpa.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.jsf.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.jsf.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.portlet.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.portlet.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.profiles.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.profiles.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.project.examples.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.project.examples.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.maven.seam.feature_1.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.maven.seam.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ MavenTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.openshift.egit.integration.feature_2.3.0.v20120217-2351-H280-Beta1.jar">org.jboss.tools.openshift.egit.integration.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">2.3.0.v20120217-2351-H280-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ CloudTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.openshift.express.feature_2.3.0.v20120217-2351-H280-Beta1.jar">org.jboss.tools.openshift.express.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">2.3.0.v20120217-2351-H280-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ CloudTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.portlet.feature_1.2.0.v20120221-1511-Beta2.jar">org.jboss.tools.portlet.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.project.examples.feature_1.2.1.v20120305-1325-H596-Beta2.jar">org.jboss.tools.project.examples.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.1.v20120305-1325-H596-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.richfaces.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.richfaces.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.runtime.as.detector.feature_1.3.0.v20120305-1714-H626-Beta2.jar">org.jboss.tools.runtime.as.detector.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120305-1714-H626-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.runtime.core.feature_1.3.0.v20120305-1714-H626-Beta2.jar">org.jboss.tools.runtime.core.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120305-1714-H626-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.runtime.seam.detector.feature_1.3.0.v20120305-1714-H626-Beta2.jar">org.jboss.tools.runtime.seam.detector.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.3.0.v20120305-1714-H626-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.seam.feature_3.3.0.v20120305-1739-H862-Beta2.jar">org.jboss.tools.seam.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120305-1739-H862-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.struts.feature_3.3.0.v20120218-0005-H649-Beta1.jar">org.jboss.tools.struts.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120218-0005-H649-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.usage.feature_1.1.0.v20120221-1511-Beta2.jar">org.jboss.tools.usage.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.1.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.vpe.browsersim.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.vpe.browsersim.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.vpe.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.vpe.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.ws.feature_1.2.2.v20120217-1720-H797-Beta1.jar">org.jboss.tools.ws.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.2.v20120217-1720-H797-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.ws.jaxrs.feature_1.2.2.v20120217-1720-H797-Beta1.jar">org.jboss.tools.ws.jaxrs.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.2.2.v20120217-1720-H797-Beta1</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.jboss.tools.xulrunner.feature_3.3.0.v20120221-1511-Beta2.jar">org.jboss.tools.xulrunner.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.3.0.v20120221-1511-Beta2</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:#DDDDDD">
+<th style="font-size:small">Feature</th>
+<th style="font-size:small">Version</th>
+<th style="font-size:small">
+ Feature Categor(ies)
+ </th>
+</tr>
+<tr style="background-color:
+ #EEEEEE
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.hibernate.eclipse.feature_3.4.0.v20120221-1511-Beta2.jar">org.hibernate.eclipse.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">3.4.0.v20120221-1511-Beta2</span>
+</td>
+<td>
+<span style="font-size:x-small">
+ |
+ AbridgedTools</span>
+<span style="font-size:x-small">
+ |
+ WebTools</span>
+<span style="font-size:x-small">
+ |
+ DataTools</span>
+<span style="font-size:x-small">
+ |
+ GeneralTools</span>
+</td>
+</tr>
+<tr style="background-color:
+ #FFFFFF
+ ">
+<td class="rowLine">
+<a style="font-size:x-small" href="features/org.mozilla.xulrunner.feature_1.9.218.v20120216-1728-Beta1.jar">org.mozilla.xulrunner.feature</a>
+</td>
+<td>
+<span style="font-size:x-small">1.9.218.v20120216-1728-Beta1</span>
+</td>
+<td/>
+</tr>
+<tr style="background-color:#DDDDDD">
+<th style="font-size:small" colspan="1">Metadata</th>
+<th style="font-size:small" colspan="1"/>
+<th style="font-size:small" colspan="1"/>
+</tr>
+<tr style="background-color:#EEEEEE">
+<td colspan="1" class="rowLine">
+<a style="font-size:x-small" href="site.xml">site.xml</a>
+ ::
+ <a style="font-size:x-small" href="artifacts.jar">artifacts.jar</a>
+ ::
+ <a style="font-size:x-small" href="content.jar">content.jar</a>
+</td>
+<td colspan="1" class="rowLine">
+ ::
+ <a style="font-size:x-small" href="plugins/">plugins</a>
+ ::
+ <a style="font-size:x-small" href="features/">features</a>
+</td>
+<td colspan="1" class="rowLine">
+ :: <a href="jbosstools-directory.xml" style="font-size:x-small">jbosstools-directory.xml</a>
+ :: <a href="site.properties" style="font-size:x-small">site.properties</a>
+ </td>
+</tr>
+</table><br xmlns="http://www.w3.org/1999/xhtml" xmlns:xalan="http://xml.apache.org/xalan"/>
+
</td>
<td></td>
</tr>
Modified: trunk/build/aggregate/site/jbosstools-directory.xml
===================================================================
--- trunk/build/aggregate/site/jbosstools-directory.xml 2012-03-05 20:20:03 UTC (rev 39294)
+++ trunk/build/aggregate/site/jbosstools-directory.xml 2012-03-05 20:46:25 UTC (rev 39295)
@@ -1,4 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<directory xmlns="http://www.eclipse.org/mylyn/discovery/directory/">
-<entry url="plugins/org.jboss.tools.central.discovery_1.0.0.v20120208-0323-H299-Beta1.jar" permitCategories="true"/>
+<entry url="plugins/org.jboss.tools.central.discovery_1.0.0.v20120305-1700-Beta2.jar" permitCategories="true"/>
</directory>
12 years, 10 months
JBoss Tools SVN: r39294 - trunk/build/parent.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2012-03-05 15:20:03 -0500 (Mon, 05 Mar 2012)
New Revision: 39294
Modified:
trunk/build/parent/pom.xml
Log:
bump parent pom to 0.14.1 per fbricon and http://comments.gmane.org/gmane.comp.ide.eclipse.tycho.user/340
Modified: trunk/build/parent/pom.xml
===================================================================
--- trunk/build/parent/pom.xml 2012-03-05 19:30:11 UTC (rev 39293)
+++ trunk/build/parent/pom.xml 2012-03-05 20:20:03 UTC (rev 39294)
@@ -12,9 +12,8 @@
</modules>
<properties>
- <!-- to build w/ latest 0.14.0-SNAPSHOT, run `mvn install -DtychoVersion=0.14.0-SNAPSHOT`,
- or uncomment this property: <tychoVersion>0.14.0-SNAPSHOT</tychoVersion> -->
- <tychoVersion>0.14.0</tychoVersion>
+ <!-- to build w/ latest 0.15.0-SNAPSHOT, run `mvn install -DtychoVersion=0.15.0-SNAPSHOT` -->
+ <tychoVersion>0.14.1</tychoVersion>
<scmBranch>trunk</scmBranch>
<JBT_VERSION>3.3.0</JBT_VERSION>
<JBDS_VERSION>5.0.0</JBDS_VERSION>
12 years, 10 months
JBoss Tools SVN: r39293 - in trunk/modeshape: plugins/org.jboss.tools.modeshape.jcr/META-INF and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: elvisisking
Date: 2012-03-05 14:30:11 -0500 (Mon, 05 Mar 2012)
New Revision: 39293
Modified:
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/.settings/org.eclipse.jdt.core.prefs
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/META-INF/MANIFEST.MF
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Messages.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/MultiValidationStatus.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Utils.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/ValidationStatus.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndElement.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndImporter.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndNotationPreferences.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndTokenizer.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndValidator.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/LocalName.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/NodeTypeDefinition.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Abstract.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/AttributeState.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Autocreated.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultType.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultValues.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ListAttributeState.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mandatory.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mixin.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Multiple.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoFullText.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoQueryOrder.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeAttributes.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeTypeAttributes.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/OnParentVersion.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Orderable.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PrimaryItem.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyAttributes.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyType.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyValue.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Protected.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/QueryOperators.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Queryable.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/RequiredTypes.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SameNameSiblings.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SuperTypes.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ValueConstraints.java
trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/messages.properties
trunk/modeshape/tests/org.jboss.tools.modeshape.jcr.test/src/org/jboss/tools/modeshape/jcr/cnd/Constants.java
Log:
JBIDE-10702 Editor for JCR Compact Node Definition (CND) files. Mostly javadoc changes.
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/.settings/org.eclipse.jdt.core.prefs 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/.settings/org.eclipse.jdt.core.prefs 2012-03-05 19:30:11 UTC (rev 39293)
@@ -1,8 +1,22 @@
-#Wed Feb 08 09:55:05 EST 2012
+#Fri Mar 02 10:43:25 CST 2012
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
org.eclipse.jdt.core.compiler.source=1.6
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/META-INF/MANIFEST.MF
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/META-INF/MANIFEST.MF 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/META-INF/MANIFEST.MF 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,3 +9,6 @@
Bundle-ClassPath: .
Import-Package: org.eclipse.osgi.util
Require-Bundle: org.jboss.tools.modeshape.client
+Export-Package: org.jboss.tools.modeshape.jcr,
+ org.jboss.tools.modeshape.jcr.cnd,
+ org.jboss.tools.modeshape.jcr.cnd.attributes
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Messages.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Messages.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Messages.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -14,62 +14,313 @@
*/
public final class Messages extends NLS {
+ /**
+ * The name for the child definition's name property.
+ */
public static String childDefinitionName;
+
+ /**
+ * A message indicating the CND has no namespace or node type definitions.
+ */
public static String cndHasNoNamespacesOrNodeTypeDefinitions;
+
+ /**
+ * A message indicating a child node definition has a default type but that has been marked as a variant. One parameter, the
+ * child node definition name, is required.
+ */
public static String defaultTypeExistsButMarkedAsVariant;
+
+ /**
+ * The name for the child definition's default type property.
+ */
public static String defaultTypeName;
+
+ /**
+ * The name for the property definition's default value property.
+ */
public static String defaultValue;
+
+ /**
+ * A message indicating a property definition has default values but that property has been marked as a variant. One parameter,
+ * the property definition name, is required.
+ */
public static String defaultValuesExistButMarkedAsVariant;
+
+ /**
+ * A message indicating more than one child node definition has the same name. Two parameters, the property definition name and
+ * the child node name, are required.
+ */
public static String duplicateChildNodeDefinitionName;
+
+ /**
+ * A message indicating a property definition has duplicate default values. Parameters for the duplicate value and the property
+ * definition name are required.
+ */
public static String duplicateDefaultValue;
+
+ /**
+ * A message indicating multiple namespace mappings have the same prefix. One parameter, the duplicate prefix, is required.
+ */
public static String duplicateNamespacePrefix;
+
+ /**
+ * A message indicating multiple namespace mappings have the same prefix. One parameter, the prefix, is required.
+ */
public static String duplicateNamespaceUri;
+
+ /**
+ * A message indicating multiple node type definitions with the same name exist. One parameter, the duplicate node type
+ * definition name, is required.
+ */
public static String duplicateNodeTypeDefinitionName;
+
+ /**
+ * A message indicating multiple property definitions with the same name exist. One parameter, the duplicate property definition
+ * name, is required.
+ */
public static String duplicatePropertyDefinitionName;
+
+ /**
+ * A message indicating duplicate query operators of a property definition exist. The parameters of property definition name and
+ * the duplicate query operator are required.
+ */
public static String duplicateQueryOperator;
+
+ /**
+ * A message indicating duplicate required types of a child node definition exist. The parameters of child node definition name
+ * and the duplicate required type name are required.
+ */
public static String duplicateRequiredType;
+
+ /**
+ * A message indicating duplicate super types of a node type definition exist. The parameters of node type definition name and
+ * the duplicate super type name are required.
+ */
public static String duplicateSuperType;
+
+ /**
+ * A message indicating duplicate value constraints of a property definition exist. The parameters of property definition name
+ * and the duplicate value constraint are required.
+ */
public static String duplicateValueConstraint;
+
+ /**
+ * A message indicating the property definition is missing default values. One parameter, the property definition name, is
+ * required.
+ */
public static String emptyDefaultValues;
+
+ /**
+ * A message indicating a name of a property definition, child node definition, or node type definition is missing. One
+ * parameter, the string identifying the name, is required.
+ */
public static String emptyLocalName;
+
+ /**
+ * A message indicating a property definition has an empty query operator. One parameter, the property definition name, is
+ * required.
+ */
public static String emptyQueryOperator;
+
+ /**
+ * A message indicating a property definition is missing query operators. One parameter, the property definition name, is
+ * required.
+ */
public static String emptyQueryOperators;
+
+ /**
+ * A message indicating a child node definition is missing required types. One parameter, the property definition name, is
+ * required.
+ */
public static String emptyRequiredTypes;
+
+ /**
+ * A message indicating a node type definition is missing super types. One parameter, the node type definition name, is
+ * required.
+ */
public static String emptySuperTypes;
+
+ /**
+ * A message indicating a missing value was found. One parameter, a string identifying what the value is, is required.
+ */
public static String emptyValue;
+
+ /**
+ * A message indicating a property definition is missing value constraints. One parameter, the property definition name, is
+ * required.
+ */
public static String emptyValueConstraints;
- public static String errorImportingCndContent;
+
+ /**
+ * A message indicating an invalid value was found. The parameters of property value, property type, and property definition are
+ * required.
+ */
public static String errorValidatingPropertyValueForType;
+
+ /**
+ * A message indicating the parser could not parse the current toke as it was not a namespace mapping or node type definition.
+ * The parameters of parser token value, CND line number, and CND column number are required.
+ */
public static String expectedNamespaceOrNodeDefinition;
- public static String expectedValidQueryOperator;
+
+ /**
+ * A message indicating a <code>find</code> method was called with an invalid value. One parameter, the invalid value, is
+ * required.
+ */
public static String invalidFindRequest;
+
+ /**
+ * A message indicating a <code>findUsingJcrValue</code> method was called with an invalid value. One parameter, the invalid
+ * value, is required.
+ */
public static String invalidFindUsingJcrValueRequest;
+
+ /**
+ * A message indicating a <code>getState</code> method was called with an invalid value. One parameter, the invalid value, is
+ * required.
+ */
public static String invalidGetStateRequest;
+
+ /**
+ * A message indicating an invalid query operator CND notation was found. One parameter, the invalid value, is required.
+ */
public static String invalidQueryOperator;
+
+ /**
+ * A message indicating an invalid property valid was found. The parameters of invalid property value, property type, and
+ * property definition name are required.
+ */
public static String invalidPropertyValueForType;
+
+ /**
+ * A message indicating an invalid URI was found. One parameter, the invalid URI, is required.
+ */
public static String invalidUri;
+
+ /**
+ * A message indicating a name equal to parent or self was found. One parameter, a string identifying the name, is required.
+ */
public static String localNameEqualToSelfOrParent;
+
+ /**
+ * A message indicating a with invalid characters was found. One parameter, a string identifying the name, is required.
+ */
public static String localNameHasInvalidCharacters;
+
+ /**
+ * A message used for a name when the name is <code>null</code> or empty.
+ */
public static String missingName;
+
+ /**
+ * A message indicating multiple default values were found for a single-valued property definition. One parameter, the property
+ * definition name, is required.
+ */
public static String multipleDefaultValuesForSingleValuedProperty;
+
+ /**
+ * A message indicating the <code>MULTIPLE</code> keyword was found in the CND in a place that is not valid for JCR 2.0. The
+ * parameters of CND line number and CND column number are required.
+ */
public static String multipleKeywordNotValidInJcr2CndFormat;
+
+ /**
+ * A message used for the namespace prefix attribute.
+ */
public static String namespacePrefix;
+
+ /**
+ * A message used for the namespace URI attribute.
+ */
public static String namespaceUri;
+
+ /**
+ * A message indicating a node type definition does not have any property definitions or child node definitions. One parameter,
+ * the node type definition name, is required.
+ */
public static String nodeTypeDefinitionHasNoPropertyDefinitionsOrChildNodeDefinitions;
+
+ /**
+ * A message used for the node type definition name property.
+ */
public static String nodeTypeDefinitionName;
+
+ /**
+ * A message indicating no errors, warnings, or info validation messages were found.
+ */
public static String okValidationMsg;
+
+ /**
+ * A message indicating a <code>null</code> was found. One parameter, a string identifying the object, is required.
+ */
public static String objectIsNull;
+
+ /**
+ * A message indicating a node type definition has a primary item but has been marked as a variant. One parameter, the node type
+ * definition name, is required.
+ */
public static String primaryItemExistsButMarkedAsVariant;
+
+ /**
+ * A message used for the primary item name attribute.
+ */
public static String primaryItemName;
+
+ /**
+ * A message indicating the <code>PRIMARY</code> keyword was found in the CND in a place that is not valid for JCR 2.0. The
+ * parameters of CND line number and CND column number are required.
+ */
public static String primaryKeywordNotValidInJcr2CndFormat;
+
+ /**
+ * A message used for the property definition name attribute.
+ */
public static String propertyDefinitionName;
+
+ /**
+ * A message indicating a property definition has identified supported query operators but has been marked as a variant. One
+ * parameter, the property definition name, is required.
+ */
public static String queryOperatorsExistButMarkedAsVariant;
+
+ /**
+ * A message used for the required type name property.
+ */
public static String requiredTypeName;
+
+ /**
+ * A message indicating a child node definition has identified supported required types but has been marked as a variant. One
+ * parameter, the child node definition name, is required.
+ */
public static String requiredTypesExistButMarkedAsVariant;
+
+ /**
+ * A message indicating a <code>null</code> or empty string was found. One parameter, a name identifying the string, is
+ * required.
+ */
public static String stringIsEmpty;
+
+ /**
+ * A message used for the required type name attribute.
+ */
public static String superTypeName;
+
+ /**
+ * A message indicating a node type definition has super types but has been marked as a variant. One parameter, the node type
+ * definition name, is required.
+ */
public static String superTypesExistButMarkedAsVariant;
+
+ /**
+ * A message indicating a property definition has identified value constraints but has been marked as a variant. One parameter,
+ * the property definition name, is required.
+ */
public static String valueConstraintsExistButMarkedAsVariant;
+
+ /**
+ * A message indicating a parser error occured processing a vendor block. The parameters or CND line number and CND column are
+ * required.
+ */
public static String vendorBlockWasNotClosed;
static {
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/MultiValidationStatus.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/MultiValidationStatus.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/MultiValidationStatus.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -11,7 +11,7 @@
import java.util.List;
/**
- *
+ * A validation status that can contain other statuses.
*/
public class MultiValidationStatus extends ValidationStatus {
@@ -19,15 +19,24 @@
private ValidationStatus primary = null;
+ /**
+ * Constructs an OK status.
+ */
public MultiValidationStatus() {
super(Severity.OK, Messages.okValidationMsg);
}
- public MultiValidationStatus( ValidationStatus status ) {
+ /**
+ * @param status the status used to construct (cannot be <code>null</code>)
+ */
+ public MultiValidationStatus( final ValidationStatus status ) {
super(status.getSeverity(), status.getMessage());
}
- public void add( ValidationStatus statusBeingAdded ) {
+ /**
+ * @param statusBeingAdded the status being added (cannot be <code>null</code>)
+ */
+ public void add( final ValidationStatus statusBeingAdded ) {
this.errors.add(statusBeingAdded);
if ((this.primary == null) || statusBeingAdded.getSeverity().isMoreSevere(getSeverity())) {
@@ -37,6 +46,9 @@
}
}
+ /**
+ * @return a collection of all contained statuses (never <code>null</code>)
+ */
public List<ValidationStatus> getAll() {
return this.errors;
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Utils.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Utils.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/Utils.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -18,16 +18,29 @@
*/
public final class Utils {
+ /**
+ * An empty string constant.
+ */
public static final String EMPTY_STRING = ""; //$NON-NLS-1$
+ /**
+ * And empty string array.
+ */
public static final String[] EMPTY_STRING_ARRAY = new String[0];
- public static boolean build( StringBuilder builder,
- boolean addDelimiter,
- String delimiter,
- String text ) {
+ /**
+ * @param builder the builder where the text will be appended (cannot be <code>null</code>)
+ * @param addDelimiter the flag indicating if a delimiter should be added
+ * @param delimiter the delimiter string added before the text if there is text (can be <code>null</code> or empty)
+ * @param text the text being appended (can be <code>null</code> or empty
+ * @return <code>true</code> if text was appened
+ */
+ public static boolean build( final StringBuilder builder,
+ final boolean addDelimiter,
+ final String delimiter,
+ final String text ) {
if (!Utils.isEmpty(text)) {
- if (addDelimiter) {
+ if (addDelimiter && !Utils.isEmpty(delimiter)) {
builder.append(delimiter);
}
@@ -38,8 +51,13 @@
return false;
}
- public static boolean equals( Object thisObject,
- Object thatObject ) {
+ /**
+ * @param thisObject the object being compared to the second object (can be <code>null</code>)
+ * @param thatObject the object being compared with the first object (can be <code>null</code>)
+ * @return <code>true</code> if both objects are <code>null</code> or are equal
+ */
+ public static boolean equals( final Object thisObject,
+ final Object thatObject ) {
if (thisObject == null) {
return (thatObject == null);
}
@@ -51,8 +69,13 @@
return thisObject.equals(thatObject);
}
- public static boolean equivalent( Collection<?> thisCollection,
- Collection<?> thatCollection ) {
+ /**
+ * @param thisCollection the collection being compared to the second collection (can be <code>null</code>)
+ * @param thatCollection the collection being compared to the first collection (can be <code>null</code>)
+ * @return <code>true</code> if both collections are <code>null</code>, both are empty, or both contain the same items
+ */
+ public static boolean equivalent( final Collection<?> thisCollection,
+ final Collection<?> thatCollection ) {
if (isEmpty(thisCollection)) {
return isEmpty(thatCollection);
}
@@ -68,8 +91,13 @@
return thisCollection.containsAll(thatCollection);
}
- public static boolean equivalent( String thisString,
- String thatString ) {
+ /**
+ * @param thisString the string being compared with the second string (can be <code>null</code> or empty)
+ * @param thatString the string being compared with the first string (can be <code>null</code> or empty)
+ * @return <code>true</code> if both are <code>null</code> or empty, or they are equal
+ */
+ public static boolean equivalent( final String thisString,
+ final String thatString ) {
if (isEmpty(thisString)) {
return isEmpty(thatString);
}
@@ -81,49 +109,83 @@
return thisString.equals(thatString);
}
- public static final int hashCode( Object... x ) {
+ /**
+ * @param x the objects used to construct the hashcode (can contain <code>null</code> objects)
+ * @return the hashcode
+ */
+ public static final int hashCode( final Object... x ) {
return HashCode.compute(x);
}
- public static boolean isEmpty( Object[] items ) {
- return ((items == null) || (items.length == 0));
+ /**
+ * @param items the collection being checked (can be <code>null</code> or empty)
+ * @return <code>true</code> if <code>null</code> or empty
+ */
+ public static boolean isEmpty( final Collection<?> items ) {
+ return ((items == null) || items.isEmpty());
}
- public static boolean isEmpty( Collection<?> items ) {
- return ((items == null) || items.isEmpty());
+ /**
+ * @param items the array being checked (can be <code>null</code> or empty)
+ * @return <code>true</code> if <code>null</code> or empty
+ */
+ public static boolean isEmpty( final Object[] items ) {
+ return ((items == null) || (items.length == 0));
}
- public static boolean isEmpty( String text ) {
+ /**
+ * @param text the string being checked (can be <code>null</code> or empty)
+ * @return <code>true</code> if <code>null</code> or empty
+ */
+ public static boolean isEmpty( final String text ) {
return ((text == null) || text.isEmpty());
}
- public static void isNotNull( Object objectBeingChecked,
+ /**
+ * @param object the object being checked (can be <code>null</code>)
+ * @param name the name of the object to use in the error message (cannot be <code>null</code>)
+ * @throws IllegalArgumentException if the object is <code>null</code>
+ */
+ public static void isNotNull( final Object object,
String name ) {
- assert ((name != null) && !name.isEmpty()) : "name is null"; //$NON-NLS-1$
+ if ((name == null) || name.isEmpty()) {
+ name = Utils.EMPTY_STRING;
+ }
- if (objectBeingChecked == null) {
+ if (object == null) {
throw new IllegalArgumentException(NLS.bind(Messages.objectIsNull, name));
}
}
- public static String[] toUpperCase(String[] items) {
+ /**
+ * @param items the items being upper-cased (cannot be <code>null</code>)
+ * @return a new collection of upper-cased items
+ */
+ public static String[] toUpperCase( final String[] items ) {
Utils.isNotNull(items, "items"); //$NON-NLS-1$
- String result[] = new String[items.length];
+ final String result[] = new String[items.length];
int i = 0;
- for (String item : items) {
+ for (final String item : items) {
result[i++] = item.toUpperCase();
}
return result;
}
- public static void verifyIsNotEmpty( String objectBeingChecked,
+ /**
+ * @param text the string being checked (can be <code>null</code> or empty)
+ * @param name the name of the object to use in the error message (cannot be <code>null</code>)
+ * @throws IllegalArgumentException if the text is <code>null</code> or empty
+ */
+ public static void verifyIsNotEmpty( final String text,
String name ) {
- assert ((name != null) && !name.isEmpty()) : "name is null"; //$NON-NLS-1$
+ if ((name == null) || name.isEmpty()) {
+ name = Utils.EMPTY_STRING;
+ }
- if (isEmpty(objectBeingChecked)) {
+ if (isEmpty(text)) {
throw new IllegalArgumentException(NLS.bind(Messages.stringIsEmpty, name));
}
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/ValidationStatus.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/ValidationStatus.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/ValidationStatus.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -12,30 +12,6 @@
*/
public class ValidationStatus implements Comparable<ValidationStatus> {
- public enum Severity {
- ERROR,
- INFO,
- OK,
- WARNING;
-
- public boolean isMoreSevere( Severity that ) {
- if ((this == that) || (this == WARNING)) {
- return false;
- }
-
- if (this == ERROR) {
- return true;
- }
-
- if (this == INFO) {
- return (that == OK);
- }
-
- // this == OK
- return (that == WARNING);
- }
- }
-
/**
* An OK validation status with a standard, localized message.
*/
@@ -73,15 +49,26 @@
return new ValidationStatus(Severity.WARNING, message);
}
+ /**
+ * The localized message which can be displayed to the user (never <code>null</code>).
+ */
protected String message;
+
+ /**
+ * The status severity (never <code>null</code>).
+ */
protected Severity severity;
- protected ValidationStatus( Severity type,
+ /**
+ * @param severity the status severity (cannot be <code>null</code>)
+ * @param message the status localized user message (cannot be <code>null</code>)
+ */
+ protected ValidationStatus( Severity severity,
String message ) {
- assert (type != null) : "severity is null"; //$NON-NLS-1$
+ assert (severity != null) : "severity is null"; //$NON-NLS-1$
Utils.verifyIsNotEmpty(message, "message"); //$NON-NLS-1$
- this.severity = type;
+ this.severity = severity;
this.message = message;
}
@@ -151,6 +138,9 @@
return this.message;
}
+ /**
+ * @return the status severity (never <code>null</code>)
+ */
protected Severity getSeverity() {
return this.severity;
}
@@ -183,4 +173,53 @@
return (Severity.WARNING == this.severity);
}
+ /**
+ * The validation status severity.
+ */
+ public enum Severity {
+
+ /**
+ * Indicates the status is an error.
+ */
+ ERROR,
+
+ /**
+ * Indicates the status is an info.
+ */
+ INFO,
+
+ /**
+ * Indicates the status is a OK.
+ */
+ OK,
+
+ /**
+ * Indicates the status is a warning.
+ */
+ WARNING;
+
+ /**
+ * @param that the validation being compared (cannot be <code>null</code>)
+ * @return <code>true</code> if this status more severe
+ */
+ public boolean isMoreSevere( Severity that ) {
+ Utils.isNotNull(that, "that"); //$NON-NLS-1$
+
+ if ((this == that) || (this == WARNING)) {
+ return false;
+ }
+
+ if (this == ERROR) {
+ return true;
+ }
+
+ if (this == INFO) {
+ return (that == OK);
+ }
+
+ // this == OK
+ return (that == WARNING);
+ }
+ }
+
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndElement.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndElement.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndElement.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -8,23 +8,34 @@
package org.jboss.tools.modeshape.jcr.cnd;
/**
- *
+ * An element that can be found in a CND file.
*/
public interface CndElement {
- char DELIMITER = ' ';
-
- String LIST_DELIMITER = ", "; //$NON-NLS-1$
-
/**
* @param notationType the notation type (cannot be <code>null</code>)
* @return the CND notation (<code>null</code> or empty if the element is incomplete)
*/
String toCndNotation( NotationType notationType );
+ /**
+ * The type of CND notation to use.
+ */
enum NotationType {
+
+ /**
+ * The shortest form.
+ */
COMPACT,
+
+ /**
+ * An intermediate-sized form.
+ */
COMPRESSED,
+
+ /**
+ * The longest form.
+ */
LONG;
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndImporter.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndImporter.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndImporter.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -54,43 +54,51 @@
* instances.
*/
@NotThreadSafe
-public class CndImporter {
+public final class CndImporter {
- protected final boolean jcr170;
+ private final boolean jcr170;
+ /**
+ * Constructs an importer that is not JCR 170 compatible.
+ */
public CndImporter() {
this.jcr170 = false;
}
- public CndImporter( boolean compatibleWithPreJcr2 ) {
+ /**
+ * @param compatibleWithPreJcr2 indicates if the importer should be compatible with pre JCR 2 CND notation
+ */
+ public CndImporter( final boolean compatibleWithPreJcr2 ) {
this.jcr170 = compatibleWithPreJcr2;
}
/**
* Import the CND content from the supplied stream, placing the content into the importer's destination.
*
- * @param stream the stream containing the CND content
+ * @param file the file containing the CND content
* @param problems where any problems encountered during import should be reported
- * @param resourceName a logical name for the resource name to be used when reporting problems; may be null if there is no
- * useful name
+ * @return the CND (never <code>null</code>)
* @throws IOException if there is a problem reading from the supplied stream
*/
- public CompactNodeTypeDefinition importFrom( InputStream stream,
- Collection<Throwable> problems,
- String resourceName ) throws IOException {
- return importFrom(IoUtil.read(stream), problems, resourceName);
+ public CompactNodeTypeDefinition importFrom( final File file,
+ final Collection<Throwable> problems ) throws IOException {
+ return importFrom(IoUtil.read(file), problems, file.getCanonicalPath());
}
/**
* Import the CND content from the supplied stream, placing the content into the importer's destination.
*
- * @param file the file containing the CND content
+ * @param stream the stream containing the CND content
* @param problems where any problems encountered during import should be reported
+ * @param resourceName a logical name for the resource name to be used when reporting problems; may be null if there is no
+ * useful name
+ * @return the CND (never <code>null</code>)
* @throws IOException if there is a problem reading from the supplied stream
*/
- public CompactNodeTypeDefinition importFrom( File file,
- Collection<Throwable> problems ) throws IOException {
- return importFrom(IoUtil.read(file), problems, file.getCanonicalPath());
+ public CompactNodeTypeDefinition importFrom( final InputStream stream,
+ final Collection<Throwable> problems,
+ final String resourceName ) throws IOException {
+ return importFrom(IoUtil.read(stream), problems, resourceName);
}
/**
@@ -100,13 +108,14 @@
* @param problems where any problems encountered during import should be reported
* @param resourceName a logical name for the resource name to be used when reporting problems; may be null if there is no
* useful name
+ * @return the CND (never <code>null</code>)
*/
- public CompactNodeTypeDefinition importFrom( String content,
- Collection<Throwable> problems,
- String resourceName ) {
+ public CompactNodeTypeDefinition importFrom( final String content,
+ final Collection<Throwable> problems,
+ final String resourceName ) {
try {
return parse(content);
- } catch (RuntimeException e) {
+ } catch (final RuntimeException e) {
problems.add(e);
}
@@ -117,14 +126,15 @@
* Parse the CND content.
*
* @param content the content (cannot be <code>null</code>)
+ * @return the CND (never <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- public CompactNodeTypeDefinition parse( String content ) {
+ public CompactNodeTypeDefinition parse( final String content ) {
Utils.isNotNull(content, "content is null"); //$NON-NLS-1$
- CompactNodeTypeDefinition cnd = new CompactNodeTypeDefinition();
- Tokenizer tokenizer = new CndTokenizer(false, true);
- TokenStream tokens = new TokenStream(content, tokenizer, false);
+ final CompactNodeTypeDefinition cnd = new CompactNodeTypeDefinition();
+ final Tokenizer tokenizer = new CndTokenizer(false, false);
+ final TokenStream tokens = new TokenStream(content, tokenizer, false);
tokens.start();
while (tokens.hasNext()) {
@@ -136,8 +146,8 @@
NodeTypeDefinition.NAME_NOTATION_SUFFIX)) {
parseNodeTypeDefinition(tokens, cnd);
} else {
- Position position = tokens.previousPosition();
- Object[] args = new Object[] { tokens.consume(), position.getLine(), position.getColumn() };
+ final Position position = tokens.previousPosition();
+ final Object[] args = new Object[] { tokens.consume(), position.getLine(), position.getColumn() };
throw new ParsingException(position, NLS.bind(Messages.expectedNamespaceOrNodeDefinition, args));
}
}
@@ -146,149 +156,239 @@
}
/**
- * Parse the namespace mapping statement that is next on the token stream.
+ * Parse a node type's child node definition from the next tokens on the stream.
*
- * @param tokens the tokens containing the namespace statement (cannot be <code>null</code>)
- * @param cnd the CND object representing the CND file being parsed (cannot be <code>null</code>)
+ * @param tokens the tokens containing the definition (cannot be <code>null</code>)
+ * @param nodeTypeDefn the node type being created (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseNamespaceMapping( TokenStream tokens,
- CompactNodeTypeDefinition cnd ) {
+ private void parseChildNodeDefinition( final TokenStream tokens,
+ final NodeTypeDefinition nodeTypeDefn ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (cnd != null) : "cnd is null"; //$NON-NLS-1$
+ assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
- tokens.consume(NamespaceMapping.NOTATION_PREFIX);
- String prefix = removeQuotes(tokens.consume());
+ tokens.consume(ChildNodeDefinition.NOTATION_PREFIX);
+ final ChildNodeDefinition childNodeDefn = new ChildNodeDefinition();
- tokens.consume(NamespaceMapping.NOTATION_DELIMITER);
- String uri = removeQuotes(tokens.consume());
+ // name
+ final String name = parseName(tokens);
- tokens.consume(NamespaceMapping.NOTATION_SUFFIX);
- cnd.addNamespaceMapping(new NamespaceMapping(prefix, uri));
+ if (!Utils.isEmpty(name)) {
+ childNodeDefn.setName(name);
+ }
+
+ // required types
+ parseRequiredPrimaryTypes(tokens, childNodeDefn);
+
+ // default types
+ parseDefaultType(tokens, childNodeDefn.getDefaultType());
+
+ // attributes
+ parseNodeAttributes(tokens, nodeTypeDefn, childNodeDefn);
+
+ // add child node definition
+ nodeTypeDefn.addChildNodeDefinition(childNodeDefn);
}
/**
- * Parse the node type definition that is next on the token stream.
+ * Parse the child node definition's default type, if they appear next on the token stream.
*
- * @param tokens the tokens containing the node type definition (cannot be <code>null</code>)
- * @param cnd the CND object representing the CND file being parsed (cannot be <code>null</code>)
+ * @param tokens the tokens containing the definition (cannot be <code>null</code>)
+ * @param defaultType the default type (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseNodeTypeDefinition( TokenStream tokens,
- CompactNodeTypeDefinition cnd ) {
+ private void parseDefaultType( final TokenStream tokens,
+ final DefaultType defaultType ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (cnd != null) : "cnd is null"; //$NON-NLS-1$
+ assert (defaultType != null) : "defaultType is null"; //$NON-NLS-1$
- NodeTypeDefinition nodeType = new NodeTypeDefinition();
+ if (tokens.canConsume(DefaultType.NOTATION)) {
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ defaultType.set(Value.VARIANT);
+ } else {
+ final String typeName = parseName(tokens);
- // name
- String name = parseNodeTypeName(tokens);
-
- if (!Utils.isEmpty(name)) {
- nodeType.setName(name);
- }
-
- // supertypes
- List<String> superTypes = parseSupertypes(tokens);
-
- if (!superTypes.isEmpty()) {
- for (String superType : superTypes) {
- nodeType.addSuperType(superType);
+ if (!Utils.isEmpty(typeName)) {
+ defaultType.setDefaultType(typeName);
+ }
}
}
- // Read the node type options (and vendor extensions) ...
- parseNodeTypeAttributes(tokens, nodeType);
-
- // Parse property and child node definitions ...
- parsePropertyOrChildNodeDefinitions(tokens, nodeType);
-
- cnd.addNodeTypeDefinition(nodeType);
}
/**
- * Parse a node type name that appears next on the token stream.
+ * Parse the property definition's default values, if they appear next on the token stream.
*
- * @param tokens the tokens containing the node type name (cannot be <code>null</code>)
- * @return the node type name
+ * @param tokens the tokens containing the definition (cannot be <code>null</code>)
+ * @param propDefn the property definition whose default values are being parsed (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private String parseNodeTypeName( TokenStream tokens ) {
+ private void parseDefaultValues( final TokenStream tokens,
+ final PropertyDefinition propDefn ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
- tokens.consume(NodeTypeDefinition.NAME_NOTATION_PREFIX);
- String name = parseName(tokens);
- tokens.consume(NodeTypeDefinition.NAME_NOTATION_SUFFIX);
- return name;
+ if (tokens.canConsume(DefaultValues.NOTATION_PREFIX)) {
+ final List<String> values = parseStringList(tokens);
+
+ if (!values.isEmpty()) {
+ if ((values.size() == 1) && AttributeState.VARIANT_STRING.equals(values.get(0))) {
+ propDefn.changeState(PropertyDefinition.PropertyName.DEFAULT_VALUES, Value.VARIANT);
+ } else {
+ for (final String value : values) {
+ propDefn.addDefaultValue(value);
+ }
+ }
+ }
+ }
}
/**
- * Parse an optional list of supertypes if they appear next on the token stream.
+ * Parse the name that is expected to be next on the token stream.
*
- * @param tokens the tokens containing the supertype names (cannot be <code>null</code>)
- * @return the list of supertype names (cannot be <code>null</code> but can be empty)
+ * @param tokens the tokens containing the name (cannot be <code>null</code>)
+ * @return the name (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private List<String> parseSupertypes( TokenStream tokens ) {
- assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
-
- if (tokens.canConsume(SuperTypes.NOTATION_PREFIX)) {
- // There is at least one supertype ...
- return parseNameList(tokens);
- }
-
- return Collections.emptyList();
+ private String parseName( final TokenStream tokens ) {
+ final String value = tokens.consume();
+ return removeQuotes(value);
}
/**
- * Parse a list of strings, separated by commas. Any quotes surrounding the strings are removed.
+ * Parse a list of names, separated by commas. Any quotes surrounding the names are removed.
*
* @param tokens the tokens containing the comma-separated strings (cannot be <code>null</code>)
* @return the list of string values (cannot be <code>null</code> but can be empty)
* @throws ParsingException if there is a problem parsing the content
*/
- private List<String> parseStringList( TokenStream tokens ) {
+ private List<String> parseNameList( final TokenStream tokens ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- List<String> strings = new ArrayList<String>();
+ final List<String> names = new ArrayList<String>();
if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- // This list is variant ...
- strings.add(AttributeState.VARIANT_STRING);
+ names.add(AttributeState.VARIANT_STRING);
} else {
// Read names until we see a ','
do {
- strings.add(removeQuotes(tokens.consume()));
+ names.add(parseName(tokens));
} while (tokens.canConsume(','));
}
- return strings;
+ return names;
}
/**
- * Parse a list of names, separated by commas. Any quotes surrounding the names are removed.
+ * Parse the namespace mapping statement that is next on the token stream.
*
- * @param tokens the tokens containing the comma-separated strings (cannot be <code>null</code>)
- * @return the list of string values (cannot be <code>null</code> but can be empty)
+ * @param tokens the tokens containing the namespace statement (cannot be <code>null</code>)
+ * @param cnd the CND object representing the CND file being parsed (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private List<String> parseNameList( TokenStream tokens ) {
+ private void parseNamespaceMapping( final TokenStream tokens,
+ final CompactNodeTypeDefinition cnd ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (cnd != null) : "cnd is null"; //$NON-NLS-1$
- List<String> names = new ArrayList<String>();
+ tokens.consume(NamespaceMapping.NOTATION_PREFIX);
+ final String prefix = removeQuotes(tokens.consume());
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- names.add(AttributeState.VARIANT_STRING);
- } else {
- // Read names until we see a ','
- do {
- names.add(parseName(tokens));
- } while (tokens.canConsume(','));
- }
+ tokens.consume(NamespaceMapping.NOTATION_DELIMITER);
+ final String uri = removeQuotes(tokens.consume());
- return names;
+ tokens.consume(NamespaceMapping.NOTATION_SUFFIX);
+ cnd.addNamespaceMapping(new NamespaceMapping(prefix, uri));
}
/**
+ * Parse the child node definition's attributes, if they appear next on the token stream.
+ *
+ * @param tokens the tokens containing the attributes (cannot be <code>null</code>)
+ * @param nodeTypeDefn the node type being created (cannot be <code>null</code>)
+ * @param childNodeDefn the child node definition (cannot be <code>null</code>)
+ * @throws ParsingException if there is a problem parsing the content
+ */
+ private void parseNodeAttributes( final TokenStream tokens,
+ final NodeTypeDefinition nodeTypeDefn,
+ final ChildNodeDefinition childNodeDefn ) {
+ assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
+ assert (childNodeDefn != null) : "childNodeDefn is null"; //$NON-NLS-1$
+
+ while (true) {
+ if (tokens.canConsumeAnyOf(Autocreated.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
+ Autocreated.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
+ Autocreated.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.AUTOCREATED, Value.VARIANT);
+ } else {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.AUTOCREATED, Value.IS);
+ }
+ } else if (tokens.canConsumeAnyOf(Mandatory.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
+ Mandatory.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
+ Mandatory.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.MANDATORY, Value.VARIANT);
+ } else {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.MANDATORY, Value.IS);
+ }
+ } else if (tokens.canConsumeAnyOf(Protected.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
+ Protected.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
+ Protected.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.PROTECTED, Value.VARIANT);
+ } else {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.PROTECTED, Value.IS);
+ }
+ } else if (tokens.canConsumeAnyOf(SameNameSiblings.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
+ SameNameSiblings.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
+ SameNameSiblings.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.VARIANT);
+ } else {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.IS);
+ }
+ } else if (tokens.canConsumeAnyOf("MULTIPLE", "MUL", "*")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ // these keywords are no longer node attributes in JCR 2.0
+ if (!this.jcr170) {
+ final Position pos = tokens.previousPosition();
+ final int line = pos.getLine();
+ final int column = pos.getColumn();
+ throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.multipleKeywordNotValidInJcr2CndFormat,
+ line, column));
+ }
+
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.VARIANT);
+ } else {
+ childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.IS);
+ }
+ } else if (tokens.matchesAnyOf(Utils.toUpperCase(OnParentVersion.toArray()))) {
+ final String opv = tokens.consume();
+ childNodeDefn.setOnParentVersion(opv);
+ } else if (tokens.canConsumeAnyOf("PRIMARYITEM", "PRIMARY", "PRI", "!")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ if (!this.jcr170) {
+ final Position pos = tokens.previousPosition();
+ final int line = pos.getLine();
+ final int column = pos.getColumn();
+ throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.primaryKeywordNotValidInJcr2CndFormat,
+ line, column));
+ }
+
+ // Then this child node is considered the primary item ...
+ nodeTypeDefn.setPrimaryItemName(childNodeDefn.getName());
+ } else if (tokens.canConsumeAnyOf(PrimaryItem.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
+ PrimaryItem.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
+ PrimaryItem.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
+ // Then this child node is considered the primary item ...
+ nodeTypeDefn.setPrimaryItemName(childNodeDefn.getName());
+ } else {
+ break;
+ }
+ }
+ }
+
+ /**
* Parse the options for the node types, including whether the node type is orderable, a mixin, abstract, whether it supports
* querying, and which property/child node (if any) is the primary item for the node type.
*
@@ -296,8 +396,8 @@
* @param nodeTypeDefn the node type being created; may not be null
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseNodeTypeAttributes( TokenStream tokens,
- NodeTypeDefinition nodeTypeDefn ) {
+ private void parseNodeTypeAttributes( final TokenStream tokens,
+ final NodeTypeDefinition nodeTypeDefn ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
@@ -352,142 +452,57 @@
}
/**
- * Parse a node type's property or child node definitions that appear next on the token stream.
+ * Parse the node type definition that is next on the token stream.
*
- * @param tokens the tokens containing the definitions (cannot be <code>null</code>)
- * @param nodeTypeDefn the node type being created (cannot be <code>null</code>)
+ * @param tokens the tokens containing the node type definition (cannot be <code>null</code>)
+ * @param cnd the CND object representing the CND file being parsed (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parsePropertyOrChildNodeDefinitions( TokenStream tokens,
- NodeTypeDefinition nodeTypeDefn ) {
+ private void parseNodeTypeDefinition( final TokenStream tokens,
+ final CompactNodeTypeDefinition cnd ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
+ assert (cnd != null) : "cnd is null"; //$NON-NLS-1$
- while (true) {
- // Keep reading while we see a property definition or child node definition ...
- if (tokens.matches(PropertyDefinition.NOTATION_PREFIX)) {
- parsePropertyDefinition(tokens, nodeTypeDefn);
- } else if (tokens.matches(ChildNodeDefinition.NOTATION_PREFIX)) {
- parseChildNodeDefinition(tokens, nodeTypeDefn);
- } else {
- // The next token does not signal either one of these, so stop ...
- break;
- }
- }
- }
+ final NodeTypeDefinition nodeType = new NodeTypeDefinition();
- /**
- * Parse a node type's property definition from the next tokens on the stream.
- *
- * @param tokens the tokens containing the definition (cannot be <code>null</code>)
- * @param nodeTypeDefn the node type definition (cannot be <code>null</code>)
- * @throws ParsingException if there is a problem parsing the content
- */
- private void parsePropertyDefinition( TokenStream tokens,
- NodeTypeDefinition nodeTypeDefn ) {
- assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
-
- tokens.consume(PropertyDefinition.NOTATION_PREFIX);
- PropertyDefinition propDefn = new PropertyDefinition();
-
// name
- String name = parseName(tokens);
+ final String name = parseNodeTypeName(tokens);
if (!Utils.isEmpty(name)) {
- propDefn.setName(name);
+ nodeType.setName(name);
}
- // required type
- parsePropertyType(tokens, propDefn);
+ // supertypes
+ final List<String> superTypes = parseSupertypes(tokens);
- // Parse the default values ...
- parseDefaultValues(tokens, propDefn);
-
- // Parse the property attributes (and vendor extensions) ...
- parsePropertyAttributes(tokens, nodeTypeDefn, propDefn);
-
- // Parse the property constraints ...
- parseValueConstraints(tokens, propDefn);
-
- nodeTypeDefn.addPropertyDefinition(propDefn);
- }
-
- /**
- * Parse the property type, if a valid one appears next on the token stream.
- *
- * @param tokens the tokens containing the definition (cannot be <code>null</code>)
- * @param propDefn the property definition (cannot be <code>null</code>)
- * @throws ParsingException if there is a problem parsing the content
- */
- private void parsePropertyType( TokenStream tokens,
- PropertyDefinition propDefn ) {
- assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
-
- if (tokens.canConsume(PropertyType.NOTATION_PREFIX)) {
- // Parse the (optional) property type ...
- if (tokens.matchesAnyOf(Utils.toUpperCase(PropertyType.validValues()))) {
- String propertyType = tokens.consume();
- propDefn.setType(PropertyType.find(propertyType));
+ if (!superTypes.isEmpty()) {
+ for (final String superType : superTypes) {
+ nodeType.addSuperType(superType);
}
-
- tokens.consume(PropertyType.NOTATION_SUFFIX);
}
- }
+ // Read the node type options (and vendor extensions) ...
+ parseNodeTypeAttributes(tokens, nodeType);
- /**
- * Parse the property definition's default values, if they appear next on the token stream.
- *
- * @param tokens the tokens containing the definition (cannot be <code>null</code>)
- * @param propDefn the property definition whose default values are being parsed (cannot be <code>null</code>)
- * @throws ParsingException if there is a problem parsing the content
- */
- private void parseDefaultValues( TokenStream tokens,
- PropertyDefinition propDefn ) {
- assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
+ // Parse property and child node definitions ...
+ parsePropertyOrChildNodeDefinitions(tokens, nodeType);
- if (tokens.canConsume(DefaultValues.NOTATION_PREFIX)) {
- List<String> values = parseStringList(tokens);
-
- if (!values.isEmpty()) {
- if ((values.size() == 1) && AttributeState.VARIANT_STRING.equals(values.get(0))) {
- propDefn.changeState(PropertyDefinition.PropertyName.DEFAULT_VALUES, Value.VARIANT);
- } else {
- for (String value : values) {
- propDefn.addDefaultValue(value);
- }
- }
- }
- }
+ cnd.addNodeTypeDefinition(nodeType);
}
/**
- * Parse the property definition's value constraints, if they appear next on the token stream.
+ * Parse a node type name that appears next on the token stream.
*
- * @param tokens the tokens containing the definition (cannot be <code>null</code>)
- * @param propDefn the property definition whose value constraints are being parsed (cannot be <code>null</code>)
+ * @param tokens the tokens containing the node type name (cannot be <code>null</code>)
+ * @return the node type name
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseValueConstraints( TokenStream tokens,
- PropertyDefinition propDefn ) {
+ private String parseNodeTypeName( final TokenStream tokens ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
- if (tokens.canConsume(ValueConstraints.NOTATION_PREFIX)) {
- List<String> constraints = parseStringList(tokens);
-
- if (!constraints.isEmpty()) {
- if ((constraints.size() == 1) && AttributeState.VARIANT_STRING.equals(constraints.get(0))) {
- propDefn.changeState(PropertyDefinition.PropertyName.VALUE_CONSTRAINTS, Value.VARIANT);
- } else {
- for (String constraint : constraints) {
- propDefn.addValueConstraint(constraint);
- }
- }
- }
- }
+ tokens.consume(NodeTypeDefinition.NAME_NOTATION_PREFIX);
+ final String name = parseName(tokens);
+ tokens.consume(NodeTypeDefinition.NAME_NOTATION_SUFFIX);
+ return name;
}
/**
@@ -498,9 +513,9 @@
* @param propDefn the property definition whose attributes are being parsed (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parsePropertyAttributes( TokenStream tokens,
- NodeTypeDefinition nodeTypeDefn,
- PropertyDefinition propDefn ) {
+ private void parsePropertyAttributes( final TokenStream tokens,
+ final NodeTypeDefinition nodeTypeDefn,
+ final PropertyDefinition propDefn ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
@@ -538,7 +553,7 @@
propDefn.changeState(PropertyDefinition.PropertyName.MULTIPLE, AttributeState.Value.IS);
}
} else if (tokens.matchesAnyOf(Utils.toUpperCase(OnParentVersion.toArray()))) {
- String opv = tokens.consume();
+ final String opv = tokens.consume();
propDefn.setOnParentVersion(opv);
} else if (tokens.canConsumeAnyOf(NoFullText.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
NoFullText.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
@@ -563,9 +578,9 @@
} else if (tokens.canConsumeAnyOf("PRIMARY", "PRI", "!")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// these keywords are no longer property attributes in JCR 2.0
if (!this.jcr170) {
- Position pos = tokens.previousPosition();
- int line = pos.getLine();
- int column = pos.getColumn();
+ final Position pos = tokens.previousPosition();
+ final int line = pos.getLine();
+ final int column = pos.getColumn();
throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.primaryKeywordNotValidInJcr2CndFormat,
line, column));
}
@@ -579,14 +594,99 @@
}
/**
+ * Parse a node type's property definition from the next tokens on the stream.
+ *
+ * @param tokens the tokens containing the definition (cannot be <code>null</code>)
+ * @param nodeTypeDefn the node type definition (cannot be <code>null</code>)
+ * @throws ParsingException if there is a problem parsing the content
+ */
+ private void parsePropertyDefinition( final TokenStream tokens,
+ final NodeTypeDefinition nodeTypeDefn ) {
+ assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
+
+ tokens.consume(PropertyDefinition.NOTATION_PREFIX);
+ final PropertyDefinition propDefn = new PropertyDefinition();
+
+ // name
+ final String name = parseName(tokens);
+
+ if (!Utils.isEmpty(name)) {
+ propDefn.setName(name);
+ }
+
+ // required type
+ parsePropertyType(tokens, propDefn);
+
+ // Parse the default values ...
+ parseDefaultValues(tokens, propDefn);
+
+ // Parse the property attributes (and vendor extensions) ...
+ parsePropertyAttributes(tokens, nodeTypeDefn, propDefn);
+
+ // Parse the property constraints ...
+ parseValueConstraints(tokens, propDefn);
+
+ nodeTypeDefn.addPropertyDefinition(propDefn);
+ }
+
+ /**
+ * Parse a node type's property or child node definitions that appear next on the token stream.
+ *
+ * @param tokens the tokens containing the definitions (cannot be <code>null</code>)
+ * @param nodeTypeDefn the node type being created (cannot be <code>null</code>)
+ * @throws ParsingException if there is a problem parsing the content
+ */
+ private void parsePropertyOrChildNodeDefinitions( final TokenStream tokens,
+ final NodeTypeDefinition nodeTypeDefn ) {
+ assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
+
+ while (true) {
+ // Keep reading while we see a property definition or child node definition ...
+ if (tokens.matches(PropertyDefinition.NOTATION_PREFIX)) {
+ parsePropertyDefinition(tokens, nodeTypeDefn);
+ } else if (tokens.matches(ChildNodeDefinition.NOTATION_PREFIX)) {
+ parseChildNodeDefinition(tokens, nodeTypeDefn);
+ } else {
+ // The next token does not signal either one of these, so stop ...
+ break;
+ }
+ }
+ }
+
+ /**
+ * Parse the property type, if a valid one appears next on the token stream.
+ *
+ * @param tokens the tokens containing the definition (cannot be <code>null</code>)
+ * @param propDefn the property definition (cannot be <code>null</code>)
+ * @throws ParsingException if there is a problem parsing the content
+ */
+ private void parsePropertyType( final TokenStream tokens,
+ final PropertyDefinition propDefn ) {
+ assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
+
+ if (tokens.canConsume(PropertyType.NOTATION_PREFIX)) {
+ // Parse the (optional) property type ...
+ if (tokens.matchesAnyOf(Utils.toUpperCase(PropertyType.validValues()))) {
+ final String propertyType = tokens.consume();
+ propDefn.setType(PropertyType.find(propertyType));
+ }
+
+ tokens.consume(PropertyType.NOTATION_SUFFIX);
+ }
+ }
+
+ /**
* Parse the property definition's query operators, if they appear next on the token stream.
*
* @param tokens the tokens containing the definition (cannot be <code>null</code>)
* @param propDefn the property definition whose query operators are being set (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseQueryOperators( TokenStream tokens,
- PropertyDefinition propDefn ) {
+ private void parseQueryOperators( final TokenStream tokens,
+ final PropertyDefinition propDefn ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
@@ -594,17 +694,17 @@
propDefn.changeState(PropertyDefinition.PropertyName.QUERY_OPS, Value.VARIANT);
} else {
// The query operators are expected to be enclosed in a single quote, so therefore will be a single token ...
- String operatorList = removeQuotes(tokens.consume());
- List<String> operators = new ArrayList<String>();
+ final String operatorList = removeQuotes(tokens.consume());
+ final List<String> operators = new ArrayList<String>();
// Now split this string on ',' ...
- for (String operatorValue : operatorList.split(",")) { //$NON-NLS-1$
- QueryOperator operator = QueryOperator.find(operatorValue.trim());
+ for (final String operatorValue : operatorList.split(",")) { //$NON-NLS-1$
+ final QueryOperator operator = QueryOperator.find(operatorValue.trim());
if (operator != null) {
operators.add(operatorValue);
} else {
- throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.expectedValidQueryOperator, operator));
+ throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.invalidQueryOperator, operator));
}
}
@@ -615,60 +715,25 @@
}
/**
- * Parse a node type's child node definition from the next tokens on the stream.
- *
- * @param tokens the tokens containing the definition (cannot be <code>null</code>)
- * @param nodeTypeDefn the node type being created (cannot be <code>null</code>)
- * @throws ParsingException if there is a problem parsing the content
- */
- private void parseChildNodeDefinition( TokenStream tokens,
- NodeTypeDefinition nodeTypeDefn ) {
- assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
-
- tokens.consume(ChildNodeDefinition.NOTATION_PREFIX);
- ChildNodeDefinition childNodeDefn = new ChildNodeDefinition();
-
- // name
- String name = parseName(tokens);
-
- if (!Utils.isEmpty(name)) {
- childNodeDefn.setName(name);
- }
-
- // required types
- parseRequiredPrimaryTypes(tokens, childNodeDefn);
-
- // default types
- parseDefaultType(tokens, childNodeDefn.getDefaultType());
-
- // attributes
- parseNodeAttributes(tokens, nodeTypeDefn, childNodeDefn);
-
- // add child node definition
- nodeTypeDefn.addChildNodeDefinition(childNodeDefn);
- }
-
- /**
* Parse the child node definition's list of required primary types, if they appear next on the token stream.
*
* @param tokens the tokens containing the definition (cannot be <code>null</code>)
* @param childNodeDefn the child node definition (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseRequiredPrimaryTypes( TokenStream tokens,
- ChildNodeDefinition childNodeDefn ) {
+ private void parseRequiredPrimaryTypes( final TokenStream tokens,
+ final ChildNodeDefinition childNodeDefn ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
assert (childNodeDefn != null) : "childNodeDefn is null"; //$NON-NLS-1$
if (tokens.canConsume(RequiredTypes.NOTATION_PREFIX)) {
- List<String> requiredTypeNames = parseNameList(tokens);
+ final List<String> requiredTypeNames = parseNameList(tokens);
if (!requiredTypeNames.isEmpty()) {
if ((requiredTypeNames.size() == 1) && AttributeState.VARIANT_STRING.equals(requiredTypeNames.get(0))) {
childNodeDefn.changeState(ChildNodeDefinition.PropertyName.REQUIRED_TYPES, Value.VARIANT);
} else {
- for (String requiredTypeName : requiredTypeNames) {
+ for (final String requiredTypeName : requiredTypeNames) {
childNodeDefn.addRequiredType(requiredTypeName);
}
}
@@ -679,131 +744,76 @@
}
/**
- * Parse the child node definition's default type, if they appear next on the token stream.
+ * Parse a list of strings, separated by commas. Any quotes surrounding the strings are removed.
*
- * @param tokens the tokens containing the definition (cannot be <code>null</code>)
- * @param defaultType the default type (cannot be <code>null</code>)
+ * @param tokens the tokens containing the comma-separated strings (cannot be <code>null</code>)
+ * @return the list of string values (cannot be <code>null</code> but can be empty)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseDefaultType( TokenStream tokens,
- DefaultType defaultType ) {
+ private List<String> parseStringList( final TokenStream tokens ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (defaultType != null) : "defaultType is null"; //$NON-NLS-1$
- if (tokens.canConsume(DefaultType.NOTATION)) {
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- defaultType.set(Value.VARIANT);
- } else {
- String typeName = parseName(tokens);
+ final List<String> strings = new ArrayList<String>();
- if (!Utils.isEmpty(typeName)) {
- defaultType.setDefaultType(typeName);
- }
- }
+ if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
+ // This list is variant ...
+ strings.add(AttributeState.VARIANT_STRING);
+ } else {
+ // Read names until we see a ','
+ do {
+ strings.add(removeQuotes(tokens.consume()));
+ } while (tokens.canConsume(','));
}
+
+ return strings;
}
/**
- * Parse the child node definition's attributes, if they appear next on the token stream.
+ * Parse an optional list of supertypes if they appear next on the token stream.
*
- * @param tokens the tokens containing the attributes (cannot be <code>null</code>)
- * @param nodeTypeDefn the node type being created (cannot be <code>null</code>)
- * @param childDefn the child node definition (cannot be <code>null</code>)
+ * @param tokens the tokens containing the supertype names (cannot be <code>null</code>)
+ * @return the list of supertype names (cannot be <code>null</code> but can be empty)
* @throws ParsingException if there is a problem parsing the content
*/
- private void parseNodeAttributes( TokenStream tokens,
- NodeTypeDefinition nodeTypeDefn,
- ChildNodeDefinition childNodeDefn ) {
+ private List<String> parseSupertypes( final TokenStream tokens ) {
assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
- assert (nodeTypeDefn != null) : "nodeTypeDefn is null"; //$NON-NLS-1$
- assert (childNodeDefn != null) : "childNodeDefn is null"; //$NON-NLS-1$
- while (true) {
- if (tokens.canConsumeAnyOf(Autocreated.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
- Autocreated.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
- Autocreated.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.AUTOCREATED, Value.VARIANT);
- } else {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.AUTOCREATED, Value.IS);
- }
- } else if (tokens.canConsumeAnyOf(Mandatory.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
- Mandatory.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
- Mandatory.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.MANDATORY, Value.VARIANT);
- } else {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.MANDATORY, Value.IS);
- }
- } else if (tokens.canConsumeAnyOf(Protected.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
- Protected.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
- Protected.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.PROTECTED, Value.VARIANT);
- } else {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.PROTECTED, Value.IS);
- }
- } else if (tokens.canConsumeAnyOf(SameNameSiblings.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
- SameNameSiblings.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
- SameNameSiblings.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.VARIANT);
- } else {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.IS);
- }
- } else if (tokens.canConsumeAnyOf("MULTIPLE", "MUL", "*")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- // these keywords are no longer node attributes in JCR 2.0
- if (!this.jcr170) {
- Position pos = tokens.previousPosition();
- int line = pos.getLine();
- int column = pos.getColumn();
- throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.multipleKeywordNotValidInJcr2CndFormat,
- line, column));
- }
+ if (tokens.canConsume(SuperTypes.NOTATION_PREFIX)) {
+ // There is at least one supertype ...
+ return parseNameList(tokens);
+ }
- if (tokens.canConsume(AttributeState.VARIANT_CHAR)) {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.VARIANT);
- } else {
- childNodeDefn.changeState(ChildNodeDefinition.PropertyName.SAME_NAME_SIBLINGS, Value.IS);
- }
- } else if (tokens.matchesAnyOf(Utils.toUpperCase(OnParentVersion.toArray()))) {
- String opv = tokens.consume();
- childNodeDefn.setOnParentVersion(opv);
- } else if (tokens.canConsumeAnyOf("PRIMARYITEM", "PRIMARY", "PRI", "!")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- if (!this.jcr170) {
- Position pos = tokens.previousPosition();
- int line = pos.getLine();
- int column = pos.getColumn();
- throw new ParsingException(tokens.previousPosition(), NLS.bind(Messages.primaryKeywordNotValidInJcr2CndFormat,
- line, column));
- }
-
- // Then this child node is considered the primary item ...
- nodeTypeDefn.setPrimaryItemName(childNodeDefn.getName());
- } else if (tokens.canConsumeAnyOf(PrimaryItem.NOTATION[NotationType.LONG_INDEX].toUpperCase(),
- PrimaryItem.NOTATION[NotationType.COMPRESSED_INDEX].toUpperCase(),
- PrimaryItem.NOTATION[NotationType.COMPACT_INDEX].toUpperCase())) {
- // Then this child node is considered the primary item ...
- nodeTypeDefn.setPrimaryItemName(childNodeDefn.getName());
- } else {
- break;
- }
- }
+ return Collections.emptyList();
}
/**
- * Parse the name that is expected to be next on the token stream.
+ * Parse the property definition's value constraints, if they appear next on the token stream.
*
- * @param tokens the tokens containing the name (cannot be <code>null</code>)
- * @return the name (cannot be <code>null</code>)
+ * @param tokens the tokens containing the definition (cannot be <code>null</code>)
+ * @param propDefn the property definition whose value constraints are being parsed (cannot be <code>null</code>)
* @throws ParsingException if there is a problem parsing the content
*/
- private String parseName( TokenStream tokens ) {
- String value = tokens.consume();
- return removeQuotes(value);
+ private void parseValueConstraints( final TokenStream tokens,
+ final PropertyDefinition propDefn ) {
+ assert (tokens != null) : "tokens is null"; //$NON-NLS-1$
+ assert (propDefn != null) : "propDefn is null"; //$NON-NLS-1$
+
+ if (tokens.canConsume(ValueConstraints.NOTATION_PREFIX)) {
+ final List<String> constraints = parseStringList(tokens);
+
+ if (!constraints.isEmpty()) {
+ if ((constraints.size() == 1) && AttributeState.VARIANT_STRING.equals(constraints.get(0))) {
+ propDefn.changeState(PropertyDefinition.PropertyName.VALUE_CONSTRAINTS, Value.VARIANT);
+ } else {
+ for (final String constraint : constraints) {
+ propDefn.addValueConstraint(constraint);
+ }
+ }
+ }
+ }
}
- private final String removeQuotes( String text ) {
+ private final String removeQuotes( final String text ) {
// Remove leading and trailing quotes, if there are any ...
return text.replaceFirst("^['\"]+", "").replaceAll("['\"]+$", ""); //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndNotationPreferences.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndNotationPreferences.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndNotationPreferences.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -19,9 +19,17 @@
*/
public class CndNotationPreferences {
+ /**
+ * All preferences used during CND notation construction.
+ */
public enum Preference {
/**
+ * The delimiter between list items.
+ */
+ ATTRIBUTE_LIST_ELEMENT_DELIMITER,
+
+ /**
* The delimiter after the prefix to attribute lists.
*/
ATTRIBUTE_LIST_PREFIX_END_DELIMITER,
@@ -151,6 +159,7 @@
private void loadDefaults( Map<Preference, String> map ) {
assert (map != null) : "preference map is null"; //$NON-NLS-1$
+ map.put(Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER, ", "); //$NON-NLS-1$
map.put(Preference.CHILD_NODE_DEFINITION_DELIMITER, "\n"); //$NON-NLS-1$
map.put(Preference.CHILD_NODE_PROPERTY_DELIMITER, "\n"); //$NON-NLS-1$
map.put(Preference.CHILD_NODE_DEFINITION_SECTION_END_DELIMITER, "\n"); //$NON-NLS-1$
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndTokenizer.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndTokenizer.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndTokenizer.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -56,13 +56,18 @@
*/
public static final int VENDOR_EXTENSION = 7;
- private final boolean useComments;
- private final boolean useVendorExtensions;
+ private final boolean useComments = false;
+ private final boolean useVendorExtensions = false;
+ /**
+ * <strong>Currently comments and vendor extensions are not supported by the framework.</strong>
+ * @param useComments a flag indicating if comments should be used
+ * @param useVendorExtensions a flag indicating if vendor extensions should be used
+ */
public CndTokenizer( boolean useComments,
boolean useVendorExtensions ) {
- this.useComments = useComments;
- this.useVendorExtensions = useVendorExtensions;
+// this.useComments = useComments;
+// this.useVendorExtensions = useVendorExtensions;
}
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndValidator.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndValidator.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/CndValidator.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -23,41 +23,19 @@
import org.jboss.tools.modeshape.jcr.cnd.attributes.QueryOperators.QueryOperator;
/**
- *
+ * Used to validate values stored in a CND.
*/
public final class CndValidator {
- public static ValidationStatus validateUri( String uri,
- String propertyName ) {
- Utils.verifyIsNotEmpty(propertyName, "propertyName"); //$NON-NLS-1$
-
- if (Utils.isEmpty(uri) || uri.contains(" ")) { //$NON-NLS-1$
- return ValidationStatus.createErrorMessage(NLS.bind(Messages.emptyValue, propertyName));
- }
-
- try {
- URI.create(uri);
- } catch (Exception e) {
- return ValidationStatus.createErrorMessage(NLS.bind(Messages.invalidUri, propertyName));
- }
-
- return ValidationStatus.OK_STATUS;
- }
-
- public static void isValid( String value,
- PropertyType propertyType,
- String propertyName,
- MultiValidationStatus status ) {
- ValidationStatus newStatus = isValid(value, propertyType, propertyName);
-
- if (!newStatus.isOk()) {
- status.add(newStatus);
- }
- }
-
- public static ValidationStatus isValid( String value,
- PropertyType propertyType,
- String propertyName ) {
+ /**
+ * @param value the value being checked (can be <code>null</code> or empty)
+ * @param propertyType the property type of the property definition the value is for (cannot be <code>null</code>)
+ * @param propertyName the name to use to identify the property definition (cannot be <code>null</code> empty)
+ * @return the status (never <code>null</code>)
+ */
+ public static ValidationStatus isValid( final String value,
+ final PropertyType propertyType,
+ final String propertyName ) {
Utils.isNotNull(propertyType, "propertyType"); //$NON-NLS-1$
if (Utils.isEmpty(value)) {
@@ -79,28 +57,28 @@
} else if (PropertyType.DATE == propertyType) {
try {
Date.valueOf(value);
- } catch (Exception e) {
+ } catch (final Exception e) {
return ValidationStatus.createErrorMessage(NLS.bind(Messages.invalidPropertyValueForType, new Object[] { value,
PropertyType.DATE, propertyName }));
}
} else if (PropertyType.DECIMAL == propertyType) {
try {
new BigDecimal(value);
- } catch (Exception e) {
+ } catch (final Exception e) {
return ValidationStatus.createErrorMessage(NLS.bind(Messages.invalidPropertyValueForType, value,
PropertyType.DECIMAL));
}
} else if (PropertyType.DOUBLE == propertyType) {
try {
Double.parseDouble(value);
- } catch (Exception e) {
+ } catch (final Exception e) {
return ValidationStatus.createErrorMessage(NLS.bind(Messages.invalidPropertyValueForType, value,
PropertyType.DOUBLE));
}
} else if (PropertyType.LONG == propertyType) {
try {
Long.parseLong(value);
- } catch (Exception e) {
+ } catch (final Exception e) {
return ValidationStatus.createErrorMessage(NLS.bind(Messages.invalidPropertyValueForType, value,
PropertyType.LONG));
}
@@ -119,12 +97,33 @@
}
return ValidationStatus.OK_STATUS;
- } catch (Exception e) {
+ } catch (final Exception e) {
return ValidationStatus.createErrorMessage(NLS.bind(Messages.errorValidatingPropertyValueForType, new Object[] { value,
propertyType, propertyName }));
}
}
+ /**
+ * @param value the value being checked (can be <code>null</code> or empty)
+ * @param propertyType the property type of the property definition the value is for (cannot be <code>null</code>)
+ * @param propertyName the name to use to identify the property definition (cannot be <code>null</code> empty)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
+ public static void isValid( final String value,
+ final PropertyType propertyType,
+ final String propertyName,
+ final MultiValidationStatus status ) {
+ final ValidationStatus newStatus = isValid(value, propertyType, propertyName);
+
+ if (!newStatus.isOk()) {
+ status.add(newStatus);
+ }
+ }
+
+ /**
+ * @param childNodeDefinition the child node definition being validated (cannot be <code>null</code>)
+ * @return the status (never <code>null</code>)
+ */
public static ValidationStatus validateChildNodeDefinition( final ChildNodeDefinition childNodeDefinition ) {
Utils.isNotNull(childNodeDefinition, "childNodeDefinition"); //$NON-NLS-1$
@@ -161,7 +160,7 @@
} else {
final List<String> names = new ArrayList<String>(requiredTypeNames.length);
- for (String requiredTypeName : requiredTypeNames) {
+ for (final String requiredTypeName : requiredTypeNames) {
// ERROR - Invalid required type name
validateLocalName(requiredTypeName, Messages.requiredTypeName, status);
@@ -199,6 +198,10 @@
return status;
}
+ /**
+ * @param childNodeDefinition the child node definition being validated (cannot be <code>null</code>)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateChildNodeDefinition( final ChildNodeDefinition childNodeDefinition,
final MultiValidationStatus status ) {
final ValidationStatus newStatus = validateChildNodeDefinition(childNodeDefinition);
@@ -208,6 +211,10 @@
}
}
+ /**
+ * @param cnd the CND being validated (cannot be <code>null</code>)
+ * @return the status (never <code>null</code>)
+ */
public static ValidationStatus validateCnd( final CompactNodeTypeDefinition cnd ) {
Utils.isNotNull(cnd, "cnd"); //$NON-NLS-1$
@@ -249,6 +256,10 @@
return status;
}
+ /**
+ * @param cnd the CND being validated (cannot be <code>null</code>)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateCnd( final CompactNodeTypeDefinition cnd,
final MultiValidationStatus status ) {
final ValidationStatus newStatus = validateCnd(cnd);
@@ -258,6 +269,11 @@
}
}
+ /**
+ * @param localName the local name being validated (cannot be <code>null</code>)
+ * @param propertyName the name to use in the validation message (cannot be <code>null</code>)
+ * @return the status (never <code>null</code>)
+ */
public static ValidationStatus validateLocalName( final String localName,
final String propertyName ) {
Utils.verifyIsNotEmpty(propertyName, propertyName);
@@ -271,7 +287,7 @@
return ValidationStatus.createErrorMessage(NLS.bind(Messages.localNameEqualToSelfOrParent, propertyName));
}
- for (char c : localName.toCharArray()) {
+ for (final char c : localName.toCharArray()) {
switch (c) {
case '/':
case ':':
@@ -289,6 +305,11 @@
return ValidationStatus.OK_STATUS;
}
+ /**
+ * @param localName the local name being validated (cannot be <code>null</code>)
+ * @param propertyName the name to use in the validation message (cannot be <code>null</code>)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateLocalName( final String localName,
final String propertyName,
final MultiValidationStatus status ) {
@@ -299,6 +320,10 @@
}
}
+ /**
+ * @param namespaceMapping the namespace mapping being validated (cannot be <code>null</code>)
+ * @return the status (never <code>null</code>)
+ */
public static ValidationStatus validateNamespaceMapping( final NamespaceMapping namespaceMapping ) {
Utils.isNotNull(namespaceMapping, "namespaceMapping"); //$NON-NLS-1$
@@ -320,6 +345,10 @@
return status;
}
+ /**
+ * @param namespaceMapping the namespace mapping being validated (cannot be <code>null</code>)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateNamespaceMapping( final NamespaceMapping namespaceMapping,
final MultiValidationStatus status ) {
final ValidationStatus newStatus = validateNamespaceMapping(namespaceMapping);
@@ -329,6 +358,10 @@
}
}
+ /**
+ * @param namespaceMappings the collection of namespace mappings being validated (can be <code>null</code> or empty)
+ * @return the status (never <code>null</code>)
+ */
public static MultiValidationStatus validateNamespaceMappings( final List<NamespaceMapping> namespaceMappings ) {
/**
* <pre>
@@ -347,7 +380,7 @@
final List<String> prefixes = new ArrayList<String>(namespaceMappings.size());
final List<String> uris = new ArrayList<String>(namespaceMappings.size());
- for (NamespaceMapping namespaceMapping : namespaceMappings) {
+ for (final NamespaceMapping namespaceMapping : namespaceMappings) {
validateNamespaceMapping(namespaceMapping, status);
{ // ERROR - Duplicate namespace mapping prefix
@@ -378,6 +411,10 @@
return status;
}
+ /**
+ * @param namespaceMappings the collection of namespace mappings being validated (can be <code>null</code> or empty)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateNamespaceMappings( final List<NamespaceMapping> namespaceMappings,
final MultiValidationStatus status ) {
final ValidationStatus newStatus = validateNamespaceMappings(namespaceMappings);
@@ -387,6 +424,10 @@
}
}
+ /**
+ * @param nodeTypeDefinition the node type definition being validated (cannot be <code>null</code>)
+ * @return the status (never <code>null</code>)
+ */
public static ValidationStatus validateNodeTypeDefinition( final NodeTypeDefinition nodeTypeDefinition ) {
Utils.isNotNull(nodeTypeDefinition, "nodeTypeDefinition"); //$NON-NLS-1$
@@ -426,7 +467,7 @@
} else {
final List<String> names = new ArrayList<String>(superTypeNames.length);
- for (String superTypeName : superTypeNames) {
+ for (final String superTypeName : superTypeNames) {
// ERROR - Invalid super type name
validateLocalName(superTypeName, Messages.superTypeName, status);
@@ -450,7 +491,7 @@
}
{ // primary item
- String primaryItemName = nodeTypeDefinition.getPrimaryItemName();
+ final String primaryItemName = nodeTypeDefinition.getPrimaryItemName();
if (nodeTypeDefinition.getState(NodeTypeDefinition.PropertyName.PRIMARY_ITEM) == Value.IS) {
// ERROR - Empty or invalid primary item name
@@ -473,7 +514,7 @@
} else {
final List<String> propNames = new ArrayList<String>(propertyDefinitions.size());
- for (PropertyDefinition propertyDefn : propertyDefinitions) {
+ for (final PropertyDefinition propertyDefn : propertyDefinitions) {
validatePropertyDefinition(propertyDefn, status);
{ // ERROR - Duplicate property definition names
@@ -500,7 +541,7 @@
} else {
final List<String> childNodeNames = new ArrayList<String>(childNodeDefinitions.size());
- for (ChildNodeDefinition childNodeDefn : childNodeDefinitions) {
+ for (final ChildNodeDefinition childNodeDefn : childNodeDefinitions) {
validateChildNodeDefinition(childNodeDefn, status);
{ // ERROR - Duplicate child node definition names
@@ -527,6 +568,10 @@
return status;
}
+ /**
+ * @param nodeTypeDefinition the node type definition being validated (cannot be <code>null</code>)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateNodeTypeDefinition( final NodeTypeDefinition nodeTypeDefinition,
final MultiValidationStatus status ) {
final ValidationStatus newStatus = validateNodeTypeDefinition(nodeTypeDefinition);
@@ -536,6 +581,10 @@
}
}
+ /**
+ * @param nodeTypeDefinitions the collection of namespace mappings to validate (can be <code>null</code> or empty)
+ * @return the status (never <code>null</code>)
+ */
public static ValidationStatus validateNodeTypeDefinitions( final List<NodeTypeDefinition> nodeTypeDefinitions ) {
/**
* <pre>
@@ -552,7 +601,7 @@
final List<String> names = new ArrayList<String>(nodeTypeDefinitions.size());
- for (NodeTypeDefinition nodeTypeDefinition : nodeTypeDefinitions) {
+ for (final NodeTypeDefinition nodeTypeDefinition : nodeTypeDefinitions) {
validateNodeTypeDefinition(nodeTypeDefinition, status);
{ // ERROR - Duplicate node type definition names
@@ -571,6 +620,10 @@
return status;
}
+ /**
+ * @param nodeTypeDefinitions the collection of namespace mappings to validate (can be <code>null</code> or empty)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
public static void validateNodeTypeDefinitions( final List<NodeTypeDefinition> nodeTypeDefinitions,
final MultiValidationStatus status ) {
final ValidationStatus newStatus = validateNodeTypeDefinitions(nodeTypeDefinitions);
@@ -580,7 +633,11 @@
}
}
- public static ValidationStatus validatePropertyDefinition( PropertyDefinition propertyDefinition ) {
+ /**
+ * @param propertyDefinition the property definition being validated (never <code>null</code>)
+ * @return the status (never <code>null</code>)
+ */
+ public static ValidationStatus validatePropertyDefinition( final PropertyDefinition propertyDefinition ) {
Utils.isNotNull(propertyDefinition, "propertyDefinition"); //$NON-NLS-1$
/**
@@ -618,7 +675,7 @@
}
{ // default values
- List<String> defaultValues = propertyDefinition.getDefaultValuesAsStrings();
+ final List<String> defaultValues = propertyDefinition.getDefaultValuesAsStrings();
if (Utils.isEmpty(defaultValues)) {
if (propertyDefinition.getState(PropertyDefinition.PropertyName.DEFAULT_VALUES) == Value.IS) {
@@ -634,7 +691,7 @@
final List<String> values = new ArrayList<String>(defaultValues.size());
- for (String defaultValue : defaultValues) {
+ for (final String defaultValue : defaultValues) {
// ERROR - Default value is not valid for the property definition type
isValid(defaultValue, propertyDefinition.getType(), Messages.defaultValue, status);
@@ -658,7 +715,7 @@
}
{ // value constraints
- String[] valueConstraints = propertyDefinition.getValueConstraints();
+ final String[] valueConstraints = propertyDefinition.getValueConstraints();
if (Utils.isEmpty(valueConstraints)) {
if (propertyDefinition.getState(PropertyDefinition.PropertyName.VALUE_CONSTRAINTS) == Value.IS) {
@@ -667,7 +724,7 @@
} else {
final List<String> constraints = new ArrayList<String>(valueConstraints.length);
- for (String constraint : valueConstraints) {
+ for (final String constraint : valueConstraints) {
// ERROR - Invalid value constraint
validateValueConstraint(constraint, status);
@@ -691,7 +748,7 @@
}
{ // query operators
- String[] queryOperators = propertyDefinition.getAvailableQueryOperators();
+ final String[] queryOperators = propertyDefinition.getAvailableQueryOperators();
if (Utils.isEmpty(queryOperators)) {
if (propertyDefinition.getState(PropertyDefinition.PropertyName.QUERY_OPS) == Value.IS) {
@@ -700,7 +757,7 @@
} else {
final List<String> operators = new ArrayList<String>(queryOperators.length);
- for (String operator : queryOperators) {
+ for (final String operator : queryOperators) {
// ERROR - Invalid query operator
validateQueryOperator(operator, status);
@@ -726,47 +783,89 @@
return status;
}
- public static ValidationStatus validateQueryOperator( String operator ) {
- if (Utils.isEmpty(operator)) {
- return ValidationStatus.createErrorMessage(Messages.emptyQueryOperator);
+ /**
+ * @param propertyDefinition the property definition being validated (never <code>null</code>)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
+ public static void validatePropertyDefinition( final PropertyDefinition propertyDefinition,
+ final MultiValidationStatus status ) {
+ final ValidationStatus newStatus = validatePropertyDefinition(propertyDefinition);
+
+ if (!newStatus.isOk()) {
+ status.add(newStatus);
}
+ }
+ /**
+ * @param operator the query operator being validated (can be <code>null</code> or empty)
+ * @return the status (never <code>null</code>)
+ */
+ public static ValidationStatus validateQueryOperator( final String operator ) {
+ Utils.verifyIsNotEmpty(operator, "operator"); //$NON-NLS-1$
+
try {
QueryOperator.find(operator);
- } catch (Exception e) {
+ } catch (final Exception e) {
return ValidationStatus.createErrorMessage(Messages.invalidQueryOperator);
}
return ValidationStatus.OK_STATUS;
}
- public static void validateQueryOperator( String operator,
- MultiValidationStatus status ) {
- ValidationStatus newStatus = validateQueryOperator(operator);
+ /**
+ * @param operator the query operator being validated (can be <code>null</code> or empty)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
+ public static void validateQueryOperator( final String operator,
+ final MultiValidationStatus status ) {
+ final ValidationStatus newStatus = validateQueryOperator(operator);
if (!newStatus.isOk()) {
status.add(newStatus);
}
}
- public static ValidationStatus validateValueConstraint( String constraint ) {
- // TODO implement
- return null;
- }
+ /**
+ * @param uri the URI being checked (can be <code>null</code> or empty)
+ * @param propertyName the name to use to identify the URI (cannot be <code>null</code> empty)
+ * @return the status (never <code>null</code>)
+ */
+ public static ValidationStatus validateUri( final String uri,
+ final String propertyName ) {
+ Utils.verifyIsNotEmpty(propertyName, "propertyName"); //$NON-NLS-1$
- public static void validateValueConstraint( String constraint,
- MultiValidationStatus status ) {
- ValidationStatus newStatus = validateValueConstraint(constraint);
+ if (Utils.isEmpty(uri) || uri.contains(" ")) { //$NON-NLS-1$
+ return ValidationStatus.createErrorMessage(NLS.bind(Messages.emptyValue, propertyName));
+ }
- if (!newStatus.isOk()) {
- status.add(newStatus);
+ try {
+ URI.create(uri);
+ } catch (final Exception e) {
+ return ValidationStatus.createErrorMessage(NLS.bind(Messages.invalidUri, propertyName));
}
+
+ return ValidationStatus.OK_STATUS;
}
- public static void validatePropertyDefinition( PropertyDefinition propertyDefinition,
- MultiValidationStatus status ) {
- ValidationStatus newStatus = validatePropertyDefinition(propertyDefinition);
+ /**
+ * @param constraint the value constraint being validated (cannot be <code>null</code> or empty)
+ * @return the status (never <code>null</code>)
+ */
+ public static ValidationStatus validateValueConstraint( final String constraint ) {
+ Utils.verifyIsNotEmpty(constraint, "constraint"); //$NON-NLS-1$
+ // TODO implement
+ return null;
+ }
+
+ /**
+ * @param constraint the value constraint being validated (cannot be <code>null</code> or empty)
+ * @param status the status to add the new status to (never <code>null</code>)
+ */
+ public static void validateValueConstraint( final String constraint,
+ final MultiValidationStatus status ) {
+ final ValidationStatus newStatus = validateValueConstraint(constraint);
+
if (!newStatus.isOk()) {
status.add(newStatus);
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/LocalName.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/LocalName.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/LocalName.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -14,40 +14,6 @@
*/
public class LocalName implements CndElement {
- public enum Mode {
-
- /**
- * The name is not surrounded by quotes in the CND notation.
- */
- UNQOUTED(Utils.EMPTY_STRING),
-
- /**
- * The name is surrounded by single quotes in the CND notation.
- */
- SINGLE_QUOTED("'"), //$NON-NLS-1$
-
- /**
- * The name is surrounded by double quotes in the CND notation.
- */
- DOUBLE_QUOTED("\""); //$NON-NLS-1$
-
- private final String delim;
-
- private Mode( String delim ) {
- this.delim = delim;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Enum#toString()
- */
- @Override
- public String toString() {
- return this.delim;
- }
- }
-
private Mode mode = Mode.UNQOUTED;
private String value;
@@ -62,7 +28,7 @@
/**
* @param initialValue the initial name value (can be <code>null</code> or empty)
*/
- public LocalName( String initialValue ) {
+ public LocalName( final String initialValue ) {
this.value = initialValue;
}
@@ -72,7 +38,7 @@
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals( Object obj ) {
+ public boolean equals( final Object obj ) {
if (this == obj) {
return true;
}
@@ -81,7 +47,7 @@
return false;
}
- LocalName that = (LocalName)obj;
+ final LocalName that = (LocalName)obj;
return Utils.equals(this.value, that.value);
}
@@ -144,7 +110,7 @@
* @param newMode the new mode (cannot be <code>null</code>)
* @return <code>true</code> if the model was changed
*/
- public boolean setMode( Mode newMode ) {
+ public boolean setMode( final Mode newMode ) {
Utils.isNotNull(newMode, "newMode"); //$NON-NLS-1$
if (this.mode != newMode) {
@@ -161,8 +127,8 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
- StringBuilder builder = new StringBuilder();
+ public String toCndNotation( final NotationType notationType ) {
+ final StringBuilder builder = new StringBuilder();
Mode notationMode = this.mode;
if (!Utils.isEmpty(this.value) && this.value.contains(" ") && (this.mode == Mode.UNQOUTED)) { //$NON-NLS-1$
@@ -176,4 +142,41 @@
return builder.toString();
}
+ /**
+ * The quotation preference when using the name in CND notation.
+ */
+ public enum Mode {
+
+ /**
+ * The name is not surrounded by quotes in the CND notation.
+ */
+ UNQOUTED(Utils.EMPTY_STRING),
+
+ /**
+ * The name is surrounded by single quotes in the CND notation.
+ */
+ SINGLE_QUOTED("'"), //$NON-NLS-1$
+
+ /**
+ * The name is surrounded by double quotes in the CND notation.
+ */
+ DOUBLE_QUOTED("\""); //$NON-NLS-1$
+
+ private final String delim;
+
+ private Mode( final String delim ) {
+ this.delim = delim;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see java.lang.Enum#toString()
+ */
+ @Override
+ public String toString() {
+ return this.delim;
+ }
+ }
+
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/NodeTypeDefinition.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/NodeTypeDefinition.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/NodeTypeDefinition.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -29,62 +29,11 @@
import org.jboss.tools.modeshape.jcr.cnd.attributes.SuperTypes;
/**
- *
+ * Represents a CND node type definition.
*/
public class NodeTypeDefinition implements CndElement, NodeTypeTemplate {
/**
- * The property names whose <code>toString()</code> is used in {@link PropertyChangeEvent}s.
- */
- public enum PropertyName {
-
- /**
- * The abstract attribute.
- */
- ABSTRACT,
-
- /**
- * The collection for child node definitions.
- */
- CHILD_NODES,
-
- /**
- * The mixin attribute.
- */
- MIXIN,
-
- /**
- * The node type name.
- */
- NAME,
-
- /**
- * The orderable attribute.
- */
- ORDERABLE,
-
- /**
- * The primary item attribute.
- */
- PRIMARY_ITEM,
-
- /**
- * The collection of property definitions.
- */
- PROPERTY_DEFINITIONS,
-
- /**
- * The queryable attribute.
- */
- QUERYABLE,
-
- /**
- * The collection for super types.
- */
- SUPERTYPES
- }
-
- /**
* Then node type name prefix used in the CND notation.
*/
public static final String NAME_NOTATION_PREFIX = "["; //$NON-NLS-1$
@@ -124,6 +73,9 @@
*/
private final SuperTypes superTypes;
+ /**
+ * Constructs a node type definition having default values for all attributes and properties.
+ */
public NodeTypeDefinition() {
this.attributes = new NodeTypeAttributes();
this.name = new LocalName();
@@ -137,7 +89,7 @@
* @param childNodeDefinitionBeingAdded the child node definition being added (cannot be <code>null</code>)
* @return <code>true</code> if successfully added
*/
- public boolean addChildNodeDefinition( ChildNodeDefinition childNodeDefinitionBeingAdded ) {
+ public boolean addChildNodeDefinition( final ChildNodeDefinition childNodeDefinitionBeingAdded ) {
Utils.isNotNull(childNodeDefinitionBeingAdded, "childNodeDefinitionBeingAdded"); //$NON-NLS-1$
if (this.childNodesDefinitions == null) {
@@ -156,7 +108,7 @@
* @param newListener the listener being added (cannot be <code>null</code>)
* @return <code>true</code> if successfully added
*/
- public boolean addListener( PropertyChangeListener newListener ) {
+ public boolean addListener( final PropertyChangeListener newListener ) {
Utils.isNotNull(newListener, "newListener"); //$NON-NLS-1$
return this.listeners.addIfAbsent(newListener);
}
@@ -167,7 +119,7 @@
* @param properyDefinitionBeingAdded the property definition being added (cannot be <code>null</code>)
* @return <code>true</code> if successfully added
*/
- public boolean addPropertyDefinition( PropertyDefinition properyDefinitionBeingAdded ) {
+ public boolean addPropertyDefinition( final PropertyDefinition properyDefinitionBeingAdded ) {
Utils.isNotNull(properyDefinitionBeingAdded, "properyDefinitionBeingAdded"); //$NON-NLS-1$
if (this.propertyDefinitions == null) {
@@ -188,7 +140,7 @@
* @param superTypeBeingAdded the super type name being added (cannot be <code>null</code> or empty)
* @return <code>true</code> if successfully added
*/
- public boolean addSuperType( String superTypeBeingAdded ) {
+ public boolean addSuperType( final String superTypeBeingAdded ) {
Utils.verifyIsNotEmpty(superTypeBeingAdded, "superTypeBeingAdded"); //$NON-NLS-1$
if (this.superTypes.add(superTypeBeingAdded)) {
@@ -207,13 +159,13 @@
* @param newState the new state (cannot be <code>null</code>)
* @return <code>true</code> if the attribute state was changed
*/
- public boolean changeState( PropertyName propertyName,
- Value newState ) {
+ public boolean changeState( final PropertyName propertyName,
+ final Value newState ) {
Utils.isNotNull(propertyName, "propertyName"); //$NON-NLS-1$
Utils.isNotNull(newState, "newState"); //$NON-NLS-1$
Object oldValue = null;
- Object newValue = newState;
+ final Object newValue = newState;
boolean changed = false;
if (PropertyName.ABSTRACT == propertyName) {
@@ -254,8 +206,8 @@
return false; // nothing to clear
}
- List<ChildNodeDefinition> childNodes = new ArrayList<ChildNodeDefinition>(getChildNodeDefinitions());
- boolean cleared = !this.childNodesDefinitions.isEmpty();
+ final List<ChildNodeDefinition> childNodes = new ArrayList<ChildNodeDefinition>(getChildNodeDefinitions());
+ final boolean cleared = !this.childNodesDefinitions.isEmpty();
this.childNodesDefinitions = null;
if (cleared) {
@@ -275,8 +227,8 @@
return false; // nothing to clear
}
- List<PropertyDefinition> propDefns = new ArrayList<PropertyDefinition>(getPropertyDefinitions());
- boolean cleared = !this.propertyDefinitions.isEmpty();
+ final List<PropertyDefinition> propDefns = new ArrayList<PropertyDefinition>(getPropertyDefinitions());
+ final boolean cleared = !this.propertyDefinitions.isEmpty();
this.propertyDefinitions = null;
if (cleared) {
@@ -292,7 +244,7 @@
* @return <code>true</code> if there was at least one super type before clearing
*/
public boolean clearSuperTypes() {
- List<String> types = new ArrayList<String>(this.superTypes.getSupportedItems());
+ final List<String> types = new ArrayList<String>(this.superTypes.getSupportedItems());
if (this.superTypes.clear()) {
notifyChangeListeners(PropertyName.SUPERTYPES, types, null);
@@ -324,7 +276,7 @@
*/
@Override
public NodeDefinition[] getDeclaredChildNodeDefinitions() {
- List<ChildNodeDefinition> childNodes = getChildNodeDefinitions();
+ final List<ChildNodeDefinition> childNodes = getChildNodeDefinitions();
return childNodes.toArray(new NodeDefinition[childNodes.size()]);
}
@@ -335,7 +287,7 @@
*/
@Override
public PropertyDefinition[] getDeclaredPropertyDefinitions() {
- List<PropertyDefinition> propDefns = getPropertyDefinitions();
+ final List<PropertyDefinition> propDefns = getPropertyDefinitions();
return propDefns.toArray(new PropertyDefinition[propDefns.size()]);
}
@@ -396,7 +348,7 @@
*/
@Override
public String getPrimaryItemName() {
- String primaryItem = this.attributes.getPrimaryItem().getPrimaryItem();
+ final String primaryItem = this.attributes.getPrimaryItem().getPrimaryItem();
// API states to return null
if (Utils.isEmpty(primaryItem)) {
@@ -439,7 +391,7 @@
* @return the attribute state (never <code>null</code>)
* @throws IllegalArgumentException if a property that does not have an attribute state is specified
*/
- public Value getState( PropertyName propertyName ) {
+ public Value getState( final PropertyName propertyName ) {
Utils.isNotNull(propertyName, "propertyName"); //$NON-NLS-1$
if (PropertyName.ABSTRACT == propertyName) {
@@ -513,7 +465,7 @@
* @param propertyName the property being checked (cannot be <code>null</code>)
* @return <code>true</code> if property is a variant
*/
- public boolean isVariant( PropertyName propertyName ) {
+ public boolean isVariant( final PropertyName propertyName ) {
Utils.isNotNull(propertyName, "propertyName"); //$NON-NLS-1$
return (getState(propertyName) == Value.VARIANT);
}
@@ -526,12 +478,12 @@
private void notifyChangeListeners( final PropertyName property,
final Object oldValue,
final Object newValue ) {
- PropertyChangeEvent event = new PropertyChangeEvent(this, property.toString(), oldValue, newValue);
+ final PropertyChangeEvent event = new PropertyChangeEvent(this, property.toString(), oldValue, newValue);
for (final Object listener : this.listeners.toArray()) {
try {
((PropertyChangeListener)listener).propertyChange(event);
- } catch (Exception e) {
+ } catch (final Exception e) {
// TODO log this
this.listeners.remove(listener);
}
@@ -544,7 +496,7 @@
* @param childNodeDefinitionBeingRemoved the child node definition being removed (cannot be <code>null</code>)
* @return <code>true</code> if successfully removed
*/
- public boolean removeChildNodeDefinition( ChildNodeDefinition childNodeDefinitionBeingRemoved ) {
+ public boolean removeChildNodeDefinition( final ChildNodeDefinition childNodeDefinitionBeingRemoved ) {
Utils.isNotNull(childNodeDefinitionBeingRemoved, "childNodeDefinitionBeingRemoved"); //$NON-NLS-1$
if (this.childNodesDefinitions == null) {
@@ -568,7 +520,7 @@
* @param listener the listener who no longer will receive property change events (cannot be <code>null</code>)
* @return <code>true</code> if successfully removed
*/
- public boolean removeListener( PropertyChangeListener listener ) {
+ public boolean removeListener( final PropertyChangeListener listener ) {
Utils.isNotNull(listener, "listener"); //$NON-NLS-1$
return this.listeners.remove(listener);
}
@@ -579,7 +531,7 @@
* @param propertyDefinitionBeingRemoved the property definition being removed (cannot be <code>null</code>)
* @return <code>true</code> if successfully removed
*/
- public boolean removePropertyDefinition( PropertyDefinition propertyDefinitionBeingRemoved ) {
+ public boolean removePropertyDefinition( final PropertyDefinition propertyDefinitionBeingRemoved ) {
Utils.isNotNull(propertyDefinitionBeingRemoved, "propertyDefinitionBeingRemoved"); //$NON-NLS-1$
if (this.propertyDefinitions == null) {
@@ -605,7 +557,7 @@
* @param superTypeBeingRemoved the super type name being removed (cannot be <code>null</code>)
* @return <code>true</code> if successfully removed
*/
- public boolean removeSuperType( String superTypeBeingRemoved ) {
+ public boolean removeSuperType( final String superTypeBeingRemoved ) {
if (this.superTypes.remove(superTypeBeingRemoved)) {
notifyChangeListeners(PropertyName.SUPERTYPES, superTypeBeingRemoved, null);
return true; // removed
@@ -620,8 +572,8 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setAbstract(boolean)
*/
@Override
- public void setAbstract( boolean newAbstract ) {
- AttributeState.Value newState = (newAbstract ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
+ public void setAbstract( final boolean newAbstract ) {
+ final AttributeState.Value newState = (newAbstract ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
changeState(PropertyName.ABSTRACT, newState);
}
@@ -631,12 +583,12 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setDeclaredSuperTypeNames(java.lang.String[])
*/
@Override
- public void setDeclaredSuperTypeNames( String[] newSuperTypes ) {
- List<String> oldValue = this.superTypes.getSupportedItems();
+ public void setDeclaredSuperTypeNames( final String[] newSuperTypes ) {
+ final List<String> oldValue = this.superTypes.getSupportedItems();
boolean changed = this.superTypes.clear();
if (!Utils.isEmpty(newSuperTypes)) {
- for (String superType : newSuperTypes) {
+ for (final String superType : newSuperTypes) {
if (this.superTypes.add(superType)) {
changed = true;
}
@@ -654,8 +606,8 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setMixin(boolean)
*/
@Override
- public void setMixin( boolean newMixin ) {
- AttributeState.Value newState = (newMixin ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
+ public void setMixin( final boolean newMixin ) {
+ final AttributeState.Value newState = (newMixin ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
changeState(PropertyName.MIXIN, newState);
}
@@ -665,8 +617,8 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setName(java.lang.String)
*/
@Override
- public void setName( String newName ) {
- Object oldValue = this.name.get();
+ public void setName( final String newName ) {
+ final Object oldValue = this.name.get();
if (this.name.set(newName)) {
notifyChangeListeners(PropertyName.NAME, oldValue, newName);
@@ -679,8 +631,8 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setOrderableChildNodes(boolean)
*/
@Override
- public void setOrderableChildNodes( boolean newOrderable ) {
- AttributeState.Value newState = (newOrderable ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
+ public void setOrderableChildNodes( final boolean newOrderable ) {
+ final AttributeState.Value newState = (newOrderable ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
changeState(PropertyName.ORDERABLE, newState);
}
@@ -690,8 +642,8 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setPrimaryItemName(java.lang.String)
*/
@Override
- public void setPrimaryItemName( String newPrimaryItem ) {
- String oldName = this.attributes.getPrimaryItem().getPrimaryItem();
+ public void setPrimaryItemName( final String newPrimaryItem ) {
+ final String oldName = this.attributes.getPrimaryItem().getPrimaryItem();
if (this.attributes.getPrimaryItem().setPrimaryItem(newPrimaryItem)) {
notifyChangeListeners(PropertyName.PRIMARY_ITEM, oldName, newPrimaryItem);
@@ -704,8 +656,8 @@
* @see javax.jcr.nodetype.NodeTypeTemplate#setQueryable(boolean)
*/
@Override
- public void setQueryable( boolean newQueryable ) {
- AttributeState.Value newState = (newQueryable ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
+ public void setQueryable( final boolean newQueryable ) {
+ final AttributeState.Value newState = (newQueryable ? AttributeState.Value.IS : AttributeState.Value.IS_NOT);
changeState(PropertyName.QUERYABLE, newState);
}
@@ -715,8 +667,8 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
- StringBuilder builder = new StringBuilder("- "); //$NON-NLS-1$
+ public String toCndNotation( final NotationType notationType ) {
+ final StringBuilder builder = new StringBuilder("- "); //$NON-NLS-1$
{ // name
builder.append(NAME_NOTATION_PREFIX)
@@ -726,7 +678,7 @@
}
{ // super types
- String notation = this.superTypes.toCndNotation(notationType);
+ final String notation = this.superTypes.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation).append(getEndSuperTypesDelimiter());
@@ -734,7 +686,7 @@
}
{ // attributes
- String notation = this.attributes.toCndNotation(notationType);
+ final String notation = this.attributes.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation).append(getEndAttributesDelimiter());
@@ -745,7 +697,7 @@
if (!Utils.isEmpty(this.propertyDefinitions)) {
final String PD_DELIM = getPropertyDefinitionDelimiter();
- for (PropertyDefinition propDefn : this.propertyDefinitions) {
+ for (final PropertyDefinition propDefn : this.propertyDefinitions) {
builder.append(propDefn.toCndNotation(notationType)).append(PD_DELIM);
}
@@ -757,7 +709,7 @@
if (!Utils.isEmpty(this.childNodesDefinitions)) {
final String CND_DELIM = getChildNodeDefinitionDelimiter();
- for (ChildNodeDefinition childNodeDefn : this.childNodesDefinitions) {
+ for (final ChildNodeDefinition childNodeDefn : this.childNodesDefinitions) {
builder.append(childNodeDefn.toCndNotation(notationType)).append(CND_DELIM);
}
@@ -768,4 +720,55 @@
return builder.toString();
}
+ /**
+ * The property names whose <code>toString()</code> is used in {@link PropertyChangeEvent}s.
+ */
+ public enum PropertyName {
+
+ /**
+ * The abstract attribute.
+ */
+ ABSTRACT,
+
+ /**
+ * The collection for child node definitions.
+ */
+ CHILD_NODES,
+
+ /**
+ * The mixin attribute.
+ */
+ MIXIN,
+
+ /**
+ * The node type name.
+ */
+ NAME,
+
+ /**
+ * The orderable attribute.
+ */
+ ORDERABLE,
+
+ /**
+ * The primary item attribute.
+ */
+ PRIMARY_ITEM,
+
+ /**
+ * The collection of property definitions.
+ */
+ PROPERTY_DEFINITIONS,
+
+ /**
+ * The queryable attribute.
+ */
+ QUERYABLE,
+
+ /**
+ * The collection for super types.
+ */
+ SUPERTYPES
+ }
+
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Abstract.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Abstract.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Abstract.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The abstract attribute used by node type definitions.
+ */
public class Abstract extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "abstract", "abs", "a" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/AttributeState.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/AttributeState.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/AttributeState.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -11,16 +11,50 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
/**
- *
+ * An attribute will have either a supported, unsupported, or variant state.
*/
public abstract class AttributeState implements CndElement {
+ /**
+ * The attribute state possible values.
+ */
+ public enum Value {
+
+ /**
+ * Indicates the attribute is supported.
+ */
+ IS,
+
+ /**
+ * Indicates the attribute is not supported.
+ */
+ IS_NOT,
+
+ /**
+ * Indicates the attribute is a variant.
+ */
+ VARIANT
+ }
+
+ /**
+ * The character used in CND notation to indicate the attribute is a variant.
+ */
public static final char VARIANT_CHAR = '?';
+ /**
+ * The CND variant character as a string.
+ *
+ * @see #VARIANT_CHAR
+ */
public static final String VARIANT_STRING = Character.toString(VARIANT_CHAR);
private Value state;
+ /**
+ * Constructs a not supported attribute state.
+ *
+ * @see Value#IS_NOT
+ */
public AttributeState() {
this.state = Value.IS_NOT;
}
@@ -31,25 +65,40 @@
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals( Object obj ) {
+ public boolean equals( final Object obj ) {
if ((obj == null) || !getClass().equals(obj.getClass())) {
return false;
}
- AttributeState that = (AttributeState)obj;
+ final AttributeState that = (AttributeState)obj;
return (this.state == that.state);
}
+ /**
+ * @return the attribute state (never <code>null</code>)
+ */
public Value get() {
return this.state;
}
+ /**
+ * @return the attribute's compact CND notation (can be <code>null</code> or empty)
+ */
protected abstract String getCompactCndNotation();
+ /**
+ * @return the attribute's compressed CND notation (can be <code>null</code> or empty)
+ */
protected abstract String getCompressedCndNotation();
+ /**
+ * @return the attribute's long CND notation (can be <code>null</code> or empty)
+ */
protected abstract String getLongCndNotation();
+ /**
+ * @return <code>true</code> if the CND notation is not empty
+ */
protected boolean hasCndNotation() {
return !isNot();
}
@@ -64,19 +113,34 @@
return super.hashCode();
}
+ /**
+ * @return <code>true</code> if attribute state is {@link Value#IS}.
+ */
public boolean is() {
return (this.state == Value.IS);
}
+ /**
+ * @return <code>true</code> if attribute state is {@link Value#IS_NOT}.
+ */
public boolean isNot() {
return (this.state == Value.IS_NOT);
}
+ /**
+ * @return <code>true</code> if attribute state is {@link Value#VARIANT}.
+ */
public boolean isVariant() {
return (this.state == Value.VARIANT);
}
- public boolean set( Value newState ) {
+ /**
+ * @param newState the proposed new state (cannot be <code>null</code>)
+ * @return <code>true</code> if state was changed
+ */
+ public boolean set( final Value newState ) {
+ Utils.isNotNull(newState, "newState"); //$NON-NLS-1$
+
if (this.state != newState) {
this.state = newState;
return true;
@@ -91,7 +155,7 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
+ public String toCndNotation( final NotationType notationType ) {
if (hasCndNotation()) {
String notation = Utils.EMPTY_STRING;
@@ -113,17 +177,15 @@
return Utils.EMPTY_STRING;
}
- protected String toVariantCndNotation( String cndNotation ) {
+ /**
+ * @param cndNotation the CND notation without the variant indicator (can be <code>null</code> or empty)
+ * @return the variant CND notation (never <code>null</code> or empty)
+ */
+ protected String toVariantCndNotation( final String cndNotation ) {
if (Utils.isEmpty(cndNotation)) {
return String.valueOf(AttributeState.VARIANT_CHAR);
}
return cndNotation + AttributeState.VARIANT_CHAR;
}
-
- public enum Value {
- IS,
- IS_NOT,
- VARIANT
- }
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Autocreated.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Autocreated.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Autocreated.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,15 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The autocreated attribute used by property definitions and child node definitions. When set, the property is automatically
+ * created when the parent node is created. It mandates that a default value is set.
+ */
public class Autocreated extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "autocreated", "aut", "a" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultType.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultType.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultType.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -10,8 +10,14 @@
import org.jboss.tools.modeshape.jcr.Utils;
import org.jboss.tools.modeshape.jcr.cnd.LocalName;
+/**
+ * The child node definitions default type property.
+ */
public class DefaultType extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String NOTATION = "="; //$NON-NLS-1$
private final LocalName defaultType = new LocalName();
@@ -23,7 +29,7 @@
*/
@Override
public Value get() {
- Value state = super.get();
+ final Value state = super.get();
if (state == Value.VARIANT) {
return Value.VARIANT;
@@ -43,7 +49,7 @@
*/
@Override
protected String getCompactCndNotation() {
- return NOTATION;
+ return getLongCndNotation();
}
/**
@@ -53,9 +59,12 @@
*/
@Override
protected String getCompressedCndNotation() {
- return NOTATION;
+ return getLongCndNotation();
}
+ /**
+ * @return the default type (can be <code>null</code> or empty)
+ */
public String getDefaultType() {
return this.defaultType.get();
}
@@ -67,16 +76,23 @@
*/
@Override
protected String getLongCndNotation() {
- return NOTATION;
+ String defaultType = getDefaultType();
+
+ if (Utils.isEmpty(defaultType)) {
+ return NOTATION;
+ }
+
+ return NOTATION + defaultType;
}
/**
- * {@inheritDoc}
+ * {@inheritDoc} <strong>Can only be used to change to a variant state. Use {@link DefaultType#setDefaultType(String)} to set to
+ * other states</strong>
*
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#set(org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState.Value)
*/
@Override
- public boolean set( Value newState ) {
+ public boolean set( final Value newState ) {
if (newState == Value.VARIANT) {
if (super.set(Value.VARIANT)) {
return true;
@@ -86,7 +102,11 @@
return false;
}
- public boolean setDefaultType( String newDefaultType ) {
+ /**
+ * @param newDefaultType the proposed new value for the default type (can be <code>null</code> or empty)
+ * @return <code>true</code> if changed
+ */
+ public boolean setDefaultType( final String newDefaultType ) {
if (this.defaultType.set(newDefaultType)) {
if (Utils.isEmpty(newDefaultType) && !isVariant()) {
super.set(Value.IS_NOT);
@@ -103,26 +123,10 @@
/**
* {@inheritDoc}
*
- * @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
- */
- @Override
- public String toCndNotation( NotationType notationType ) {
- String notation = super.toCndNotation(notationType);
-
- if (!isVariant() && is()) {
- notation += ' ' + this.defaultType.toCndNotation(notationType);
- }
-
- return notation;
- }
-
- /**
- * {@inheritDoc}
- *
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#toVariantCndNotation(java.lang.String)
*/
@Override
- protected String toVariantCndNotation( String cndNotation ) {
- return cndNotation + ' ' + AttributeState.VARIANT_CHAR;
+ protected String toVariantCndNotation( final String cndNotation ) {
+ return cndNotation + AttributeState.VARIANT_CHAR;
}
}
\ No newline at end of file
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultValues.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultValues.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/DefaultValues.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -16,19 +16,25 @@
*/
public final class DefaultValues extends ListAttributeState<String> {
+ /**
+ * The CND list prefix.
+ */
public static final String NOTATION_PREFIX = "="; //$NON-NLS-1$
+ /**
+ * @return the JCR value for each default value (never <code>null</code>)
+ */
public javax.jcr.Value[] asJcrValues() {
- Collection<String> defaultValues = getSupportedItems();
+ final Collection<String> defaultValues = getSupportedItems();
if (Utils.isEmpty(defaultValues)) {
return new javax.jcr.Value[0];
}
- javax.jcr.Value[] jcrValues = new javax.jcr.Value[defaultValues.size()];
+ final javax.jcr.Value[] jcrValues = new javax.jcr.Value[defaultValues.size()];
int i = 0;
- for (String defaultValue : defaultValues) {
+ for (final String defaultValue : defaultValues) {
jcrValues[i++] = new PropertyValue(PropertyType.STRING.asJcrValue(), defaultValue);
}
@@ -41,7 +47,7 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getCndNotationPrefix(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- protected String getCndNotationPrefix( NotationType notationType ) {
+ protected String getCndNotationPrefix( final NotationType notationType ) {
return NOTATION_PREFIX;
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ListAttributeState.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ListAttributeState.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ListAttributeState.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -18,7 +18,7 @@
import org.jboss.tools.modeshape.jcr.cnd.CndNotationPreferences.Preference;
/**
- *
+ * @param <E> the class of the list items
*/
public abstract class ListAttributeState<E extends Comparable> extends AttributeState {
@@ -31,7 +31,7 @@
* @param item the item being added (cannot be <code>null</code>)
* @return <code>true</code> if successfully added
*/
- public boolean add( E item ) {
+ public boolean add( final E item ) {
Utils.isNotNull(item, "item"); //$NON-NLS-1$
if (this.supported == null) {
@@ -75,7 +75,7 @@
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals( Object obj ) {
+ public boolean equals( final Object obj ) {
if ((obj == null) || !getClass().equals(obj.getClass())) {
return false;
}
@@ -84,9 +84,9 @@
return true;
}
- ListAttributeState that = (ListAttributeState)obj;
- List<E> thatSupportedItems = that.getSupportedItems();
- List<E> thisSupportedItems = getSupportedItems();
+ final ListAttributeState that = (ListAttributeState)obj;
+ final List<E> thatSupportedItems = that.getSupportedItems();
+ final List<E> thisSupportedItems = getSupportedItems();
if (Utils.isEmpty(thisSupportedItems)) {
return Utils.isEmpty(thatSupportedItems);
@@ -103,9 +103,17 @@
return thisSupportedItems.containsAll(thatSupportedItems);
}
+ /**
+ * @param notationType the notation type whose CND notation prefix is being requested (cannot be <code>null</code>)
+ * @return the CND notation prefix (can be <code>null</code> or empty)
+ */
protected abstract String getCndNotationPrefix( NotationType notationType );
- protected String getCndNotationSuffix( NotationType notationType ) {
+ /**
+ * @param notationType the notation type whose CND notation suffix is being requested (cannot be <code>null</code>)
+ * @return the CND notation suffix (can be <code>null</code> or empty)
+ */
+ protected String getCndNotationSuffix( final NotationType notationType ) {
return Utils.EMPTY_STRING;
}
@@ -129,7 +137,10 @@
throw new UnsupportedOperationException();
}
- protected String getDelimiter() {
+ /**
+ * @return the delimiter used after the list prefix (never <code>null</code> but can be empty)
+ */
+ protected String getListPrefixEndDelimiter() {
return CndNotationPreferences.DEFAULT_PREFERENCES.get(Preference.ATTRIBUTE_LIST_PREFIX_END_DELIMITER);
}
@@ -178,14 +189,14 @@
* @param item the item being removed (cannot be <code>null</code>)
* @return <code>true</code> if successfully removed
*/
- public boolean remove( E item ) {
+ public boolean remove( final E item ) {
Utils.isNotNull(item, "item"); //$NON-NLS-1$
if (this.supported == null) {
return false;
}
- boolean removed = this.supported.remove(item);
+ final boolean removed = this.supported.remove(item);
if (this.supported.isEmpty()) {
this.supported = null;
@@ -204,7 +215,7 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#set(org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState.Value)
*/
@Override
- public final boolean set( Value newState ) {
+ public final boolean set( final Value newState ) {
if (Value.VARIANT == newState) {
clear();
return super.set(Value.VARIANT);
@@ -213,8 +224,12 @@
return false; // other states set by adding and removing supported items
}
- protected String supportedItemsCndNotation( NotationType notationType ) {
- List<E> items = new ArrayList<E>(getSupportedItems());
+ /**
+ * @param notationType the CND notation type to use (cannot be <code>null</code>)
+ * @return the CND notation (never <code>null</code> but can be empty)
+ */
+ protected String supportedItemsCndNotation( final NotationType notationType ) {
+ final List<E> items = new ArrayList<E>(getSupportedItems());
Collections.sort(items);
if (items.isEmpty()) {
@@ -222,7 +237,7 @@
}
if (items.size() == 1) {
- E firstItem = items.iterator().next();
+ final E firstItem = items.iterator().next();
if (firstItem instanceof CndElement) {
return ((CndElement)firstItem).toCndNotation(notationType);
@@ -231,10 +246,10 @@
return firstItem.toString();
}
- StringBuilder builder = new StringBuilder();
+ final StringBuilder builder = new StringBuilder();
- for (Iterator<E> itr = items.iterator(); itr.hasNext();) {
- E item = itr.next();
+ for (final Iterator<E> itr = items.iterator(); itr.hasNext();) {
+ final E item = itr.next();
if (item instanceof CndElement) {
builder.append(((CndElement)item).toCndNotation(notationType));
@@ -243,7 +258,7 @@
}
if (itr.hasNext()) {
- builder.append(CndElement.LIST_DELIMITER);
+ builder.append(Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER);
}
}
@@ -252,9 +267,9 @@
/**
* @param item the item being checked (cannot be <code>null</code>)
- * @return
+ * @return <code>true</code> if item is contained in list
*/
- public boolean supports( E item ) {
+ public boolean supports( final E item ) {
Utils.isNotNull(item, "item"); //$NON-NLS-1$
return this.supported.contains(item);
}
@@ -265,15 +280,15 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
+ public String toCndNotation( final NotationType notationType ) {
if (hasCndNotation()) {
- StringBuilder builder = new StringBuilder();
+ final StringBuilder builder = new StringBuilder();
if (!Utils.isEmpty(getCndNotationPrefix(notationType))) {
builder.append(getCndNotationPrefix(notationType));
}
- String delim = getDelimiter();
+ final String delim = getListPrefixEndDelimiter();
if (!Utils.isEmpty(delim)) {
builder.append(delim);
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mandatory.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mandatory.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mandatory.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,15 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The mandatory attribute used by property definitions and child node definitions. When set, the property is mandatory, meaning it
+ * must be present in order to save the node.
+ */
public class Mandatory extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "mandatory", "man", "m" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mixin.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mixin.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Mixin.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The mixin attribute used by node type definitions.
+ */
public class Mixin extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "mixin", "mix", "m" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Multiple.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Multiple.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Multiple.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The multiple attribute used by property definitions. When set, the property is multi-valued, accepting a list of values.
+ */
public class Multiple extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "multiple", "mul", "*" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoFullText.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoFullText.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoFullText.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The no full text search attribute used by the property definitions.
+ */
public class NoFullText extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "nofulltext", "nof", "nof" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoQueryOrder.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoQueryOrder.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NoQueryOrder.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The no query order attribute used by property definitions.
+ */
public class NoQueryOrder extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "noqueryorder", "nqord", "nqord" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeAttributes.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeAttributes.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeAttributes.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -14,22 +14,23 @@
import org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState.Value;
/**
- *
+ * The child node definition attribute collection.
*/
public class NodeAttributes implements CndElement {
- public static final char DEFAULT_FORMAT_DELIMITER = ' ';
+ private final Autocreated autocreated;
- private Autocreated autocreated;
+ private final Mandatory mandatory;
- private Mandatory mandatory;
+ private final Protected notDeletable;
- private Protected notDeletable;
-
private OnParentVersion opv;
- private SameNameSiblings sns;
+ private final SameNameSiblings sns;
+ /**
+ * Constructs node attributes all set to default values.
+ */
public NodeAttributes() {
this.autocreated = new Autocreated();
this.mandatory = new Mandatory();
@@ -44,7 +45,7 @@
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals( Object obj ) {
+ public boolean equals( final Object obj ) {
if ((obj == null) || !getClass().equals(obj.getClass())) {
return false;
}
@@ -53,12 +54,15 @@
return true;
}
- NodeAttributes that = (NodeAttributes)obj;
+ final NodeAttributes that = (NodeAttributes)obj;
return (this.autocreated.equals(that.autocreated) && this.mandatory.equals(that.mandatory)
&& this.notDeletable.equals(that.notDeletable) && (this.opv == that.opv) && this.sns.equals(that.sns));
}
+ /**
+ * @return the autocreated attribute (never <code>null</code>)
+ */
public Autocreated getAutocreated() {
return this.autocreated;
}
@@ -67,18 +71,30 @@
return CndNotationPreferences.DEFAULT_PREFERENCES.get(Preference.CHILD_NODE_ATTRIBUTES_DELIMITER);
}
+ /**
+ * @return the mandatory attribute (never <code>null</code>)
+ */
public Mandatory getMandatory() {
return this.mandatory;
}
+ /**
+ * @return the on parent version attribute (never <code>null</code>)
+ */
public OnParentVersion getOnParentVersion() {
return this.opv;
}
+ /**
+ * @return the protected attribute (never <code>null</code>)
+ */
public Protected getProtected() {
return this.notDeletable;
}
+ /**
+ * @return the same named siblings attribute (never <code>null</code>)
+ */
public SameNameSiblings getSameNameSiblings() {
return this.sns;
}
@@ -93,15 +109,29 @@
return Utils.hashCode(this.autocreated, this.mandatory, this.notDeletable, this.opv, this.sns);
}
- public boolean setAutocreated( Value newState ) {
+ /**
+ * @param newState the new value to set the autocreated attribute state to (cannot be <code>null</code>)
+ * @return <code>true</code> if the state changed
+ */
+ public boolean setAutocreated( final Value newState ) {
return this.autocreated.set(newState);
}
- public boolean setMandatory( Value newState ) {
+ /**
+ * @param newState the new value to set the mandatory attribute state to (cannot be <code>null</code>)
+ * @return <code>true</code> if state changed
+ */
+ public boolean setMandatory( final Value newState ) {
return this.mandatory.set(newState);
}
- public boolean setOnParentVersion( OnParentVersion newOpv ) {
+ /**
+ * @param newOpv the new value to set the on parent version attribute to (cannot be <code>null</code>)
+ * @return <code>true</code> if changed
+ */
+ public boolean setOnParentVersion( final OnParentVersion newOpv ) {
+ Utils.isNotNull(newOpv, "newOpv"); //$NON-NLS-1$
+
if (this.opv != newOpv) {
this.opv = newOpv;
return true;
@@ -110,11 +140,19 @@
return false;
}
- public boolean setProtected( Value newState ) {
+ /**
+ * @param newState the new value to set the protected attribute state to (cannot be <code>null</code>)
+ * @return <code>true</code> if state changed
+ */
+ public boolean setProtected( final Value newState ) {
return this.notDeletable.set(newState);
}
- public boolean setSameNameSibling( Value newState ) {
+ /**
+ * @param newState the new value to set the same named siblings attribute state to (cannot be <code>null</code>)
+ * @return <code>true</code> if state changed
+ */
+ public boolean setSameNameSibling( final Value newState ) {
return this.sns.set(newState);
}
@@ -124,9 +162,9 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
- String delim = getFormatDelimiter();
- StringBuilder builder = new StringBuilder();
+ public String toCndNotation( final NotationType notationType ) {
+ final String delim = getFormatDelimiter();
+ final StringBuilder builder = new StringBuilder();
boolean addDelim = false;
{ // autocreated
@@ -134,7 +172,7 @@
builder.append(delim);
}
- String notation = this.autocreated.toCndNotation(notationType);
+ final String notation = this.autocreated.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation);
@@ -147,7 +185,7 @@
builder.append(delim);
}
- String notation = this.mandatory.toCndNotation(notationType);
+ final String notation = this.mandatory.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation);
@@ -160,7 +198,7 @@
builder.append(delim);
}
- String notation = this.notDeletable.toCndNotation(notationType);
+ final String notation = this.notDeletable.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation);
@@ -173,7 +211,7 @@
builder.append(delim);
}
- String notation = this.opv.toCndNotation(notationType);
+ final String notation = this.opv.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation);
@@ -186,7 +224,7 @@
builder.append(delim);
}
- String notation = this.sns.toCndNotation(notationType);
+ final String notation = this.sns.toCndNotation(notationType);
if (!Utils.isEmpty(notation)) {
builder.append(notation);
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeTypeAttributes.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeTypeAttributes.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/NodeTypeAttributes.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -13,7 +13,7 @@
import org.jboss.tools.modeshape.jcr.cnd.CndNotationPreferences.Preference;
/**
- *
+ * Property attributes of a node type definitions.
*/
public class NodeTypeAttributes implements CndElement {
@@ -27,6 +27,9 @@
private Queryable queryable;
+ /**
+ * Constructs a node type definition's attribute collection all set to there default values.
+ */
public NodeTypeAttributes() {
this.orderable = new Orderable();
this.mixin = new Mixin();
@@ -42,11 +45,11 @@
* @param initialQueryable the initial queryable value (can be <code>null</code>)
* @param initialPrimaryItem the initial primary item value (can be <code>null</code>)
*/
- public NodeTypeAttributes( Orderable initialOrderable,
- Mixin initialMixin,
- Abstract initialAbstract,
- Queryable initialQueryable,
- PrimaryItem initialPrimaryItem ) {
+ public NodeTypeAttributes( final Orderable initialOrderable,
+ final Mixin initialMixin,
+ final Abstract initialAbstract,
+ final Queryable initialQueryable,
+ final PrimaryItem initialPrimaryItem ) {
this();
if (!this.orderable.equals(initialOrderable)) {
@@ -76,7 +79,7 @@
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals( Object obj ) {
+ public boolean equals( final Object obj ) {
if ((obj == null) || !getClass().equals(obj.getClass())) {
return false;
}
@@ -85,12 +88,15 @@
return true;
}
- NodeTypeAttributes that = (NodeTypeAttributes)obj;
+ final NodeTypeAttributes that = (NodeTypeAttributes)obj;
return (this.mixin.equals(that.mixin) && this.notConcrete.equals(that.notConcrete) && this.orderable.equals(that.orderable)
&& this.queryable.equals(that.queryable) && this.primaryItem.equals(that.primaryItem));
}
+ /**
+ * @return the abstract attribute (never <code>null</code>)
+ */
public Abstract getAbstract() {
return this.notConcrete;
}
@@ -99,18 +105,30 @@
return CndNotationPreferences.DEFAULT_PREFERENCES.get(Preference.NODE_TYPE_DEFINITION_ATTRIBUTES_DELIMITER);
}
+ /**
+ * @return the mixin attribute (never <code>null</code>)
+ */
public Mixin getMixin() {
return this.mixin;
}
+ /**
+ * @return the orderable attribute (never <code>null</code>)
+ */
public Orderable getOrderable() {
return this.orderable;
}
+ /**
+ * @return the primary item attribute (never <code>null</code>)
+ */
public PrimaryItem getPrimaryItem() {
return this.primaryItem;
}
+ /**
+ * @return the queryable attribute (never <code>null</code>)
+ */
public Queryable getQueryable() {
return this.queryable;
}
@@ -125,31 +143,53 @@
return Utils.hashCode(this.mixin, this.notConcrete, this.orderable, this.queryable, this.primaryItem);
}
- public boolean isPrimaryItemVariant() {
- return this.primaryItem.isVariant();
- }
-
- public boolean setAbstract( AttributeState.Value newState ) {
+ /**
+ * @param newState the proposed new state of the abstract attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
+ public boolean setAbstract( final AttributeState.Value newState ) {
return this.notConcrete.set(newState);
}
- public boolean setMixin( AttributeState.Value newState ) {
+ /**
+ * @param newState the proposed new state of the mixin attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
+ public boolean setMixin( final AttributeState.Value newState ) {
return this.mixin.set(newState);
}
- public boolean setOrderable( AttributeState.Value newState ) {
+ /**
+ * @param newState the proposed new state of the orderable attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
+ public boolean setOrderable( final AttributeState.Value newState ) {
return this.orderable.set(newState);
}
- public boolean setPrimaryItem( AttributeState.Value newState ) {
+ /**
+ * <strong>Can only be used to set to variant state.</strong>
+ *
+ * @param newState the proposed new state of the primary item attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
+ public boolean setPrimaryItem( final AttributeState.Value newState ) {
return this.primaryItem.set(newState);
}
- public boolean setPrimaryItem( String newPrimaryItem ) {
+ /**
+ * @param newPrimaryItem the proposed new value for the primary item (can be <code>null</code> or empty)
+ * @return <code>true</code> if primary item was changed
+ */
+ public boolean setPrimaryItem( final String newPrimaryItem ) {
return this.primaryItem.setPrimaryItem(newPrimaryItem);
}
- public boolean setQueryable( AttributeState.Value newState ) {
+ /**
+ * @param newState the proposed new state of the queryable attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
+ public boolean setQueryable( final AttributeState.Value newState ) {
return this.queryable.set(newState);
}
@@ -159,9 +199,9 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
+ public String toCndNotation( final NotationType notationType ) {
final String DELIM = getFormatDelimiter();
- StringBuilder builder = new StringBuilder();
+ final StringBuilder builder = new StringBuilder();
boolean addDelim = Utils.build(builder, false, DELIM, this.orderable.toCndNotation(notationType));
addDelim = Utils.build(builder, addDelim, DELIM, this.mixin.toCndNotation(notationType));
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/OnParentVersion.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/OnParentVersion.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/OnParentVersion.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -14,46 +14,94 @@
import org.jboss.tools.modeshape.jcr.Utils;
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The primary item attribute used by child node definitions and property definitions.
+ */
public enum OnParentVersion implements CndElement {
+ /**
+ * Upon check-in, a VersionException will be thrown as the creation of a version is prohibited.
+ */
ABORT(OnParentVersionAction.ABORT),
+
+ /**
+ * Upon check-in, the new version will contain this property. However, when the node is restored from a previous node, the value
+ * of this property is NOT being restored.
+ */
COMPUTE(OnParentVersionAction.COMPUTE),
+
+ /**
+ * Upon check-in, the value of the property will be copied to the new version.
+ */
COPY(OnParentVersionAction.COPY),
+
+ /**
+ * Upon check-in, the version entry will not contain this property, i.e. it is not versioned.
+ */
IGNORE(OnParentVersionAction.IGNORE),
+
+ /**
+ * Upon check-in, a new property with the same name will be created and re-initialized with any default values specified or as
+ * empty. Essentially, the property is re-set when a new version of the node is created.
+ */
INITIALIZE(OnParentVersionAction.INITIALIZE),
+
+ /**
+ * Indicates that OPV is a variant. Cannot be used with {@link #find(String)}.
+ */
VARIANT(-1),
+
+ /**
+ * Upon check-in, the value of the property will be copied to the new version.
+ */
VERSION(OnParentVersionAction.VERSION);
+ /**
+ * The default value. Value is {@value} .
+ */
public static OnParentVersion DEFAULT_VALUE = COPY;
- public static OnParentVersion findUsingJcrValue( int jcrValue ) {
- for (OnParentVersion opv : OnParentVersion.values()) {
- if (opv.asJcrValue() == jcrValue) {
+ /**
+ * @param notation the CND representation of the OPV (cannot be <code>null</code> or empty)
+ * @return the OPV (never <code>null</code>)
+ * @throws IllegalArgumentException if the <code>jcrValue</code> is not valid
+ */
+ public static OnParentVersion find( final String notation ) {
+ for (final OnParentVersion opv : OnParentVersion.values()) {
+ if (opv.toCndNotation(NotationType.LONG).equalsIgnoreCase(notation)
+ || opv.toCndNotation(NotationType.COMPRESSED).equalsIgnoreCase(notation)
+ || opv.toCndNotation(NotationType.COMPACT).equalsIgnoreCase(notation)) {
return opv;
}
}
- throw new IllegalArgumentException(NLS.bind(Messages.invalidFindUsingJcrValueRequest, jcrValue));
+ throw new IllegalArgumentException(NLS.bind(Messages.invalidFindRequest, notation));
}
- public static OnParentVersion find( String notation ) {
- for (OnParentVersion opv : OnParentVersion.values()) {
- if (opv.toCndNotation(NotationType.LONG).equalsIgnoreCase(notation)
- || opv.toCndNotation(NotationType.COMPRESSED).equalsIgnoreCase(notation)
- || opv.toCndNotation(NotationType.COMPACT).equalsIgnoreCase(notation)) {
+ /**
+ * @param jcrValue the integer representation
+ * @return the OPV (never <code>null</code>)
+ * @throws IllegalArgumentException if the <code>jcrValue</code> is not valid
+ */
+ public static OnParentVersion findUsingJcrValue( final int jcrValue ) {
+ for (final OnParentVersion opv : OnParentVersion.values()) {
+ if (opv.asJcrValue() == jcrValue) {
return opv;
}
}
- throw new IllegalArgumentException(NLS.bind(Messages.invalidFindRequest, notation));
+ throw new IllegalArgumentException(NLS.bind(Messages.invalidFindUsingJcrValueRequest, jcrValue));
}
+ /**
+ * @return a collection of all valid CND notation values (never <code>null</code> or empty)
+ */
public static String[] toArray() {
- OnParentVersion[] allOpv = OnParentVersion.values();
- String[] notations = new String[allOpv.length];
+ final OnParentVersion[] allOpv = OnParentVersion.values();
+ final String[] notations = new String[allOpv.length];
int i = 0;
- for (OnParentVersion opv : allOpv) {
+ for (final OnParentVersion opv : allOpv) {
notations[i++] = opv.toCndNotation(NotationType.LONG);
}
@@ -62,10 +110,13 @@
private final int jcrValue;
- private OnParentVersion( int jcrValue ) {
+ private OnParentVersion( final int jcrValue ) {
this.jcrValue = jcrValue;
}
+ /**
+ * @return the JCR integer representation
+ */
public int asJcrValue() {
return this.jcrValue;
}
@@ -76,7 +127,7 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
+ public String toCndNotation( final NotationType notationType ) {
if ((this == DEFAULT_VALUE) && (NotationType.LONG != notationType)) {
return Utils.EMPTY_STRING;
}
@@ -87,14 +138,14 @@
return super.toString();
}
-
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Enum#toString()
- */
- @Override
- public String toString() {
- return OnParentVersionAction.nameFromValue(asJcrValue());
- }
+ //
+ // /**
+ // * {@inheritDoc}
+ // *
+ // * @see java.lang.Enum#toString()
+ // */
+ // @Override
+ // public String toString() {
+ // return OnParentVersionAction.nameFromValue(asJcrValue());
+ // }
}
\ No newline at end of file
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Orderable.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Orderable.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Orderable.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The orderable attribute used by node type definitions.
+ */
public class Orderable extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "orderable", "ord", "o" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PrimaryItem.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PrimaryItem.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PrimaryItem.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -11,20 +11,26 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
import org.jboss.tools.modeshape.jcr.cnd.LocalName;
+/**
+ * The primary item attribute used by node type definitions. This primary item may be a child node or a property.
+ */
public class PrimaryItem extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "primaryitem", "!", "!" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
private final LocalName primaryItem = new LocalName();
/**
* {@inheritDoc}
- *
+ *
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#get()
*/
@Override
public Value get() {
- Value state = super.get();
+ final Value state = super.get();
if (state == Value.VARIANT) {
return Value.VARIANT;
@@ -67,18 +73,20 @@
return NOTATION[CndElement.NotationType.LONG_INDEX];
}
+ /**
+ * @return the primary item (can be <code>null</code> or empty)
+ */
public String getPrimaryItem() {
return this.primaryItem.get();
}
/**
- * {@inheritDoc}
- * Only can be used to set to variant state.
- *
+ * {@inheritDoc} Only can be used to set to variant state.
+ *
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#set(org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState.Value)
*/
@Override
- public boolean set( Value newState ) {
+ public boolean set( final Value newState ) {
if (newState == Value.VARIANT) {
if (super.set(Value.VARIANT)) {
return true;
@@ -88,7 +96,11 @@
return false;
}
- public boolean setPrimaryItem( String newPrimaryItem ) {
+ /**
+ * @param newPrimaryItem the proposed new primary item (can be <code>null</code> or empty)
+ * @return <code>true</code> if the primary item was changed
+ */
+ public boolean setPrimaryItem( final String newPrimaryItem ) {
if (this.primaryItem.set(newPrimaryItem)) {
if (Utils.isEmpty(newPrimaryItem) && !isVariant()) {
super.set(Value.IS_NOT);
@@ -108,7 +120,7 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
+ public String toCndNotation( final NotationType notationType ) {
String notation = super.toCndNotation(notationType);
if (!isVariant() && is()) {
@@ -117,14 +129,14 @@
return notation;
}
-
+
/**
* {@inheritDoc}
- *
+ *
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#toVariantCndNotation(java.lang.String)
*/
@Override
- protected String toVariantCndNotation( String cndNotation ) {
+ protected String toVariantCndNotation( final String cndNotation ) {
return cndNotation + ' ' + AttributeState.VARIANT_CHAR;
}
}
\ No newline at end of file
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyAttributes.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyAttributes.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyAttributes.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -13,7 +13,7 @@
import org.jboss.tools.modeshape.jcr.cnd.CndNotationPreferences.Preference;
/**
- *
+ * Property attributes of a property definitions.
*/
public class PropertyAttributes implements CndElement {
@@ -33,6 +33,9 @@
private QueryOperators queryOps;
+ /**
+ * Constructs a property definition's attribute collecdtion all set to there default values.
+ */
public PropertyAttributes() {
this.autocreated = new Autocreated();
this.mandatory = new Mandatory();
@@ -120,6 +123,9 @@
&& (this.opv == that.opv) && this.queryOps.equals(that.queryOps));
}
+ /**
+ * @return the autocreated attribute (never <code>null</code>)
+ */
public Autocreated getAutocreated() {
return this.autocreated;
}
@@ -128,30 +134,51 @@
return CndNotationPreferences.DEFAULT_PREFERENCES.get(Preference.PROPERTY_DEFINITION_ATTRIBUTES_DELIMITER);
}
+ /**
+ * @return the mandatory attribute (never <code>null</code>)
+ */
public Mandatory getMandatory() {
return this.mandatory;
}
+ /**
+ * @return the multiple attribute (never <code>null</code>)
+ */
public Multiple getMultiple() {
return this.multiple;
}
+ /**
+ * @return the no full text search attribute (never <code>null</code>)
+ */
public NoFullText getNoFullText() {
return this.noFullText;
}
+ /**
+ * @return the no query order attribute (never <code>null</code>)
+ */
public NoQueryOrder getNoQueryOrder() {
return this.noQueryOrder;
}
+ /**
+ * @return the on parent version attribute (never <code>null</code>)
+ */
public OnParentVersion getOnParentVersion() {
return this.opv;
}
+ /**
+ * @return the protected attribute (never <code>null</code>)
+ */
public Protected getProtected() {
return this.notDeletable;
}
+ /**
+ * @return the query operators attribute (never <code>null</code>)
+ */
public QueryOperators getQueryOps() {
return this.queryOps;
}
@@ -167,26 +194,50 @@
this.notDeletable, this.opv, this.queryOps);
}
+ /**
+ * @param newState the proposed new state of the autocreated attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
public boolean setAutocreated( AttributeState.Value newState ) {
return this.autocreated.set(newState);
}
+ /**
+ * @param newState the proposed new state of the mandatory attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
public boolean setMandatory( AttributeState.Value newState ) {
return this.mandatory.set(newState);
}
+ /**
+ * @param newState the proposed new state of the multiple attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
public boolean setMultiple( AttributeState.Value newState ) {
return this.multiple.set(newState);
}
+ /**
+ * @param newState the proposed new state of the no full text search attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
public boolean setNoFullText( AttributeState.Value newState ) {
return this.noFullText.set(newState);
}
+ /**
+ * @param newState the proposed new state of the no query order attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
public boolean setNoQueryOrder( AttributeState.Value newState ) {
return this.noQueryOrder.set(newState);
}
+ /**
+ * @param newOpv the proposed new value of the on parent version attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the value was changed
+ */
public boolean setOnParentVersion( OnParentVersion newOpv ) {
if (this.opv != newOpv) {
this.opv = newOpv;
@@ -196,6 +247,10 @@
return false;
}
+ /**
+ * @param newState the proposed new state of the protected attribute (cannot be <code>null</code>)
+ * @return <code>true</code> if the state was changed
+ */
public boolean setProtected( AttributeState.Value newState ) {
return this.notDeletable.set(newState);
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyType.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyType.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyType.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,23 +9,84 @@
import org.eclipse.osgi.util.NLS;
import org.jboss.tools.modeshape.jcr.Messages;
+import org.jboss.tools.modeshape.jcr.Utils;
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The type property of a property definition.
+ */
public enum PropertyType implements CndElement {
+ /**
+ * The property value is a UTF-8 encoded string.
+ */
BINARY(javax.jcr.PropertyType.BINARY),
+
+ /**
+ * The property value is any string that can be converted via {@link Boolean#valueOf(String)}, such as �true�, �false�, �0�,
+ * �1�.
+ */
BOOLEAN(javax.jcr.PropertyType.BOOLEAN),
+
+ /**
+ * The property value is a valid date in ISO 8601:2000-compliant format: sYYYY-MM-DDThh:mm:ss.sssTZD.
+ */
DATE(javax.jcr.PropertyType.DATE),
+
+ /**
+ * The property value is a decimal number.
+ */
DECIMAL(javax.jcr.PropertyType.DECIMAL),
+
+ /**
+ * The property value is a double number.
+ */
DOUBLE(javax.jcr.PropertyType.DOUBLE),
+
+ /**
+ * The property value is a long number.
+ */
LONG(javax.jcr.PropertyType.LONG),
+
+ /**
+ * The property value is a valid JCR local name, fully qualified with namespace prefix.
+ */
NAME(javax.jcr.PropertyType.NAME),
+
+ /**
+ * The property value is a valid JCR path whose namespace prefixes are all registered correctly. The path does not have to point
+ * to an existing node.
+ */
PATH(javax.jcr.PropertyType.PATH),
+
+ /**
+ * The property value is a valid JCR identifier.
+ */
REFERENCE(javax.jcr.PropertyType.REFERENCE),
+
+ /**
+ * The property value is a string.
+ */
STRING(javax.jcr.PropertyType.STRING),
+
+ /**
+ * The property value is any string. The value is automatically converted to the appropriate type of the property when created.
+ */
UNDEFINED(javax.jcr.PropertyType.UNDEFINED),
+
+ /**
+ * The property value is a URI string.
+ */
URI(javax.jcr.PropertyType.URI),
+
+ /**
+ * The property value is a UTF-8 encoded string.
+ */
VARIANT(-1),
+
+ /**
+ * The property value is a JCR identifier.
+ */
WEAKREFERENCE(javax.jcr.PropertyType.WEAKREFERENCE);
/**
@@ -33,32 +94,52 @@
*/
public static final PropertyType DEFAULT_VALUE = PropertyType.STRING;
+ /**
+ * The value prefixing the CND notation of the type.
+ */
public static final String NOTATION_PREFIX = "("; //$NON-NLS-1$
+ /**
+ * The value suffixing the CND notation of the type.
+ */
public static final String NOTATION_SUFFIX = ")"; //$NON-NLS-1$
+ /**
+ * The shortened value for the {@link #UNDEFINED} type.
+ */
public static final String UNDEFINED_ADDITIONAL_NOTATION = "*"; //$NON-NLS-1$
- public static PropertyType find( String value ) {
- if (UNDEFINED_ADDITIONAL_NOTATION.equals(value)) {
+ /**
+ * @param cndNotation the CND notation of the property type being requested (cannot be <code>null</code> or empty)
+ * @return the property type (never <code>null</code>)
+ */
+ public static PropertyType find( final String cndNotation ) {
+ Utils.verifyIsNotEmpty(cndNotation, "cndNotation"); //$NON-NLS-1$
+
+ if (UNDEFINED_ADDITIONAL_NOTATION.equals(cndNotation)) {
return UNDEFINED;
}
- for (PropertyType type : PropertyType.values()) {
+ for (final PropertyType type : PropertyType.values()) {
if (PropertyType.VARIANT == type) {
continue;
}
- if (type.toString().equalsIgnoreCase(value)) {
+ if (type.toString().equalsIgnoreCase(cndNotation)) {
return type;
}
}
- throw new IllegalArgumentException(NLS.bind(Messages.invalidFindRequest, value));
+ throw new IllegalArgumentException(NLS.bind(Messages.invalidFindRequest, cndNotation));
}
- public static PropertyType findUsingJcrValue( int propertyType ) {
- for (PropertyType type : PropertyType.values()) {
+ /**
+ * @param propertyType the {@link javax.jcr.PropertyType} of the type being requested
+ * @return the property type (never <code>null</code>
+ * @throws IllegalArgumentException if an invalid input value
+ */
+ public static PropertyType findUsingJcrValue( final int propertyType ) {
+ for (final PropertyType type : PropertyType.values()) {
if (type.asJcrValue() == propertyType) {
return type;
}
@@ -67,13 +148,16 @@
throw new IllegalArgumentException(NLS.bind(Messages.invalidFindUsingJcrValueRequest, propertyType));
}
+ /**
+ * @return a collection of all the valid CND notations (never <code>null</code> or empty)
+ */
public static String[] validValues() {
- PropertyType[] allTypes = PropertyType.values();
+ final PropertyType[] allTypes = PropertyType.values();
// add one for additional undefined notation added later but subtract one for variant
- String[] result = new String[allTypes.length];
+ final String[] result = new String[allTypes.length];
int i = 0;
- for (PropertyType type : allTypes) {
+ for (final PropertyType type : allTypes) {
if (type != VARIANT) {
result[i++] = type.toString();
}
@@ -85,10 +169,15 @@
private final int jcrValue;
- private PropertyType( int propertyType ) {
+ private PropertyType( final int propertyType ) {
this.jcrValue = propertyType;
}
+ /**
+ * If variant, will return <code>-1</code> which is not a valid {@link javax.jcr.PropertyType}.
+ *
+ * @return the {@link javax.jcr.PropertyType} of the type
+ */
public int asJcrValue() {
return this.jcrValue;
}
@@ -99,13 +188,17 @@
* @see org.jboss.tools.modeshape.jcr.cnd.CndElement#toCndNotation(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- public String toCndNotation( NotationType notationType ) {
- StringBuilder builder = new StringBuilder(NOTATION_PREFIX);
+ public String toCndNotation( final NotationType notationType ) {
+ final StringBuilder builder = new StringBuilder(NOTATION_PREFIX);
if (this == VARIANT) {
builder.append(AttributeState.VARIANT_CHAR);
} else {
- builder.append(toString());
+ if ((this == UNDEFINED) && (NotationType.LONG != notationType)) {
+ builder.append(UNDEFINED_ADDITIONAL_NOTATION);
+ } else {
+ builder.append(toString());
+ }
}
return builder.append(NOTATION_SUFFIX).toString();
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyValue.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyValue.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/PropertyValue.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -29,26 +29,33 @@
*/
public class PropertyValue implements Value {
- private int type;
+ private final int type;
private String value;
- public PropertyValue( int jcrType ) {
+ /**
+ * @param jcrType the {@link PropertyType} used to create the value
+ */
+ public PropertyValue( final int jcrType ) {
this.type = jcrType;
}
- public PropertyValue( int jcrType,
- String initialValue ) {
+ /**
+ * @param jcrType the {@link PropertyType} used to create the value
+ * @param initialValue the initial property value (can be <code>null</code> or empty)
+ */
+ public PropertyValue( final int jcrType,
+ final String initialValue ) {
this(jcrType);
this.value = initialValue;
}
/**
* {@inheritDoc}
- *
+ *
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
- public boolean equals( Object obj ) {
+ public boolean equals( final Object obj ) {
if ((obj == null) || !getClass().equals(obj.getClass())) {
return false;
}
@@ -57,7 +64,7 @@
return true;
}
- PropertyValue that = (PropertyValue)obj;
+ final PropertyValue that = (PropertyValue)obj;
return (Utils.equals(this.type, that.type) && Utils.equals(this.value, that.value));
}
@@ -106,8 +113,8 @@
* @see javax.jcr.Binary#read(byte[], long)
*/
@Override
- public int read( byte[] b,
- long position ) throws IOException {
+ public int read( final byte[] b,
+ final long position ) throws IOException {
if (getSize() <= position) {
return -1;
}
@@ -121,7 +128,7 @@
long skip = position;
while (skip > 0) {
- long skipped = stream.skip(skip);
+ final long skipped = stream.skip(skip);
if (skipped <= 0) {
return -1;
@@ -131,19 +138,19 @@
}
return stream.read(b);
- } catch (IOException e) {
+ } catch (final IOException e) {
error = e;
throw e;
} finally {
if (stream != null) {
try {
stream.close();
- } catch (RuntimeException t) {
+ } catch (final RuntimeException t) {
// Only throw if we've not already thrown an exception ...
if (error == null) {
throw t;
}
- } catch (IOException t) {
+ } catch (final IOException t) {
// Only throw if we've not already thrown an exception ...
if (error == null) {
throw t;
@@ -184,14 +191,14 @@
public Calendar getDate() throws ValueFormatException {
try {
// TODO how do you determine the format here
- SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); //$NON-NLS-1$
- Calendar cal = Calendar.getInstance();
- Date d1 = df.parse(this.value);
+ final SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); //$NON-NLS-1$
+ final Calendar cal = Calendar.getInstance();
+ final Date d1 = df.parse(this.value);
cal.setTime(d1);
return cal;
- } catch (Exception e) {
- String from = PropertyType.nameFromValue(getType());
- String to = PropertyType.nameFromValue(PropertyType.LONG);
+ } catch (final Exception e) {
+ final String from = PropertyType.nameFromValue(getType());
+ final String to = PropertyType.nameFromValue(PropertyType.LONG);
throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(this.value, from, to), e);
}
}
@@ -205,10 +212,10 @@
public BigDecimal getDecimal() throws ValueFormatException {
try {
return new BigDecimal(this.value);
- } catch (NumberFormatException t) {
- String from = PropertyType.nameFromValue(getType());
- String to = PropertyType.nameFromValue(PropertyType.DECIMAL);
- throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(value, from, to), t);
+ } catch (final NumberFormatException t) {
+ final String from = PropertyType.nameFromValue(getType());
+ final String to = PropertyType.nameFromValue(PropertyType.DECIMAL);
+ throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(this.value, from, to), t);
}
}
@@ -221,10 +228,10 @@
public double getDouble() throws ValueFormatException {
try {
return Double.parseDouble(this.value);
- } catch (NumberFormatException t) {
- String from = PropertyType.nameFromValue(getType());
- String to = PropertyType.nameFromValue(PropertyType.DOUBLE);
- throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(value, from, to), t);
+ } catch (final NumberFormatException t) {
+ final String from = PropertyType.nameFromValue(getType());
+ final String to = PropertyType.nameFromValue(PropertyType.DOUBLE);
+ throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(this.value, from, to), t);
}
}
@@ -237,10 +244,10 @@
public long getLong() throws ValueFormatException {
try {
return Long.parseLong(this.value);
- } catch (NumberFormatException t) {
- String from = PropertyType.nameFromValue(getType());
- String to = PropertyType.nameFromValue(PropertyType.LONG);
- throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(value, from, to), t);
+ } catch (final NumberFormatException t) {
+ final String from = PropertyType.nameFromValue(getType());
+ final String to = PropertyType.nameFromValue(PropertyType.LONG);
+ throw new ValueFormatException(RestClientI18n.unableToConvertValue.text(this.value, from, to), t);
}
}
@@ -278,7 +285,7 @@
/**
* {@inheritDoc}
- *
+ *
* @see java.lang.Object#hashCode()
*/
@Override
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Protected.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Protected.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Protected.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,15 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The protected attribute used by property definitions and child node definitions. Protected properties cannot be removed from
+ * their parent node unless the parent node is deleted.
+ */
public class Protected extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "protected", "pro", "p" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/QueryOperators.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/QueryOperators.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/QueryOperators.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -18,21 +18,60 @@
import org.jboss.tools.modeshape.jcr.cnd.attributes.QueryOperators.QueryOperator;
/**
- *
+ * The primary item attribute used by property definitions.
*/
public final class QueryOperators extends ListAttributeState<QueryOperator> {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "queryops", "qop", "qop" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ /**
+ * The valid query operators.
+ */
public enum QueryOperator implements CndElement {
+
+ /**
+ * The equals sign.
+ */
EQUALS("=", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO), //$NON-NLS-1$
+
+ /**
+ * The greater than sign.
+ */
GREATER_THAN(">", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO), //$NON-NLS-1$
+
+ /**
+ * The greater than or equal to sign.
+ */
GREATER_THAN_EQUALS(">=", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO), //$NON-NLS-1$
+
+ /**
+ * The less than sign.
+ */
LESS_THAN("<", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO), //$NON-NLS-1$
+
+ /**
+ * The less than or equal to sign.
+ */
LESS_THAN_EQUALS("<=", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO), //$NON-NLS-1$
+
+ /**
+ * The LIKE sign.
+ */
LIKE("LIKE", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO), //$NON-NLS-1$
+
+ /**
+ * The not equals sign.
+ */
NOT_EQUALS("<>", QueryObjectModelConstants.JCR_OPERATOR_EQUAL_TO); //$NON-NLS-1$
+ /**
+ * @param notation the operator's CND notation (cannot be <code>null</code> or empty)
+ * @return the query operator (never <code>null</code>)
+ * @throws IllegalArgumentException if an invalid CND notation
+ */
public static QueryOperator find( String notation ) {
for (QueryOperator operator : QueryOperator.values()) {
if (operator.notation.equals(notation)) {
@@ -43,6 +82,11 @@
throw new IllegalArgumentException(NLS.bind(Messages.invalidFindRequest, notation));
}
+ /**
+ * @param jcrValue the {@link QueryObjectModelConstants} value of the query operator (cannot be <code>null</code> or empty)
+ * @return the query operator (never <code>null</code>)
+ * @throws IllegalArgumentException if an invalid JCR value
+ */
public static QueryOperator findUsingJcrValue( String jcrValue ) {
for (QueryOperator operator : QueryOperator.values()) {
if (operator.asJcrValue().equals(jcrValue)) {
@@ -62,6 +106,9 @@
this.jcrValue = jcrValue;
}
+ /**
+ * @return the {@link QueryObjectModelConstants} value (never <code>null</code> or empty)
+ */
public String asJcrValue() {
return this.jcrValue;
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Queryable.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Queryable.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/Queryable.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -10,12 +10,24 @@
import org.jboss.tools.modeshape.jcr.Utils;
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The queryable attribute used by child node definitions.
+ */
public class Queryable extends AttributeState {
+ /**
+ * The CND notation for each notation type for when queryable.
+ */
public static final String[] QUERY_NOTATION = new String[] { "query", "q", "q" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ /**
+ * The CND notation for each notation type for when not queryable..
+ */
public static final String[] NO_QUERY_NOTATION = new String[] { "noquery", "nq", "nq" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ /**
+ * Constructs a queryable attribute set to be a variant (the default).
+ */
public Queryable() {
set(Value.VARIANT);
}
@@ -23,16 +35,6 @@
/**
* {@inheritDoc}
*
- * @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#hasCndNotation()
- */
- @Override
- protected boolean hasCndNotation() {
- return !isVariant();
- }
-
- /**
- * {@inheritDoc}
- *
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#getCompactCndNotation()
*/
@Override
@@ -84,4 +86,14 @@
return Utils.EMPTY_STRING;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.tools.modeshape.jcr.cnd.attributes.AttributeState#hasCndNotation()
+ */
+ @Override
+ protected boolean hasCndNotation() {
+ return !isVariant();
+ }
+
}
\ No newline at end of file
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/RequiredTypes.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/RequiredTypes.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/RequiredTypes.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -12,12 +12,18 @@
import org.jboss.tools.modeshape.jcr.Utils;
/**
- *
+ * The required types of a child node definition.
*/
public final class RequiredTypes extends ListAttributeState<String> {
+ /**
+ * The CND list prefix.
+ */
public static final String NOTATION_PREFIX = "("; //$NON-NLS-1$;
+ /**
+ * The CND list suffix.
+ */
public static final String NOTATION_SUFFIX = ")"; //$NON-NLS-1$
/**
@@ -26,7 +32,7 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getCndNotationPrefix(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- protected String getCndNotationPrefix( NotationType notationType ) {
+ protected String getCndNotationPrefix( final NotationType notationType ) {
return NOTATION_PREFIX;
}
@@ -36,35 +42,38 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getCndNotationSuffix(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- protected String getCndNotationSuffix( NotationType notationType ) {
+ protected String getCndNotationSuffix( final NotationType notationType ) {
return NOTATION_SUFFIX;
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getListPrefixEndDelimiter()
+ */
+ @Override
+ protected String getListPrefixEndDelimiter() {
+ return Utils.EMPTY_STRING;
+ }
+
+ /**
+ * @return the collection of required types (never <code>null</code>)
+ */
public String[] toArray() {
- List<String> typeNames = getSupportedItems();
+ final List<String> typeNames = getSupportedItems();
if (Utils.isEmpty(typeNames)) {
return Utils.EMPTY_STRING_ARRAY;
}
- String[] result = new String[typeNames.size()];
+ final String[] result = new String[typeNames.size()];
int i = 0;
- for (String typeName : typeNames) {
+ for (final String typeName : typeNames) {
result[i++] = typeName;
}
return result;
}
- /**
- * {@inheritDoc}
- *
- * @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getDelimiter()
- */
- @Override
- protected String getDelimiter() {
- return Utils.EMPTY_STRING;
- }
-
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SameNameSiblings.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SameNameSiblings.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SameNameSiblings.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -9,8 +9,14 @@
import org.jboss.tools.modeshape.jcr.cnd.CndElement;
+/**
+ * The same named siblings attribute used by child node definitions.
+ */
public class SameNameSiblings extends AttributeState {
+ /**
+ * The CND notation for each notation type.
+ */
public static final String[] NOTATION = new String[] { "sns", "*", "*" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
/**
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SuperTypes.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SuperTypes.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/SuperTypes.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -16,6 +16,9 @@
*/
public final class SuperTypes extends ListAttributeState<String> {
+ /**
+ * The CND list suffix.
+ */
public static final String NOTATION_PREFIX = ">"; //$NON-NLS-1$
/**
@@ -24,21 +27,24 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getCndNotationPrefix(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- protected String getCndNotationPrefix( NotationType notationType ) {
+ protected String getCndNotationPrefix( final NotationType notationType ) {
return NOTATION_PREFIX;
}
+ /**
+ * @return the collection of super types (never <code>null</code>)
+ */
public String[] toArray() {
- List<String> superTypes = getSupportedItems();
+ final List<String> superTypes = getSupportedItems();
if (Utils.isEmpty(superTypes)) {
return Utils.EMPTY_STRING_ARRAY;
}
- String[] result = new String[superTypes.size()];
+ final String[] result = new String[superTypes.size()];
int i = 0;
- for (String superType : superTypes) {
+ for (final String superType : superTypes) {
result[i++] = superType;
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ValueConstraints.java
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ValueConstraints.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/cnd/attributes/ValueConstraints.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -12,10 +12,13 @@
import org.jboss.tools.modeshape.jcr.Utils;
/**
- *
+ * The value constraints of a property definition.
*/
public final class ValueConstraints extends ListAttributeState<String> {
+ /**
+ * The CND list suffix.
+ */
public static final String NOTATION_PREFIX = "<"; //$NON-NLS-1$
/**
@@ -24,21 +27,24 @@
* @see org.jboss.tools.modeshape.jcr.cnd.attributes.ListAttributeState#getCndNotationPrefix(org.jboss.tools.modeshape.jcr.cnd.CndElement.NotationType)
*/
@Override
- protected String getCndNotationPrefix( NotationType notationType ) {
+ protected String getCndNotationPrefix( final NotationType notationType ) {
return NOTATION_PREFIX;
}
+ /**
+ * @return the collection of value constraints (never <code>null</code>)
+ */
public String[] toArray() {
- List<String> constraints = getSupportedItems();
+ final List<String> constraints = getSupportedItems();
if (Utils.isEmpty(constraints)) {
return Utils.EMPTY_STRING_ARRAY;
}
- String[] result = new String[constraints.size()];
+ final String[] result = new String[constraints.size()];
int i = 0;
- for (String constraint : constraints) {
+ for (final String constraint : constraints) {
result[i++] = constraint;
}
Modified: trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/messages.properties
===================================================================
--- trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/messages.properties 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/plugins/org.jboss.tools.modeshape.jcr/src/org/jboss/tools/modeshape/jcr/messages.properties 2012-03-05 19:30:11 UTC (rev 39293)
@@ -12,58 +12,97 @@
childDefinitionName = child node definition name
cndHasNoNamespacesOrNodeTypeDefinitions = CND has no namespace mappings or node type definitions.
+# 0 = child node definition name
defaultTypeExistsButMarkedAsVariant = Child node definition "{0}" has default type marked as a variant but has a default type.
defaultTypeName = default type name
defaultValue = default value
+# 0 = property definition name
defaultValuesExistButMarkedAsVariant = Property definition "{0}" has default values marked as a variant but has one or more default values.
+# 0 = node type name, 1 = property definition name
duplicateChildNodeDefinitionName = There are multiple child node definitions with a name of "{1}" in node type definition "{0}."
+# 0 = duplicate default value, 1 = property definition name
duplicateDefaultValue = There are multiple default values of "{1}" in property definition "{0}."
+# 0 = prefix
duplicateNamespacePrefix = There are multiple namespaces with a prefix of "{0}."
+# 0 = URI
duplicateNamespaceUri = There are multiple namespaces with a URI of "{0}."
+# 0 = node type definition name
duplicateNodeTypeDefinitionName = There are multiple node type definitions with the name of "{0}."
+# 0 = property definition name, 1 = node type definition name
duplicatePropertyDefinitionName = There are multiple property definitions with a name of "{1}" in node type definition "{0}."
+# 0 = property definition name, 1 = query operator
duplicateQueryOperator = There are multiple query operators of "{1}" in property definition "{0}."
+# 0 = child node definition name, 1 = duplicate required type name
duplicateRequiredType = There are multiple required types with a name of "{1}" in child node definition "{0}."
+# 0 = node type definition name, 1 = duplicate super type name
duplicateSuperType = There are multiple super types with a name of "{1}" in node type definition "{0}."
+# 0 = property definition name, 1 = duplicate value constraint
duplicateValueConstraint = There are multiple value constraints of "{1}" in property definition "{0}."
+# 0 = property definition name
emptyDefaultValues = The property definition "{0}" must have at least one default value.
+# 0 = name
emptyLocalName = The "{0}" must have a value.
emptyQueryOperator = The query operator is empty.
+# 0 = property definition name
emptyQueryOperators = The property definition "{0}" must have at least one query operator.
+# 0 = child node definition name
emptyRequiredTypes = The child node definition "{0}" must have at least one required type.
+# 0 = node type definition name
emptySuperTypes = The node type definition "{0}" must have at least one super type.
+# 0 = property or attribute name of a node type definition, property definition, or child node definition
emptyValue = A "{0}" value cannot be empty
+# 0 = property definition name
emptyValueConstraints = The property definition "{0}" must have at least one value constraint.
-errorImportingCndContent = Error importing {0}: {1}
+# 0 = property value, 1 = property type, 2 = property name
errorValidatingPropertyValueForType = An unexpected error occurred validating value "{0}" of type "{1}" of property "{2}."
+# 0 = parser token value, 1 = CND line number, 2 = CND column number
expectedNamespaceOrNodeDefinition = Expected either a namespace mapping or a node type defininition, but found {0} at line {1}, column {2}
-expectedValidQueryOperator = Expected a valid query operator ('=', '<>', '<', '<=', '>', '>=', or 'LIKE'), but was {0}
+# 0 = invalid input value
invalidFindRequest = The "find" method cannot be used for a value of "{0}."
+# 0 = invalid input value
invalidFindUsingJcrValueRequest = The "findUsingJcrValue" method cannot be used for a value of "{0}."
+# 0 = property definition name
invalidGetStateRequest = The "getState" method cannot be used for property "{0}."
-invalidQueryOperator = "{0}" is not a valid query operator.
+# 0 = invalid query operator
+invalidQueryOperator = Expected a valid query operator ('=', '<>', '<', '<=', '>', '>=', or 'LIKE'), but was "{0}."
+# 0 = property value, 1 = property type, 2 = property definition name
invalidPropertyValueForType = The value "{0}" is not valid for a "{1}" property type in property "{2}."
+# 0 = URI value
invalidUri = "{0}" is not a valid URI.
+# 0 = a name
localNameEqualToSelfOrParent = The "{0}" cannot be equal to self (dot) or parent (dot dot).
+# 0 = property or attribute name
localNameHasInvalidCharacters = The "{0}" contains invalid characters.
missingName = <missing name>
+# 0 = property definition name
multipleDefaultValuesForSingleValuedProperty = The single-valued property definition "{0}" cannot have multiple default values.
+# = CND line number, 1 = CND column number
multipleKeywordNotValidInJcr2CndFormat = The 'MULTIPLE' attribute at line {0}, column {1} is no longer valid in the JCR 2.0 CND format. Use 'SNS' instead.
namespacePrefix = namespace prefix
namespaceUri = namespace URI
+# 0 = node type definition name
nodeTypeDefinitionHasNoPropertyDefinitionsOrChildNodeDefinitions = The node type definition "{0}" has no property definitions or child node definitions.
nodeTypeDefinitionName = node type definition name
+# 0 = name of object
objectIsNull = Object {0} is null
okValidationMsg = There are no validation errors.
+# 0 = node type definition name
primaryItemExistsButMarkedAsVariant = Node type definition "{0}" has primary item marked as a variant but has a primary item.
primaryItemName = primary item name
+# 0 = CND line number, 1 = CND column number
primaryKeywordNotValidInJcr2CndFormat = The 'PRIMARY' attribute at line {0}, column {1} is no longer valid in the JCR 2.0 CND format. Only child node definitions can be a primary item.
propertyDefinitionName = property definition name
+# 0 = property definition name
queryOperatorsExistButMarkedAsVariant = Property definition "{0}" has query operators marked as a variant but has one or more query operators.
requiredTypeName = required type name
+# child node definition name
requiredTypesExistButMarkedAsVariant = Child node definition "{0}" has required types marked as a variant but has one or more required types.
+# 0 = name of string
stringIsEmpty = String {0} is empty
superTypeName = super type name
+# 0 = node type definition name
superTypesExistButMarkedAsVariant = Node type definition "{0}" has super types marked as a variant but has one or more super types.
+# 0 = property definition name
valueConstraintsExistButMarkedAsVariant = Property definition "{0}" has value constraints marked as a variant but has one or more value constraints.
+# 0 = CND line number, CND column number
vendorBlockWasNotClosed = Vendor block at line {0}, column {1} was not closed
Modified: trunk/modeshape/tests/org.jboss.tools.modeshape.jcr.test/src/org/jboss/tools/modeshape/jcr/cnd/Constants.java
===================================================================
--- trunk/modeshape/tests/org.jboss.tools.modeshape.jcr.test/src/org/jboss/tools/modeshape/jcr/cnd/Constants.java 2012-03-05 18:50:32 UTC (rev 39292)
+++ trunk/modeshape/tests/org.jboss.tools.modeshape.jcr.test/src/org/jboss/tools/modeshape/jcr/cnd/Constants.java 2012-03-05 19:30:11 UTC (rev 39293)
@@ -42,9 +42,9 @@
String AUTOCREATED_VARIANT_COMPRESSED_FORM = Autocreated.NOTATION[NotationType.COMPRESSED_INDEX] + VARIANT;
String AUTOCREATED_VARIANT_LONG_FORM = Autocreated.NOTATION[NotationType.LONG_INDEX] + VARIANT;
- String DEFAULT_TYPE_VARIANT_FORM = DefaultType.NOTATION + ' ' + VARIANT;
+ String DEFAULT_TYPE_VARIANT_FORM = DefaultType.NOTATION + VARIANT;
String DEFAULT_TYPE = "jcr:data"; //$NON-NLS-1$
- String DEFAULT_TYPE_TYPE_FORM = DefaultType.NOTATION + ' ' + DEFAULT_TYPE;
+ String DEFAULT_TYPE_TYPE_FORM = DefaultType.NOTATION + DEFAULT_TYPE;
String MANDATORY_VARIANT_COMPACT_FORM = Mandatory.NOTATION[NotationType.COMPACT_INDEX] + VARIANT;
String MANDATORY_VARIANT_COMPRESSED_FORM = Mandatory.NOTATION[NotationType.COMPRESSED_INDEX] + VARIANT;
@@ -96,17 +96,23 @@
String QUERY_OPS_ONE_OPERATOR_COMPRESSED_FORM = QUERY_OPS_COMPRESSED_FORM + " '" //$NON-NLS-1$
+ OPERATOR_ONE.toCndNotation(NotationType.COMPRESSED) + '\'';
String QUERY_OPS_ONE_OPERATOR_LONG_FORM = QUERY_OPS_LONG_FORM + " '" + OPERATOR_ONE.toCndNotation(NotationType.LONG) + '\''; //$NON-NLS-1$
- String QUERY_OPS_THREE_OPERATOR_COMPACT_FORM = QUERY_OPS_COMPACT_FORM + " '" + OPERATOR_ONE.toCndNotation(NotationType.COMPACT) //$NON-NLS-1$
- + CndElement.LIST_DELIMITER + OPERATOR_TWO.toCndNotation(NotationType.COMPACT) + CndElement.LIST_DELIMITER
+ String QUERY_OPS_THREE_OPERATOR_COMPACT_FORM = QUERY_OPS_COMPACT_FORM
+ + " '" + OPERATOR_ONE.toCndNotation(NotationType.COMPACT) //$NON-NLS-1$
+ + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER + OPERATOR_TWO.toCndNotation(NotationType.COMPACT)
+ + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER
+ OPERATOR_THREE.toCndNotation(NotationType.COMPACT) + '\'';
String QUERY_OPS_THREE_OPERATOR_COMPRESSED_FORM = QUERY_OPS_COMPRESSED_FORM
+ " '" //$NON-NLS-1$
- + OPERATOR_ONE.toCndNotation(NotationType.COMPRESSED) + CndElement.LIST_DELIMITER
- + OPERATOR_TWO.toCndNotation(NotationType.COMPRESSED) + CndElement.LIST_DELIMITER
+ + OPERATOR_ONE.toCndNotation(NotationType.COMPRESSED)
+ + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER
+ + OPERATOR_TWO.toCndNotation(NotationType.COMPRESSED)
+ + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER
+ OPERATOR_THREE.toCndNotation(NotationType.COMPRESSED) + '\'';
- String QUERY_OPS_THREE_OPERATOR_LONG_FORM = QUERY_OPS_LONG_FORM + " '" + OPERATOR_ONE.toCndNotation(NotationType.LONG) //$NON-NLS-1$
- + CndElement.LIST_DELIMITER + OPERATOR_TWO.toCndNotation(NotationType.LONG) + CndElement.LIST_DELIMITER
- + OPERATOR_THREE.toCndNotation(NotationType.LONG) + '\'';
+ String QUERY_OPS_THREE_OPERATOR_LONG_FORM = QUERY_OPS_LONG_FORM
+ + " '" + OPERATOR_ONE.toCndNotation(NotationType.LONG) //$NON-NLS-1$
+ + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER + OPERATOR_TWO.toCndNotation(NotationType.LONG)
+ + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER + OPERATOR_THREE.toCndNotation(NotationType.LONG)
+ + '\'';
String SAME_NAME_SIBLINGS_VARIANT_COMPACT_FORM = SameNameSiblings.NOTATION[NotationType.COMPACT_INDEX] + VARIANT;
String SAME_NAME_SIBLINGS_VARIANT_COMPRESSED_FORM = SameNameSiblings.NOTATION[NotationType.COMPRESSED_INDEX] + VARIANT;
@@ -116,8 +122,8 @@
String ITEM_TWO = "item2"; //$NON-NLS-1$
String ITEM_THREE = "item3"; //$NON-NLS-1$
String ONE_ITEM_SINGLE_QUOTED_FORM = '\'' + ITEM_ONE + '\'';
- String THREE_ITEM_SINGLE_QUOTED_FORM = '\'' + ITEM_ONE + CndElement.LIST_DELIMITER + ITEM_TWO + CndElement.LIST_DELIMITER
- + ITEM_THREE + '\'';
+ String THREE_ITEM_SINGLE_QUOTED_FORM = '\'' + ITEM_ONE + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER
+ + ITEM_TWO + CndNotationPreferences.Preference.ATTRIBUTE_LIST_ELEMENT_DELIMITER + ITEM_THREE + '\'';
String DEFAULT_VALUES_VARIANT = DefaultValues.NOTATION_PREFIX + ' ' + VARIANT;
String DEFAULT_VALUES_ONE_ITEM_FORM = DefaultValues.NOTATION_PREFIX + ' ' + ONE_ITEM_SINGLE_QUOTED_FORM;
12 years, 10 months
JBoss Tools SVN: r39292 - in trunk/build/aggregate: site and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2012-03-05 13:50:32 -0500 (Mon, 05 Mar 2012)
New Revision: 39292
Modified:
trunk/build/aggregate/build.xml
trunk/build/aggregate/site/pom.xml
trunk/build/aggregate/soa-site/pom.xml
Log:
JBIDE-11156 depend on Ant 1.8 instead of 1.7 for newer <get> with retry to replace <exec> call to wget
Modified: trunk/build/aggregate/build.xml
===================================================================
--- trunk/build/aggregate/build.xml 2012-03-05 16:53:11 UTC (rev 39291)
+++ trunk/build/aggregate/build.xml 2012-03-05 18:50:32 UTC (rev 39292)
@@ -5,6 +5,7 @@
Or, to run just the ant script:
$ cd ~/tru/build/aggregate/webtools-site; ant basic.build -f ../build.xml -Doutput.dir=`pwd`
+ $ cd ~/tru/build/aggregate/site; ant custom.build -f ../build.xml -Doutput.dir=`pwd` -DinputRepo=http://download.jboss.org/jbosstools/builds/staging/_composite_/core/trunk/
-->
<!-- if ${WORKSPACE}/site folder exists, target that folder; else generate here. -->
@@ -33,6 +34,13 @@
<property name="target.zip" value="${output.dir}/target/repository.zip"/>
<target name="init">
+ <echo>
+This script requires Ant 1.8+ and JDK 1.6+.
+-------------------------------------------
+$ant.version = ${ant.version}
+$ant.home = ${ant.home}
+$ant.java.version = ${ant.java.version}
+$java.home = ${java.home}</echo>
<available file="${COMMON_TOOLS}/ant-contrib.jar" type="file" property="ant-contrib.jar.exists" />
<antcall target="get.ant-contrib" />
<taskdef resource="net/sf/antcontrib/antlib.xml">
@@ -82,13 +90,14 @@
<echo level="verbose">repo = ${location.cleaned}</echo>
<!-- fetch zip.list.txt file, if available -->
<var unset="true" name="ALL_ZIPS" />
- <var unset="true" name="wget.return" />
+ <!-- <var unset="true" name="wget.return" /> -->
<if>
<contains string="${location.cleaned}" substring=":/" />
<then>
- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
- <arg line="${location.cleaned}/logs/zip.list.txt -q --no-clobber --tries=3" />
- </exec>
+ <!-- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
+ <arg line="${location.cleaned}/logs/zip.list.txt -q - -no-clobber - -tries=3" />
+ </exec> -->
+ <get src="${location.cleaned}/logs/zip.list.txt" dest="${aggregate.zips.dir}/zip.list.txt" retries="3" usetimestamp="true" ignoreerrors="true" />
</then>
<else>
<copy todir="${aggregate.zips.dir}" failonerror="false" file="${location.cleaned}/logs/zip.list.txt" />
@@ -100,9 +109,10 @@
<if>
<contains string="${location.cleaned}" substring=":/" />
<then>
- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
- <arg line="${location.cleaned}/logs/SVN_REVISION.txt -q --no-clobber --tries=3" />
- </exec>
+ <!-- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
+ <arg line="${location.cleaned}/logs/SVN_REVISION.txt -q - -no-clobber - -tries=3" />
+ </exec> -->
+ <get src="${location.cleaned}/logs/SVN_REVISION.txt" dest="${aggregate.zips.dir}/SVN_REVISION.txt" retries="3" usetimestamp="true" ignoreerrors="true" />
</then>
<else>
<copy todir="${aggregate.zips.dir}" failonerror="false" file="${location.cleaned}/logs/SVN_REVISION.txt" />
@@ -114,9 +124,10 @@
<if>
<contains string="${location.cleaned}" substring=":/" />
<then>
- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
- <arg line="${location.cleaned}/logs/SVN_REVISION.xml -q --no-clobber --tries=3" />
- </exec>
+ <!-- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
+ <arg line="${location.cleaned}/logs/SVN_REVISION.xml -q - -no-clobber - -tries=3" />
+ </exec> -->
+ <get src="${location.cleaned}/logs/SVN_REVISION.xml" dest="${aggregate.zips.dir}/SVN_REVISION.xml" retries="3" usetimestamp="true" ignoreerrors="true" />
</then>
<else>
<copy todir="${aggregate.zips.dir}" failonerror="false" file="${location.cleaned}/logs/SVN_REVISION.xml" />
@@ -128,9 +139,10 @@
<if>
<contains string="${location.cleaned}" substring=":/" />
<then>
- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
- <arg line="${location.cleaned}/logs/build.properties -q --no-clobber --tries=3" />
- </exec>
+ <!-- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
+ <arg line="${location.cleaned}/logs/build.properties -q - -no-clobber - -tries=3" />
+ </exec> -->
+ <get src="${location.cleaned}/logs/build.properties" dest="${aggregate.zips.dir}/build.properties" retries="3" usetimestamp="true" ignoreerrors="true" />
</then>
<else>
<copy todir="${aggregate.zips.dir}" failonerror="false" file="${location.cleaned}/logs/build.properties" />
@@ -141,7 +153,7 @@
<or>
<and>
<contains string="${location.cleaned}" substring=":/" />
- <equals arg1="${wget.return}" arg2="0" />
+ <!-- <equals arg1="${wget.return}" arg2="0" /> -->
<available file="${aggregate.zips.dir}/zip.list.txt" type="file" />
</and>
<and>
@@ -192,16 +204,36 @@
<contains string="${location.cleaned}" substring=":/" />
<then>
- <var name="wget.return" unset="true" />
- <exec executable="wget" dir="${aggregate.zips.dir}/${relativePath}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
- <arg line="${location.cleaned}/@{zipPath} -q --no-clobber --tries=3" />
- </exec>
+ <!-- <var name="wget.return" unset="true" /> -->
+ <!-- <exec executable="wget" dir="${aggregate.zips.dir}/${relativePath}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
+ <arg line="${location.cleaned}/@{zipPath} -q - -no-clobber - -tries=3" />
+ </exec> -->
+ <!-- <echo><get> From:
+* $location.cleaned: ${location.cleaned}
+* @zipPath: @{zipPath}
+To:
+* $aggregate.zips.dir: ${aggregate.zips.dir}
+* $relativePath: ${relativePath}
+* @zipPath: @{zipPath}
+</echo> -->
+ <!--
+ [echo] <get> From:
+ [echo] * $location.cleaned: http://download.jboss.org/jbosstools/builds/staging/jbosstools-3.3_trunk.... -archives
+ [echo] * @zipPath: all/jbosstools-3.3_trunk.component- -archives-Update-SNAPSHOT.zip
+ [echo] To:
+ [echo] * $aggregate.zips.dir: /home/nboldt/eclipse/workspace-jboss/jbosstools_trunk/build/aggregate/site/zips
+ [echo] * $relativePath: all
+ [echo] * @zipPath: all/jbosstools-3.3_trunk.component- -archives-Update-SNAPSHOT.zip
+ -->
+ <get src="${location.cleaned}/@{zipPath}" dest="${aggregate.zips.dir}/@{zipPath}" retries="3" usetimestamp="true" ignoreerrors="true" />
<if>
<not>
- <equals arg1="${wget.return}" arg2="0" />
+ <!-- <equals arg1="${wget.return}" arg2="0" /> -->
+ <available file="${aggregate.zips.dir}/@{zipPath}" type="file" />
</not>
<then>
- <echo> ** Error [${wget.return}] ** Could not wget ${location.cleaned}/@{zipPath}</echo>
+ <!-- <echo> ** Error [${wget.return}] ** Could not wget ${location.cleaned}/@{zipPath}</echo> -->
+ <echo> ** Error: could not get ${location.cleaned}/@{zipPath}</echo>
</then>
</if>
</then>
@@ -267,7 +299,8 @@
<var unset="true" name="ALL_ZIPS" />
</then>
<else>
- <echo> ** Error [${wget.return}] ** Could not wget ${location.cleaned}/logs/zip.list.txt</echo>
+ <!-- <echo> ** Error [${wget.return}] ** Could not wget ${location.cleaned}/logs/zip.list.txt</echo> -->
+ <echo> ** Error: could not get ${location.cleaned}/logs/zip.list.txt</echo>
</else>
</if>
<var name="location.cleaned" unset="true" />
@@ -287,13 +320,14 @@
<var name="location.cleaned" value="@{repo}" />
<echo level="verbose">repo = ${location.cleaned}</echo>
<!-- if no zip.list.txt from the inputRepo, then fetch from ${location.cleaned}/compositeArtifacts.xml instead -->
- <var name="wget.return" unset="true" />
- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
- <arg line="${location.cleaned}/compositeArtifacts.xml -q --no-clobber --tries=3" />
- </exec>
+ <!-- <var name="wget.return" unset="true" /> -->
+ <!-- <exec executable="wget" dir="${aggregate.zips.dir}" failonerror="false" failifexecutionfails="false" resultproperty="wget.return" outputproperty="null">
+ <arg line="${location.cleaned}/compositeArtifacts.xml -q - -no-clobber - -tries=3" />
+ </exec> -->
+ <get src="${location.cleaned}/compositeArtifacts.xml" dest="${aggregate.zips.dir}/compositeArtifacts.xml" retries="3" usetimestamp="true" ignoreerrors="true" />
<if>
<and>
- <equals arg1="${wget.return}" arg2="0" />
+ <!-- <equals arg1="${wget.return}" arg2="0" /> -->
<available file="${aggregate.zips.dir}/compositeArtifacts.xml" type="file" />
</and>
<then>
@@ -342,11 +376,11 @@
</for>
<var name="counter" unset="true" />
<var name="i" unset="true" />
-
<delete file="${aggregate.zips.dir}/compositeArtifacts.xml" quiet="true" />
</then>
<else>
- <echo> ** Error [${wget.return}] ** Could not wget ${location.cleaned}/compositeArtifacts.xml</echo>
+ <!-- <echo> ** Error [${wget.return}] ** Could not wget ${location.cleaned}/compositeArtifacts.xml</echo> -->
+ <echo> ** Error: could not get ${location.cleaned}/compositeArtifacts.xml</echo>
</else>
</if>
</sequential>
@@ -452,11 +486,12 @@
<fail>
--
Could not find ${output.dir}/target/site and one of ${output.dir}/target/site_assembly.zip or ${output.dir}/target/repository.zip
---
-This script must ONLY be called via the pom.xml in this directory, not run directly.
Cannot adjust an update site w/o first building it!
--
-To run this build, use Tycho. Try `mvn3 clean install -U -B -fae -q -e`
+Using maven: mvn3 clean install -U -B -fae -q -e
+OR
+Using ant: ant basic.build -f ../build.xml -Doutput.dir=`pwd`
+Using ant: ant custom.build -f ../build.xml -Doutput.dir=`pwd` -DinputRepo=http://download.jboss.org/jbosstools/builds/staging/_composite_/core/trunk/
</fail>
</else>
</if>
Modified: trunk/build/aggregate/site/pom.xml
===================================================================
--- trunk/build/aggregate/site/pom.xml 2012-03-05 16:53:11 UTC (rev 39291)
+++ trunk/build/aggregate/site/pom.xml 2012-03-05 18:50:32 UTC (rev 39292)
@@ -16,7 +16,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
- <version>${maven.antrun.plugin.version}</version>
+ <version>1.7</version>
<executions>
<execution>
<id>install</id>
@@ -49,27 +49,27 @@
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
- <version>1.7.1</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
- <version>1.7.1</version>
+ <version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-trax</artifactId>
- <version>1.7.1</version>
+ <version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-commons-net</artifactId>
- <version>1.7.1</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-apache-regexp</artifactId>
- <version>1.7.1</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
Modified: trunk/build/aggregate/soa-site/pom.xml
===================================================================
--- trunk/build/aggregate/soa-site/pom.xml 2012-03-05 16:53:11 UTC (rev 39291)
+++ trunk/build/aggregate/soa-site/pom.xml 2012-03-05 18:50:32 UTC (rev 39292)
@@ -16,7 +16,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
- <version>${maven.antrun.plugin.version}</version>
+ <version>1.7</version>
<executions>
<execution>
<id>install</id>
@@ -49,27 +49,27 @@
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
- <version>1.7.1</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
- <version>1.7.1</version>
+ <version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-trax</artifactId>
- <version>1.7.1</version>
+ <version>1.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-commons-net</artifactId>
- <version>1.7.1</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-apache-regexp</artifactId>
- <version>1.7.1</version>
+ <version>1.8.2</version>
</dependency>
<dependency>
<groupId>ant-contrib</groupId>
12 years, 10 months
JBoss Tools SVN: r39289 - branches/jbosstools-3.3.0.Beta1/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard.
by jbosstools-commits@lists.jboss.org
Author: snjeza
Date: 2012-03-05 11:32:06 -0500 (Mon, 05 Mar 2012)
New Revision: 39289
Modified:
branches/jbosstools-3.3.0.Beta1/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesRequirementsPage.java
Log:
JBIDE-11131 NPE when selecting some of requirements in new example wizard
Modified: branches/jbosstools-3.3.0.Beta1/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesRequirementsPage.java
===================================================================
--- branches/jbosstools-3.3.0.Beta1/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesRequirementsPage.java 2012-03-05 16:16:47 UTC (rev 39288)
+++ branches/jbosstools-3.3.0.Beta1/examples/plugins/org.jboss.tools.project.examples/src/org/jboss/tools/project/examples/wizard/NewProjectExamplesRequirementsPage.java 2012-03-05 16:32:06 UTC (rev 39289)
@@ -321,7 +321,9 @@
|| ProjectFix.SEAM_RUNTIME.equals(fix.getType())) {
DownloadRuntime downloadRuntime = getDownloadRuntime(fix);
downloadAndInstall.setEnabled(downloadRuntime != null);
- downloadAndInstall.setToolTipText("Download and install " + downloadRuntime.getName());
+ if (downloadRuntime != null) {
+ downloadAndInstall.setToolTipText("Download and install " + downloadRuntime.getName());
+ }
install.setEnabled(true);
install.setToolTipText("JBoss Runtime Detection");
} else if (ProjectFix.PLUGIN_TYPE.equals(fix.getType())) {
12 years, 10 months
JBoss Tools SVN: r39288 - trunk/build/aggregate/bottests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke.
by jbosstools-commits@lists.jboss.org
Author: jgargula
Date: 2012-03-05 11:16:47 -0500 (Mon, 05 Mar 2012)
New Revision: 39288
Modified:
trunk/build/aggregate/bottests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java
Log:
Longer timeout
Modified: trunk/build/aggregate/bottests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java
===================================================================
--- trunk/build/aggregate/bottests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java 2012-03-05 16:15:22 UTC (rev 39287)
+++ trunk/build/aggregate/bottests-site/tests/org.jboss.tools.drools.ui.bot.test/src/org/jboss/tools/drools/ui/bot/test/smoke/DroolsViewsTest.java 2012-03-05 16:16:47 UTC (rev 39288)
@@ -85,13 +85,14 @@
private void manageProject() {
//packageExplorer.deleteAllProjects();
ManageDroolsProject.createDroolsProject(PROJECT_NAME);
+
Widget openingProjectWidget = null;
try {
openingProjectWidget = bot.widget(withLabel("Drools Runtime"));
} catch (WidgetNotFoundException wnfe) {
// openingProjectWidget should be null in this case
}
- for (int i = 0; i < 10; i++) {
+ for (int i = 0; i < 30; i++) {
if (openingProjectWidget == null || (openingProjectWidget.isDisposed()
&& packageExplorer.bot().tree().getAllItems().length > 0)) {
break;
12 years, 10 months