JBoss Tools SVN: r22446 - trunk/vpe/tests.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-05-31 18:11:45 -0400 (Mon, 31 May 2010)
New Revision: 22446
Modified:
trunk/vpe/tests/pom.xml
Log:
reorder pom
Modified: trunk/vpe/tests/pom.xml
===================================================================
--- trunk/vpe/tests/pom.xml 2010-05-31 16:12:05 UTC (rev 22445)
+++ trunk/vpe/tests/pom.xml 2010-05-31 22:11:45 UTC (rev 22446)
@@ -12,12 +12,12 @@
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
+ <module>org.jboss.tools.vpe.ui.test</module>
<module>org.jboss.tools.vpe.html.test</module>
<module>org.jboss.tools.vpe.jsp.test</module>
<module>org.jboss.tools.vpe.test</module>
<module>org.jboss.tools.vpe.ui.bot.test</module>
- <module>org.jboss.tools.vpe.ui.test</module>
<module>org.jboss.tools.vpe.xulrunner.test</module>
</modules>
</project>
-
\ No newline at end of file
+
14 years, 7 months
JBoss Tools SVN: r22445 - trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test.
by jbosstools-commits@lists.jboss.org
Author: yradtsevich
Date: 2010-05-31 12:12:05 -0400 (Mon, 31 May 2010)
New Revision: 22445
Modified:
trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java
Log:
https://jira.jboss.org/browse/JBIDE-6393
Create generic queryInterface method
- A mistake in the JUnit has been fixed.
Modified: trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java 2010-05-31 16:06:07 UTC (rev 22444)
+++ trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java 2010-05-31 16:12:05 UTC (rev 22445)
@@ -39,7 +39,7 @@
assertTrue(XPCOM.queryInterface(document, nsIDOMNSDocument.class) instanceof nsIDOMNSDocument);
try {
- document.queryInterface(nsIDOMNSElement.NS_IDOMNSELEMENT_IID);
+ XPCOM.queryInterface(document, nsIDOMNSElement.class);
fail("Expected Exception XPCOMException");
} catch (XPCOMException e) {
// do nothing, it's OK
14 years, 7 months
JBoss Tools SVN: r22444 - in trunk/vpe: tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: yradtsevich
Date: 2010-05-31 12:06:07 -0400 (Mon, 31 May 2010)
New Revision: 22444
Added:
trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java
trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAbstractTest.java
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java
trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/DOMCreatingTest.java
trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAllTests.java
trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerBrowserTest.java
Log:
https://jira.jboss.org/browse/JBIDE-6393
Create generic queryInterface method
- The method queryInterface, along with the methods getInterfaceId, getSupportedInterfaces, printSupportedInterfaces and getInterfacesList have been created in the XPCOM class.
- XULRunner tests have been refactored.
- JUnit tests for new XPCOM methods have been created.
- Copyright notes have been updated.
Modified: trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java 2010-05-31 15:35:26 UTC (rev 22443)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/XPCOM.java 2010-05-31 16:06:07 UTC (rev 22444)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
+ * Copyright (c) 2007-2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
@@ -8,12 +8,22 @@
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
-
package org.jboss.tools.vpe.xulrunner;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.mozilla.interfaces.nsIDOMNode;
+import org.mozilla.interfaces.nsISupports;
+import org.mozilla.xpcom.XPCOMException;
+
/**
- * @author Sergey Vasilyev (svasilyev(a)exadel.com)
- *
+ * @author Sergey Vasilyev (svasilyev(a)exadel.com): initial creation.
+ * @author Yahor Radtsevich (yradtsevich): method {@code queryInterface} and
+ * related stuff (JBIDE-6393).
*/
public final class XPCOM {
private XPCOM() {}
@@ -34,6 +44,1465 @@
*/
public static final String NS_EDITINGSESSION_CONTRACTID="@mozilla.org/editor/editingsession;1"; //$NON-NLS-1$
- public static final String NS_IWEBBROWSER_CID = "F1EAC761-87E9-11d3-AF80-00A024FFC08C"; //$NON-NLS-1$
+ public static final String NS_IWEBBROWSER_CID = "F1EAC761-87E9-11d3-AF80-00A024FFC08C"; //$NON-NLS-1$
public static final String NS_IAPPSHELL_CID = "2d96b3df-c051-11d1-a827-0040959a28c9"; //$NON-NLS-1$
+
+ /**Stores all interfaces which extend nsISupports. */
+ /* Lazy initialization of interfacesList is used to avoid loading
+ * of all these classes (>1000) by the class loader. */
+ private static List<Class<? extends nsISupports>> interfacesList = null;
+
+ private static Map<Class<? extends nsISupports>, String> interfaceIdByType
+ = new HashMap<Class<? extends nsISupports>, String>();
+
+ /**
+ * Queries given interface-<code>type</code> from {@code object}.
+ * <P>
+ * This method is intended to simplify long boilerplate XPCOM
+ * interfaces casting
+ * <pre>(nsIDOMNode) object.queryInterface(nsIDOMNode.NS_IDOMNODE_IID</pre>
+ * by a simpler call
+ * <pre>queryInterface(object, nsIDOMNode.class)</pre>
+ *
+ * It is recommended to include the method using static import:
+ * <pre>import static org.jboss.tools.vpe.xulrunner.XPCOM.queryInterface</pre>
+ *
+ * @throws XPCOMException when the {@code object} does not support
+ * the {@code type}.
+ * to
+
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+ public static <T extends nsISupports> T queryInterface(
+ nsISupports object, Class<T> type) throws XPCOMException {
+ String interfaceId = getInterfaceId(type);
+ return (T) object.queryInterface(interfaceId);
+ }
+
+ /**
+ * Returns XPCOM ID for the given {@code type}
+ * <P>
+ * Example:{@code getInterfaceId(nsIDOMNode.class)} will return value of
+ * {@link nsIDOMNode#NS_IDOMNODE_IID}.
+ *
+ * @param type interface extending {@link nsISupports}
+ *
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+ public static <T extends nsISupports> String getInterfaceId(Class<T> type) {
+ String interfaceId = interfaceIdByType.get(type);
+ if (interfaceId == null) {
+ String interfaceIdFieldName = getInterfaceIdFieldName(type);
+ try {
+ interfaceId = (String) type.getField(interfaceIdFieldName).get(null);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ interfaceIdByType.put(type, interfaceId);
+ }
+ return interfaceId;
+ }
+
+ /**
+ * Returns field name which contains XPCOM ID for the given
+ * interface-{@code type}.
+ * <P>
+ * Examples:
+ *<pre> getInterfaceIdFieldName(nsIDOMNode.class)="NS_IDOMNODE_IID"
+ * getInterfaceIdFieldName(jsdIScript.class)="JSDISCRIPT_IID"</pre>
+ *
+ * @param type interface extending {@link nsISupports}
+ *
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+ private static <T extends nsISupports> String getInterfaceIdFieldName(Class<T> type) {
+ String typeName = type.getSimpleName();
+
+ String interfaceIdFieldName;
+ if (typeName.startsWith("ns")) { //$NON-NLS-1$
+ // e.g. "nsIDOMNode" becomes "NS_IDOMNODE"
+ interfaceIdFieldName = "NS_" + typeName.substring(2).toUpperCase(); //$NON-NLS-1$
+ } else {
+ // e.g. "jsdIScript" becomes "JSDISCRIPT"
+ interfaceIdFieldName = typeName.toUpperCase();
+ }
+ interfaceIdFieldName = interfaceIdFieldName + "_IID"; //$NON-NLS-1$
+ return interfaceIdFieldName;
+ }
+
+ /**
+ * Returns all interfaces supported by the {@code object}.
+ *
+ * @deprecated This method tries to query every known XPCOM interface
+ * from given object and it performs very slow (seconds).
+ * For debug/test purposes only. Do not use it in the production code.
+ */
+ public static List<Class<? extends nsISupports>> getSupportedInterfaces(
+ nsISupports object) {
+ List<Class<? extends nsISupports>> supportedInterfaces =
+ new ArrayList<Class<? extends nsISupports>>();
+ for (Class<? extends nsISupports> type : getInterfacesList()) {
+ try {
+ // try to get interface
+ queryInterface(object, type);
+
+ // if no error is thrown, than the interface is supported
+ supportedInterfaces.add(type);
+ } catch (XPCOMException e) {
+ // it's OK
+ }
+ }
+
+ return supportedInterfaces;
+ }
+
+ /**
+ * Prints all interfaces supported by the {@code object} to the
+ * {@code System.out}.
+ *
+ * @deprecated This method tries to query every known XPCOM interface
+ * from given object and it performs very slow (seconds).
+ * For debug/test purposes only. Do not use it in the production code.
+ */
+ public static void printSupportedInterfaces(nsISupports object, boolean printMethods) {
+ for (Class<? extends nsISupports> type : getSupportedInterfaces(object)) {
+ System.out.println(type.getSimpleName());
+ if (printMethods) {
+ for (Method method : type.getMethods()) {
+ System.out.println('\t' + method.getName());
+ }
+ }
+ }
+ }
+
+ /**
+ * Returns all XPCOM interfaces which extend nsISupports.
+ *
+ * @deprecated This method loads tons of classes.
+ * For debug/test purposes only. Do not use it in the production code.
+ */
+ public static List<Class<? extends nsISupports>> getInterfacesList() {
+ if (interfacesList == null) {
+ interfacesList = new ArrayList<Class<? extends nsISupports>>();
+
+ interfacesList.add(org.mozilla.interfaces.extIApplication.class);
+ interfacesList.add(org.mozilla.interfaces.extIConsole.class);
+ interfacesList.add(org.mozilla.interfaces.extIEventItem.class);
+ interfacesList.add(org.mozilla.interfaces.extIEventListener.class);
+ interfacesList.add(org.mozilla.interfaces.extIEvents.class);
+ interfacesList.add(org.mozilla.interfaces.extIExtension.class);
+ interfacesList.add(org.mozilla.interfaces.extIExtensions.class);
+ interfacesList.add(org.mozilla.interfaces.extIPreference.class);
+ interfacesList.add(org.mozilla.interfaces.extIPreferenceBranch.class);
+ interfacesList.add(org.mozilla.interfaces.extISessionStorage.class);
+// interfacesList.add(org.mozilla.interfaces.gfxIFormats.class);
+ interfacesList.add(org.mozilla.interfaces.gfxIImageFrame.class);
+ interfacesList.add(org.mozilla.interfaces.IDispatch.class);
+ interfacesList.add(org.mozilla.interfaces.imgICache.class);
+ interfacesList.add(org.mozilla.interfaces.imgIContainer.class);
+ interfacesList.add(org.mozilla.interfaces.imgIContainerObserver.class);
+ interfacesList.add(org.mozilla.interfaces.imgIDecoder.class);
+ interfacesList.add(org.mozilla.interfaces.imgIDecoderObserver.class);
+ interfacesList.add(org.mozilla.interfaces.imgIEncoder.class);
+ interfacesList.add(org.mozilla.interfaces.imgILoad.class);
+ interfacesList.add(org.mozilla.interfaces.imgILoader.class);
+ interfacesList.add(org.mozilla.interfaces.imgIRequest.class);
+ interfacesList.add(org.mozilla.interfaces.imgITools.class);
+ interfacesList.add(org.mozilla.interfaces.inICSSValueSearch.class);
+ interfacesList.add(org.mozilla.interfaces.inIDeepTreeWalker.class);
+ interfacesList.add(org.mozilla.interfaces.inIDOMUtils.class);
+ interfacesList.add(org.mozilla.interfaces.inIDOMView.class);
+ interfacesList.add(org.mozilla.interfaces.inIFlasher.class);
+ interfacesList.add(org.mozilla.interfaces.inISearchObserver.class);
+ interfacesList.add(org.mozilla.interfaces.inISearchProcess.class);
+ interfacesList.add(org.mozilla.interfaces.jsdICallHook.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIContext.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIContextEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIDebuggerService.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIEphemeral.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIErrorHook.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIExecutionHook.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIFilter.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIFilterEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.jsdINestCallback.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIObject.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIProperty.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIScript.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIScriptEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIScriptHook.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIStackFrame.class);
+ interfacesList.add(org.mozilla.interfaces.jsdIValue.class);
+ interfacesList.add(org.mozilla.interfaces.mozIJSSubScriptLoader.class);
+ interfacesList.add(org.mozilla.interfaces.mozIPersonalDictionary.class);
+ interfacesList.add(org.mozilla.interfaces.mozISpellCheckingEngine.class);
+ interfacesList.add(org.mozilla.interfaces.mozISpellI18NManager.class);
+ interfacesList.add(org.mozilla.interfaces.mozISpellI18NUtil.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageAggregateFunction.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageConnection.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageDataSet.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageError.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageFunction.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStoragePendingStatement.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageProgressHandler.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageResultSet.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageRow.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageService.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageStatement.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageStatementCallback.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageStatementParams.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageStatementRow.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageStatementWrapper.class);
+ interfacesList.add(org.mozilla.interfaces.mozIStorageValueArray.class);
+ interfacesList.add(org.mozilla.interfaces.mozITXTToHTMLConv.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAboutModule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAbstractWorker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessible.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleCaretMoveEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleCoordinateType.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleEditableText.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleHyperLink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleHyperText.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleImage.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleRelation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleRetrieval.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleRole.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleScrollType.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleSelectable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleStateChangeEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleStates.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleTable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleTableChangeEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleText.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleTextChangeEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessibleValue.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAccessNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAddonInstallListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAddonRepository.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAddonSearchResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAddonSearchResultsCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAddonUpdateCheckListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAlertsService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAnnotationObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAnnotationService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIApplicationCache.class);
+ interfacesList.add(org.mozilla.interfaces.nsIApplicationCacheChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIApplicationCacheContainer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIApplicationCacheNamespace.class);
+ interfacesList.add(org.mozilla.interfaces.nsIApplicationCacheService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIApplicationUpdateService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAppShell.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAppShellService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAppStartup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAppStartup2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIArray.class);
+ interfacesList.add(org.mozilla.interfaces.nsIASN1Object.class);
+ interfacesList.add(org.mozilla.interfaces.nsIASN1PrintableItem.class);
+ interfacesList.add(org.mozilla.interfaces.nsIASN1Sequence.class);
+ interfacesList.add(org.mozilla.interfaces.nsIASN1Tree.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAssociatedContentSecurity.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAsyncInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAsyncOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAsyncStreamCopier.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAtom.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAtomService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthInformation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthPrompt.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthPrompt2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthPromptAdapterFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthPromptCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthPromptProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAuthPromptWrapper.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteController.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteInput.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompletePopup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteSearch.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteSimpleResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIAutoCompleteSimpleResultListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBadCertListener2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBaseWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBidiKeyboard.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBidirectionalIterator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBinaryInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBinaryOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBlocklistService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBrowserBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBrowserDOMWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBrowserHistory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBrowserHistory_MOZILLA_1_9_1_ADDITIONS.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBrowserInstance.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBrowserSearchService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBufferedInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIBufferedOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIByteRangeRequest.class);
+// interfacesList.add(org.mozilla.interfaces.nsICache.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheDeviceInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheEntryDescriptor.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheEntryInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheMetaDataVisitor.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheService.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheSession.class);
+ interfacesList.add(org.mozilla.interfaces.nsICacheVisitor.class);
+ interfacesList.add(org.mozilla.interfaces.nsICachingChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsICancelable.class);
+ interfacesList.add(org.mozilla.interfaces.nsICategoryManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertificateDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertOverrideService.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertPickDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertTree.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertTreeItem.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertVerificationListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsICertVerificationResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIChannelClassifier.class);
+ interfacesList.add(org.mozilla.interfaces.nsIChannelEventSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsICharsetConverterManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsICharsetResolver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIChromeRegistry.class);
+ interfacesList.add(org.mozilla.interfaces.nsICipherInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsICipherInfoService.class);
+ interfacesList.add(org.mozilla.interfaces.nsICiter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClassInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClientAuthDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClientAuthUserDecision.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClipboard.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClipboardCommands.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClipboardDragDropHookList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClipboardDragDropHooks.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClipboardHelper.class);
+ interfacesList.add(org.mozilla.interfaces.nsIClipboardOwner.class);
+ interfacesList.add(org.mozilla.interfaces.nsICMSMessageErrors.class);
+ interfacesList.add(org.mozilla.interfaces.nsICMSSecureMessage.class);
+ interfacesList.add(org.mozilla.interfaces.nsICollation.class);
+ interfacesList.add(org.mozilla.interfaces.nsICollationFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsICollection.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandController.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandHandlerInit.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandLine.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandLineHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandLineValidator.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsICommandParams.class);
+ interfacesList.add(org.mozilla.interfaces.nsIComponentManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIComponentManagerObsolete.class);
+ interfacesList.add(org.mozilla.interfaces.nsIComponentRegistrar.class);
+ interfacesList.add(org.mozilla.interfaces.nsIConsoleListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIConsoleMessage.class);
+ interfacesList.add(org.mozilla.interfaces.nsIConsoleService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContainerBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentDispatchChooser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentPolicy.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentPrefObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentPrefService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentSniffer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentURIGrouper.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentViewer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentViewerContainer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentViewerEdit.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContentViewerFile.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContextMenuInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContextMenuListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIContextMenuListener2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIController.class);
+ interfacesList.add(org.mozilla.interfaces.nsIControllerCommand.class);
+ interfacesList.add(org.mozilla.interfaces.nsIControllerCommandGroup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIControllerCommandTable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIControllerContext.class);
+ interfacesList.add(org.mozilla.interfaces.nsIControllers.class);
+ interfacesList.add(org.mozilla.interfaces.nsIConverterInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIConverterOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookie.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookie2.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookieAcceptDialog.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookieManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookieManager2.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookiePermission.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookiePromptService.class);
+ interfacesList.add(org.mozilla.interfaces.nsICookieService.class);
+ interfacesList.add(org.mozilla.interfaces.nsICrashReporter.class);
+ interfacesList.add(org.mozilla.interfaces.nsICRLInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsICRLManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsICryptoFIPSInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsICryptoHash.class);
+ interfacesList.add(org.mozilla.interfaces.nsICryptoHMAC.class);
+ interfacesList.add(org.mozilla.interfaces.nsICurrentCharsetListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDataSignatureVerifier.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDataType.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDBusHandlerApp.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDebug.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDialogParamBlock.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirectoryEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirectoryService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirectoryServiceProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirectoryServiceProvider2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirIndex.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirIndexListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDirIndexParser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDNSListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDNSRecord.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDNSService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocCharset.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShell.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShell_MOZILLA_1_9_1.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShell_MOZILLA_1_9_1_dns.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShell_MOZILLA_1_9_1_SessionStorage.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShellHistory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShellLoadInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShellTreeItem.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShellTreeNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocShellTreeOwner.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocumentCharsetInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocumentEncoder.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocumentEncoderNodeFixup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocumentLoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocumentLoaderFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDocumentStateListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3Attr.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3Document.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3DocumentEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3EventTarget.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3Node.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3Text.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOM3TypeInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMAbstractView.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMAttr.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMBarProp.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMBeforeUnloadEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCanvasGradient.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCanvasPattern.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCanvasRenderingContext2D.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCDATASection.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCharacterData.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMChromeWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMClientInformation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMClientRect.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMClientRectList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCommandEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMComment.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCounter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCRMFObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCrypto.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCryptoDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSS2Properties.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSCharsetRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSFontFaceRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSImportRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSMediaRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSMozDocumentRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSPageRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSPrimitiveValue.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSRuleList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSStyleDeclaration.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSStyleRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSStyleSheet.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSUnknownRule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSValue.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMCSSValueList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDataContainerEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDataTransfer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentCSS.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentFragment.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentRange.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentStyle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentTraversal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentType.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentView.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDocumentXBL.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDOMConfiguration.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDOMConstructor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDOMException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDOMImplementation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDOMImplementationLS.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDOMStringList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMDragEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMElementCSSInlineStyle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMEntity.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMEntityReference.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMEventGroup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMEventListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMEventTarget.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMFile.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMFileException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMFileList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoGeolocation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoPosition.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoPositionCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoPositionCoords.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoPositionError.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoPositionErrorCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGeoPositionOptions.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMGetSVGDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHistory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLAnchorElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLAppletElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLAreaElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLAudioElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLBaseElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLBaseFontElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLBodyElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLBRElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLButtonElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLByteRanges.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLCanvasElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLCollection.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLDirectoryElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLDivElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLDListElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLEmbedElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLFieldSetElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLFontElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLFormElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLFrameElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLFrameSetElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLHeadElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLHeadingElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLHRElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLHtmlElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLIFrameElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLImageElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLInputElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLIsIndexElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLLabelElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLLegendElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLLIElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLLinkElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLMapElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLMediaElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLMediaError.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLMenuElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLMetaElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLModElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLObjectElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLOListElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLOptGroupElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLOptionElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLOptionsCollection.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLParagraphElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLParamElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLPreElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLQuoteElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLScriptElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLSelectElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLSourceElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLStyleElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTableCaptionElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTableCellElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTableColElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTableElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTableRowElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTableSectionElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTextAreaElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTimeRanges.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLTitleElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLUListElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLVideoElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMHTMLVoidCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMJSNavigator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMJSWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMKeyEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLinkStyle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLoadStatus.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLoadStatusEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLocation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSInput.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSLoadEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSOutput.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSParser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSParserFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSProgressEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSResourceResolver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSSerializer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMLSSerializerFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMediaList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMessageEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMimeType.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMimeTypeArray.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMModalContentWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMouseEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMouseScrollEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMMutationEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNamedNodeMap.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNameList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNavigator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNavigatorGeolocation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNodeFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNodeIterator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNodeList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNodeSelector.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNotation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNotifyPaintEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSCSS2Properties.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSDataTransfer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSDataTransfer_MOZILLA_1_9_1.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSDocumentStyle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSEditableElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSEventTarget.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSFeatureFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLAnchorElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLAnchorElement2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLAreaElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLAreaElement2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLButtonElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLFormControlList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLFormElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLFrameElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLHRElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLImageElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLInputElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLOptionCollection.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLOptionElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLSelectElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSHTMLTextAreaElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSRange.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSRGBAColor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSUIEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSXBLFormControl.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMNSXPathExpression.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMOfflineResourceList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMPageTransitionEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMParser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMParserJS.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMPkcs11.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMPlugin.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMPluginArray.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMPopupBlockedEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMProcessingInstruction.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMProgressEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMRange.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMRangeException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMRect.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMRGBColor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMScreen.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSerializer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSimpleGestureEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSmartCardEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorage.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorage2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorageEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorageItem.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorageList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorageManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorageWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStorageWindow_1_9_1.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStyleSheet.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMStyleSheetList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAngle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedAngle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedBoolean.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedEnumeration.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedInteger.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedLength.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedLengthList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedNumber.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedNumberList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedPathData.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedPoints.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedPreserveAspectRatio.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedRect.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedString.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGAnimatedTransformList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGCircleElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGClipPathElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGComponentTransferFunctionElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGDefsElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGDescElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGEllipseElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEBlendElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEColorMatrixElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEComponentTransferElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFECompositeElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEConvolveMatrixElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEDiffuseLightingElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEDisplacementMapElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEDistantLightElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEFloodElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEFuncAElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEFuncBElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEFuncGElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEFuncRElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEGaussianBlurElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEImageElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEMergeElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEMergeNodeElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEMorphologyElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEOffsetElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFEPointLightElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFESpecularLightingElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFESpotLightElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFETileElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFETurbulenceElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFilterElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFilterPrimitiveStandardAttributes.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGFitToViewBox.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGForeignObjectElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGGElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGGradientElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGImageElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGLength.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGLengthList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGLinearGradientElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGLineElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGLocatable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGMarkerElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGMaskElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGMatrix.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGMetadataElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGNumber.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGNumberList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSeg.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegArcAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegArcRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegClosePath.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoCubicAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoCubicRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoCubicSmoothAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoCubicSmoothRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoQuadraticAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoQuadraticRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoQuadraticSmoothAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegCurvetoQuadraticSmoothRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegLinetoAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegLinetoHorizontalAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegLinetoHorizontalRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegLinetoRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegLinetoVerticalAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegLinetoVerticalRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegMovetoAbs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPathSegMovetoRel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPatternElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPoint.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPointList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPolygonElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPolylineElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGPreserveAspectRatio.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGRadialGradientElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGRect.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGRectElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGScriptElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGStopElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGStylable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGStyleElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGSVGElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGSwitchElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGSymbolElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTextContentElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTextElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTextPathElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTextPositioningElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTitleElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTransform.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTransformable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTransformList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGTSpanElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGUnitTypes.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGURIReference.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGUseElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGViewSpec.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGZoomAndPan.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMSVGZoomEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMText.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMTextMetrics.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMToString.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMTreeWalker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMUIEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMUserDataHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMViewCSS.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMWindow2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMWindowCollection.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMWindowInternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMWindowUtils.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXMLDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXPathEvaluator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXPathException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXPathExpression.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXPathNamespace.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXPathNSResolver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXPathResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULButtonElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULCheckboxElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULCommandDispatcher.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULCommandEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULContainerElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULContainerItemElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULControlElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULDescriptionElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULImageElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULLabeledControlElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULLabelElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULMenuListElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULMultiSelectControlElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULPopupElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULSelectControlElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULSelectControlItemElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULTextBoxElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDOMXULTreeElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownload.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownloader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownloadHistory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownloadManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownloadManagerUI.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownloadObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDownloadProgressListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDragDropHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDragService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDragSession.class);
+ interfacesList.add(org.mozilla.interfaces.nsIDynamicContainer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditActionListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditingSession.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorDocShell.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorIMESupport.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorLogging.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorMailSupport.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorSpellCheck.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEditorStyleSheets.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEffectiveTLDService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEmbeddingSiteWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEmbeddingSiteWindow2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEncodedChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEntityConverter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEnvironment.class);
+ interfacesList.add(org.mozilla.interfaces.nsIErrorService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIEventTarget.class);
+ interfacesList.add(org.mozilla.interfaces.nsIException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExceptionManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExceptionProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExceptionService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExpatSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExtendedExpatSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExtensionManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExternalHelperAppService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExternalProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIExternalProtocolService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFastLoadFileControl.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFastLoadFileIO.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFastLoadReadControl.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFastLoadService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFastLoadWriteControl.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFaviconService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeed.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedContainer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedElementBase.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedEntry.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedGenerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedPerson.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedProcessor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedProgressListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedResultListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFeedTextConstruct.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFile.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFileChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFileInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFileOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFilePicker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFileProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFileURL.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFileView.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFind.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFindService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFlavorDataProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFontEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFormatConverter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFormFillController.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFormHistory2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFormHistoryImporter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFormSigningDialog.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFormSubmitObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIForwardIterator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFrameLoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFrameLoaderOwner.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFTPChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFTPEventSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIFullScreen.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGConfService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGeneratingKeypairInfoDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGeolocationPrompt.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGeolocationProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGeolocationRequest.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGeolocationUpdate.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGlobalHistory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGlobalHistory2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGlobalHistory3.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGnomeVFSMimeApp.class);
+ interfacesList.add(org.mozilla.interfaces.nsIGnomeVFSService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHandlerApp.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHandlerInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHandlerService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHashable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHelperAppLauncher.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHelperAppLauncherDialog.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHistoryEntry.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTMLAbsPosEditor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTMLEditor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTMLInlineTableEditor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTMLObjectResizeListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTMLObjectResizer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpActivityObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpAuthenticator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpAuthManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpChannelInternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpEventSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTTPHeaderListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpHeaderVisitor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHTTPIndex.class);
+ interfacesList.add(org.mozilla.interfaces.nsIHttpProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIdentityInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIdleService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIDNService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIFrameBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIImageDocument.class);
+ interfacesList.add(org.mozilla.interfaces.nsIImageLoadingContent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIncrementalDownload.class);
+ interfacesList.add(org.mozilla.interfaces.nsIINIParser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIINIParserFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInlineSpellChecker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInputIterator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInputStreamCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInputStreamChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInputStreamPump.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInputStreamTee.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInstallLocation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIInterfaceRequestor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIOService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIIOService2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJARChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJARProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJARURI.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJSCID.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJSID.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJSIID.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJSON.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJSXMLHttpRequest.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJVMConfig.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJVMConfigManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJVMManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIJVMPluginInstance.class);
+ interfacesList.add(org.mozilla.interfaces.nsIKeygenThread.class);
+ interfacesList.add(org.mozilla.interfaces.nsIKeyObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIKeyObjectFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsILineInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIListBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsILivemarkService.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoadContext.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoadGroup.class);
+ interfacesList.add(org.mozilla.interfaces.nsILocale.class);
+ interfacesList.add(org.mozilla.interfaces.nsILocaleService.class);
+ interfacesList.add(org.mozilla.interfaces.nsILocalFile.class);
+ interfacesList.add(org.mozilla.interfaces.nsILocalFileWin.class);
+ interfacesList.add(org.mozilla.interfaces.nsILocalHandlerApp.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginManager_MOZILLA_1_9_1.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginManagerIEMigrationHelper.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginManagerPrompter.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginManagerStorage.class);
+ interfacesList.add(org.mozilla.interfaces.nsILoginMetaInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMarkupDocumentViewer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMemory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMemoryReporter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMemoryReporterManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMenuBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMIMEHeaderParam.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMIMEInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMIMEInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMIMEService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIModule.class);
+ interfacesList.add(org.mozilla.interfaces.nsIModuleLoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMozIconURI.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMultiPartChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMultiplexInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMutable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIMutableArray.class);
+ interfacesList.add(org.mozilla.interfaces.nsINativeAppSupport.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavBookmarkObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavBookmarkObserver_MOZILLA_1_9_1_ADDITIONS.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavBookmarksService.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryBatchCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryContainerResultNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryFullVisitResultNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryObserver_MOZILLA_1_9_1_ADDITIONS.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryQuery.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryQueryOptions.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryQueryResultNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryResultNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryResultTreeViewer.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryResultViewer.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryService.class);
+ interfacesList.add(org.mozilla.interfaces.nsINavHistoryVisitResultNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsINestedURI.class);
+ interfacesList.add(org.mozilla.interfaces.nsINetUtil.class);
+ interfacesList.add(org.mozilla.interfaces.nsINetworkLinkService.class);
+ interfacesList.add(org.mozilla.interfaces.nsINonBlockingAlertService.class);
+ interfacesList.add(org.mozilla.interfaces.nsINSSCertCache.class);
+ interfacesList.add(org.mozilla.interfaces.nsINSSErrorsService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIObjectInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIObjectLoadingContent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIObjectOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIObserverService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOCSPResponder.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOfflineCacheUpdate.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOfflineCacheUpdateObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOfflineCacheUpdateService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOSChromeItem.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOutputIterator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIOutputStreamCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIParentalControlsService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPasswordManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPasswordManagerInternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPermission.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPermissionManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPersistentProperties.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPhonetic.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPipe.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPK11Token.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPK11TokenDB.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPKCS11.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPKCS11Module.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPKCS11ModuleDB.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPKCS11Slot.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPKIParamBlock.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPlaintextEditor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPluginHost.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPluginManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPluginTag.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPopupBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPopupWindowManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrefBranch.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrefBranch2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrefBranchInternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrefetchService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrefLocalizedString.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrefService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrincipal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrinterEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintingPrompt.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintingPromptService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintOptions.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintProgress.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintProgressParams.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintSettings.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintSettingsService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrintStatusFeedback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrivateBrowsingService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProcess.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProcess2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProfile.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProfileChangeStatus.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProfileLock.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProfileMigrator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProfileStartup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProfileUnlocker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProgrammingLanguage.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProgressEventSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPrompt.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPromptFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPromptService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPromptService2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProperties.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProperty.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPropertyBag.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPropertyBag2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIPropertyElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProtectedAuthThread.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProtocolProxyCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProtocolProxyFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProtocolProxyService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProtocolProxyService2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProxiedChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProxiedProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProxyAutoConfig.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProxyInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIProxyObjectManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRandomAccessIterator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRandomGenerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFBlob.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFCompositeDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFContainer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFContainerUtils.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFDate.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFDelegateFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFInferDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFInMemoryDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFInt.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFLiteral.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFNode.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFPropagatableDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFPurgeableDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFRemoteDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFResource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFXMLParser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFXMLSerializer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFXMLSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFXMLSinkObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRDFXMLSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRecentBadCertsService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRecyclingAllocator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRefreshURI.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRelativeFilePref.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRemoteService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRequest.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRequestObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRequestObserverProxy.class);
+ interfacesList.add(org.mozilla.interfaces.nsIResProtocolHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIResumableChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIRunnable.class);
+ interfacesList.add(org.mozilla.interfaces.nsISafeOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsISaveAsCharset.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXAttributes.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXContentHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXDTDHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXErrorHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXLexicalHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXLocator.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXMutableAttributes.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXXMLFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsISAXXMLReader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScreen.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScreenManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScreenManager_MOZILLA_1_9_1_BRANCH.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableDateFormat.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableInterfaces.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableInterfacesByID.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableRegion.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableUnescapeHTML.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptableUnicodeConverter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptError.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptLoaderObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScriptSecurityManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScrollable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIScrollBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsISearchableInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsISearchContext.class);
+ interfacesList.add(org.mozilla.interfaces.nsISearchEngine.class);
+ interfacesList.add(org.mozilla.interfaces.nsISearchSubmission.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecretDecoderRing.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecretDecoderRingConfig.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecureBrowserUI.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecurityCheckedComponent.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecurityEventSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecurityInfoProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsISecurityWarningDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsISeekableStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelectElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelection.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelection2.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelectionController.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelectionDisplay.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelectionListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsISelectionPrivate.class);
+ interfacesList.add(org.mozilla.interfaces.nsISemanticUnitScanner.class);
+ interfacesList.add(org.mozilla.interfaces.nsISerializable.class);
+ interfacesList.add(org.mozilla.interfaces.nsIServerSocket.class);
+ interfacesList.add(org.mozilla.interfaces.nsIServerSocketListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIServiceManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsISHContainer.class);
+ interfacesList.add(org.mozilla.interfaces.nsISHEntry.class);
+ interfacesList.add(org.mozilla.interfaces.nsISHistory.class);
+ interfacesList.add(org.mozilla.interfaces.nsISHistoryInternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsISHistoryListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsISHTransaction.class);
+ interfacesList.add(org.mozilla.interfaces.nsISidebar.class);
+ interfacesList.add(org.mozilla.interfaces.nsISidebarExternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsISimpleEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsISimpleStreamListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsISimpleUnicharStreamFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsISliderListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsISMimeCert.class);
+ interfacesList.add(org.mozilla.interfaces.nsISocketProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsISocketProviderService.class);
+ interfacesList.add(org.mozilla.interfaces.nsISocketTransport.class);
+ interfacesList.add(org.mozilla.interfaces.nsISocketTransportService.class);
+ interfacesList.add(org.mozilla.interfaces.nsISOCKSSocketInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsISound.class);
+ interfacesList.add(org.mozilla.interfaces.nsISSLCertErrorDialog.class);
+ interfacesList.add(org.mozilla.interfaces.nsISSLErrorListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsISSLSocketControl.class);
+ interfacesList.add(org.mozilla.interfaces.nsISSLStatus.class);
+ interfacesList.add(org.mozilla.interfaces.nsISSLStatusProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStackFrame.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStandardURL.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStorageStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamCipher.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamConverter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamConverterService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamListenerTee.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamLoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamLoaderObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStreamTransportService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStringBundle.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStringBundleOverride.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStringBundleService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStringEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStringInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIStyleSheetService.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupports.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsArray.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsChar.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsCString.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsDouble.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsFloat.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsID.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsInterfacePointer.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRBool.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPrimitive.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRInt16.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRInt32.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRInt64.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPriority.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRTime.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRUint16.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRUint32.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRUint64.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsPRUint8.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsString.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsVoid.class);
+ interfacesList.add(org.mozilla.interfaces.nsISupportsWeakReference.class);
+ interfacesList.add(org.mozilla.interfaces.nsISyncLoadDOMService.class);
+ interfacesList.add(org.mozilla.interfaces.nsISyncStreamListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsISystemProxySettings.class);
+ interfacesList.add(org.mozilla.interfaces.nsITableEditor.class);
+ interfacesList.add(org.mozilla.interfaces.nsITaggingService.class);
+ interfacesList.add(org.mozilla.interfaces.nsITextScroll.class);
+ interfacesList.add(org.mozilla.interfaces.nsITextServicesFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsITextToSubURI.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThread.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThreadEventFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThreadInternal.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThreadManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThreadObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThreadPool.class);
+ interfacesList.add(org.mozilla.interfaces.nsIThreadPoolListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsITimelineService.class);
+ interfacesList.add(org.mozilla.interfaces.nsITimer.class);
+ interfacesList.add(org.mozilla.interfaces.nsITimerCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsITokenDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsITokenPasswordDialogs.class);
+ interfacesList.add(org.mozilla.interfaces.nsIToolkitChromeRegistry.class);
+ interfacesList.add(org.mozilla.interfaces.nsIToolkitProfile.class);
+ interfacesList.add(org.mozilla.interfaces.nsIToolkitProfileService.class);
+ interfacesList.add(org.mozilla.interfaces.nsITooltipListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsITooltipTextProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsITraceableChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransaction.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransactionList.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransactionListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransactionManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransfer.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransferable.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransport.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransportEventSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsITransportSecurityInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsITreeBoxObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsITreeColumn.class);
+ interfacesList.add(org.mozilla.interfaces.nsITreeColumns.class);
+ interfacesList.add(org.mozilla.interfaces.nsITreeContentView.class);
+ interfacesList.add(org.mozilla.interfaces.nsITreeSelection.class);
+ interfacesList.add(org.mozilla.interfaces.nsITreeView.class);
+ interfacesList.add(org.mozilla.interfaces.nsITXTToHTMLConv.class);
+ interfacesList.add(org.mozilla.interfaces.nsITypeAheadFind.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicharInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicharLineInputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicharOutputStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicharStreamListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicharStreamLoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicharStreamLoaderObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUnicodeNormalizer.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdate.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdateChecker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdateCheckListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdateItem.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdateManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdatePatch.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdatePrompt.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUpdateTimerManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUploadChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURI.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURIChecker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURIClassifier.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURIClassifierCallback.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURIContentListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURIFixup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURILoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURIRefObject.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURL.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURLFormatter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIURLParser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUserCertPicker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUserInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUTF8ConverterService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUTF8StringEnumerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIUUIDGenerator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIVariant.class);
+ interfacesList.add(org.mozilla.interfaces.nsIVersionComparator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWeakReference.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowser.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserChrome.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserChrome2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserChromeFocus.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserFind.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserFindInFrames.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserFocus.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserPersist.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserPrint.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserSetup.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebBrowserStream.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebContentHandlerRegistrar.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebHandlerApp.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebNavigation.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebNavigationInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebPageDescriptor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebProgress.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebProgressListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWebProgressListener2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWifiAccessPoint.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWifiListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWifiMonitor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowCreator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowCreator2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowMediator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowMediatorListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWindowWatcher.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorker.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorkerErrorEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorkerGlobalScope.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorkerMessageEvent.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorkerMessagePort.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorkerNavigator.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWorkerScope.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWritablePropertyBag.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWritablePropertyBag2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWritableVariant.class);
+ interfacesList.add(org.mozilla.interfaces.nsIWyciwygChannel.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509Cert.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509Cert2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509Cert3.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509CertDB.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509CertDB2.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509CertList.class);
+ interfacesList.add(org.mozilla.interfaces.nsIX509CertValidity.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXBLAccessible.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXMLContentBuilder.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXMLHttpRequest.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXMLHttpRequestEventTarget.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXMLHttpRequestUpload.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_Classes.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_ClassesByID.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_Constructor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_Exception.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_ID.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_Results.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_Utils.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCComponents_utils_Sandbox.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCConstructor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCSecurityManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPCWrappedJSObjectGetter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPIDialogService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPIInstallInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPInstallManager.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPIProgressDialog.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPointerResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPTLoader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXPTLoaderSink.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXSLTException.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXSLTProcessor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXSLTProcessorObsolete.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXSLTProcessorPrivate.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXTFAttributeHandler.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXTFElement.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXTFElementFactory.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXTFElementWrapper.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXTFPrivate.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULAppInfo.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULAppInstall.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULBrowserWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULBuilderListener.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULChromeRegistry.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULOverlayProvider.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULRuntime.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULSortService.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULTemplateBuilder.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULTemplateQueryProcessor.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULTemplateResult.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULTemplateRuleFilter.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULTreeBuilder.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULTreeBuilderObserver.class);
+ interfacesList.add(org.mozilla.interfaces.nsIXULWindow.class);
+ interfacesList.add(org.mozilla.interfaces.nsIZipEntry.class);
+ interfacesList.add(org.mozilla.interfaces.nsIZipReader.class);
+ interfacesList.add(org.mozilla.interfaces.nsIZipReaderCache.class);
+ interfacesList.add(org.mozilla.interfaces.nsIZipWriter.class);
+ interfacesList.add(org.mozilla.interfaces.nsPICommandUpdater.class);
+ interfacesList.add(org.mozilla.interfaces.nsPIDNSService.class);
+ interfacesList.add(org.mozilla.interfaces.nsPIEditorTransaction.class);
+ interfacesList.add(org.mozilla.interfaces.nsPIExternalAppLauncher.class);
+ interfacesList.add(org.mozilla.interfaces.nsPIPlacesDatabase.class);
+ interfacesList.add(org.mozilla.interfaces.nsPISocketTransportService.class);
+ interfacesList.add(org.mozilla.interfaces.rdfIDataSource.class);
+ interfacesList.add(org.mozilla.interfaces.rdfISerializer.class);
+ interfacesList.add(org.mozilla.interfaces.rdfITripleVisitor.class);
+ interfacesList.add(org.mozilla.interfaces.txIEXSLTRegExFunctions.class);
+ interfacesList.add(org.mozilla.interfaces.txIFunctionEvaluationContext.class);
+ interfacesList.add(org.mozilla.interfaces.txINodeSet.class);
+ interfacesList.add(org.mozilla.interfaces.txIXPathObject.class);
+ interfacesList.add(org.mozilla.interfaces.xpcIJSModuleLoader.class);
+ interfacesList.add(org.mozilla.interfaces.xpcIJSWeakReference.class);
+ }
+
+ return interfacesList;
+ }
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/DOMCreatingTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/DOMCreatingTest.java 2010-05-31 15:35:26 UTC (rev 22443)
+++ trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/DOMCreatingTest.java 2010-05-31 16:06:07 UTC (rev 22444)
@@ -1,18 +1,15 @@
/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2007-2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.vpe.xulrunner.test;
-import org.eclipse.ui.PlatformUI;
-import org.jboss.tools.vpe.xulrunner.editor.XulRunnerEditor;
-import org.jboss.tools.vpe.xulrunner.view.XulRunnerView;
import org.mozilla.interfaces.nsIDOMAttr;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
@@ -26,19 +23,13 @@
* @author Max Areshkau
*
*/
-public class DOMCreatingTest extends XulRunnerBrowserTest {
-
+public class DOMCreatingTest extends XulRunnerAbstractTest {
/**
- * Contains brouser instamce
- */
- private XulRunnerEditor xulrunnerBrowser;
-
- /**
* Tests possability add and remove dom elements.
*
*/
public void testAddRemovingDOMElements() {
- nsIDOMDocument domDocument = xulrunnerBrowser.getDOMDocument();
+ nsIDOMDocument domDocument = xulRunnerEditor.getDOMDocument();
nsIDOMElement root = domDocument.getDocumentElement();
nsIDOMElement child = domDocument.createElement("test-element");
root.appendChild(child);
@@ -61,8 +52,8 @@
String chieldName = "H";
String attrName = "color";
String attrValue = "TEST_VALUE";
- assertNotNull(xulrunnerBrowser);
- nsIDOMDocument domDocument = xulrunnerBrowser.getDOMDocument();
+ assertNotNull(xulRunnerEditor);
+ nsIDOMDocument domDocument = xulRunnerEditor.getDOMDocument();
nsIDOMElement root = domDocument.getDocumentElement();
for (long i = root.getChildNodes().getLength() - 1; i >= 0; i--) {
@@ -106,19 +97,6 @@
}
@Override
- protected void setUp() throws Exception {
- super.setUp();
- waitForJobs();
- XulRunnerView xulrunner
- = ((XulRunnerView) PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(VIEW_ID));
- waitForJobs();
- delay(3000);
-
- xulrunnerBrowser = xulrunner.getBrowser();
- }
-
- @Override
protected void tearDown() throws Exception {
super.tearDown();
}
Added: trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XPCOMTest.java 2010-05-31 16:06:07 UTC (rev 22444)
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.xulrunner.test;
+
+import java.util.List;
+
+import org.jboss.tools.vpe.xulrunner.XPCOM;
+import org.mozilla.interfaces.jsdIScript;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.mozilla.interfaces.nsIDOMDocumentView;
+import org.mozilla.interfaces.nsIDOMNSDocument;
+import org.mozilla.interfaces.nsIDOMNSElement;
+import org.mozilla.interfaces.nsIDOMNode;
+import org.mozilla.interfaces.nsISupports;
+import org.mozilla.xpcom.XPCOMException;
+
+/**
+ * Tests for {@link XPCOM} class.
+ *
+ * @author Yahor Radtsevich (yradtsevich)
+ */
+public class XPCOMTest extends XulRunnerAbstractTest {
+
+ /**
+ * Test method for {@link org.jboss.tools.vpe.xulrunner.XPCOM#queryInterface(org.mozilla.interfaces.nsISupports, java.lang.Class)}.
+ */
+ public void testQueryInterface() {
+ nsIDOMDocument document = xulRunnerEditor.getDOMDocument();
+
+ assertTrue(XPCOM.queryInterface(document, nsIDOMDocument.class) instanceof nsIDOMDocument);
+ assertTrue(XPCOM.queryInterface(document, nsIDOMNSDocument.class) instanceof nsIDOMNSDocument);
+
+ try {
+ document.queryInterface(nsIDOMNSElement.NS_IDOMNSELEMENT_IID);
+ fail("Expected Exception XPCOMException");
+ } catch (XPCOMException e) {
+ // do nothing, it's OK
+ }
+ }
+
+ /**
+ * Test method for {@link org.jboss.tools.vpe.xulrunner.XPCOM#getInterfaceId(java.lang.Class)}.
+ */
+ public void testGetInterfaceId() {
+ assertEquals(nsIDOMDocument.NS_IDOMDOCUMENT_IID, XPCOM.getInterfaceId(nsIDOMDocument.class));
+ assertEquals(nsIDOMNode.NS_IDOMNODE_IID, XPCOM.getInterfaceId(nsIDOMNode.class));
+ assertEquals(jsdIScript.JSDISCRIPT_IID, XPCOM.getInterfaceId(jsdIScript.class));
+ }
+
+ /**
+ * Test method for {@link org.jboss.tools.vpe.xulrunner.XPCOM#getSupportedInterfaces(org.mozilla.interfaces.nsISupports)}.
+ */
+ public void testGetSupportedInterfaces() {
+ nsIDOMDocument document = xulRunnerEditor.getDOMDocument();
+
+ List<Class<? extends nsISupports>> supportedInterfaces
+ = XPCOM.getSupportedInterfaces(document);
+
+ assertTrue(supportedInterfaces.contains(nsISupports.class));
+ assertTrue(supportedInterfaces.contains(nsIDOMNode.class));
+ assertTrue(supportedInterfaces.contains(nsIDOMDocumentView.class));
+ assertTrue(supportedInterfaces.contains(nsIDOMDocument.class));
+ }
+}
Added: trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAbstractTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAbstractTest.java (rev 0)
+++ trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAbstractTest.java 2010-05-31 16:06:07 UTC (rev 22444)
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.xulrunner.test;
+
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
+import org.jboss.tools.vpe.xulrunner.editor.XulRunnerEditor;
+import org.jboss.tools.vpe.xulrunner.view.XulRunnerView;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Yahor Radtsevich (yradtsevich): extracted superclass from
+ * {@code XulRunnerBrowserTest}.
+ *
+ */
+public abstract class XulRunnerAbstractTest extends TestCase {
+
+ public static final String VIEW_ID = "org.jboss.tools.vpe.xulrunner.view.XulRunnerView";
+
+ /**
+ * Contains browser instamce
+ */
+ protected XulRunnerEditor xulRunnerEditor;
+ protected XulRunnerView xulRunnerView;
+
+ public XulRunnerAbstractTest() {
+ super();
+ }
+
+ /**
+ * @param name
+ */
+ public XulRunnerAbstractTest(String name) {
+ super(name);
+ }
+
+ /**
+ * Process UI input but do not return for the specified time interval.
+ *
+ * @param waitTimeMillis
+ * the number of milliseconds
+ */
+ protected void delay(long waitTimeMillis) {
+ Display display = Display.getCurrent();
+
+ // If this is the UI thread,
+ // then process input.
+ if (display != null) {
+ long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
+ while (System.currentTimeMillis() < endTimeMillis) {
+ if (!display.readAndDispatch())
+ display.sleep();
+ }
+ display.update();
+ }
+ // Otherwise, perform a simple sleep.
+ else {
+ try {
+ Thread.sleep(waitTimeMillis);
+ } catch (InterruptedException e) {
+ // Ignored.
+ }
+ }
+ }
+
+ /**
+ * Wait until all background tasks are complete.
+ */
+ public void waitForJobs() {
+ while (Job.getJobManager().currentJob() != null)
+ delay(1000);
+ }
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ waitForJobs();
+ xulRunnerView
+ = ((XulRunnerView) PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getActivePage().showView(VIEW_ID));
+
+ // Delay for 3 seconds so that
+ // the Favorites view can be seen.
+ waitForJobs();
+ // commented by dgolovin to get rid of jvm error [libexpat.so.0+0xeff4]
+ //delay(3000);
+
+ xulRunnerEditor = xulRunnerView.getBrowser();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .hideView(xulRunnerView);
+
+ xulRunnerEditor = null;
+ xulRunnerView = null;
+ super.tearDown();
+ }
+}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAllTests.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAllTests.java 2010-05-31 15:35:26 UTC (rev 22443)
+++ trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerAllTests.java 2010-05-31 16:06:07 UTC (rev 22444)
@@ -1,25 +1,24 @@
/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2007-2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.vpe.xulrunner.test;
import junit.framework.Test;
import junit.framework.TestSuite;
public class XulRunnerAllTests {
-
public static Test suite() {
TestSuite suite = new TestSuite("Test for " + XulRunnerAllTests.class.getName());
- //add test cases for dom elements
- suite.addTestSuite(XulRunnerBrowserTest.class);
+ suite.addTestSuite(XulRunnerBrowserTest.class);
+ suite.addTestSuite(DOMCreatingTest.class);
+ suite.addTestSuite(XPCOMTest.class);
return suite;
}
-
}
Modified: trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerBrowserTest.java
===================================================================
--- trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerBrowserTest.java 2010-05-31 15:35:26 UTC (rev 22443)
+++ trunk/vpe/tests/org.jboss.tools.vpe.xulrunner.test/src/org/jboss/tools/vpe/xulrunner/test/XulRunnerBrowserTest.java 2010-05-31 16:06:07 UTC (rev 22444)
@@ -1,75 +1,17 @@
/*******************************************************************************
- * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Copyright (c) 2007-2010 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
- * Contributors:
- * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.vpe.xulrunner.test;
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.jboss.tools.vpe.xulrunner.view.XulRunnerView;
-
-public class XulRunnerBrowserTest extends TestCase {
- public static final String VIEW_ID = "org.jboss.tools.vpe.xulrunner.view.XulRunnerView";
-
- /**
- * Process UI input but do not return for the specified time interval.
- *
- * @param waitTimeMillis
- * the number of milliseconds
- */
- protected void delay(long waitTimeMillis) {
- Display display = Display.getCurrent();
-
- // If this is the UI thread,
- // then process input.
- if (display != null) {
- long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
- while (System.currentTimeMillis() < endTimeMillis) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- display.update();
- }
- // Otherwise, perform a simple sleep.
- else {
- try {
- Thread.sleep(waitTimeMillis);
- } catch (InterruptedException e) {
- // Ignored.
- }
- }
+public class XulRunnerBrowserTest extends XulRunnerAbstractTest {
+ public void testXulRunnerBrowser() {
+ assertNotNull(xulRunnerView);
}
-
- /**
- * Wait until all background tasks are complete.
- */
- public void waitForJobs() {
- while (Job.getJobManager().currentJob() != null)
- delay(1000);
- }
-
- public void testXulRunnerBrowser() throws PartInitException {
- waitForJobs();
- XulRunnerView mozillaView = (XulRunnerView) PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage().showView(VIEW_ID);
-
- // Delay for 3 seconds so that
- // the Favorites view can be seen.
- waitForJobs();
- // commented by dgolovin to get rid of jvm error [libexpat.so.0+0xeff4]
- //delay(3000);
-
- PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
- .hideView(mozillaView);
- }
}
14 years, 7 months
JBoss Tools SVN: r22443 - trunk/jbpm/docs/reference/en-US.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2010-05-31 11:35:26 -0400 (Mon, 31 May 2010)
New Revision: 22443
Modified:
trunk/jbpm/docs/reference/en-US/master.xml
Log:
https://jira.jboss.org/browse/TOOLSDOC-23-
Finished the guide restructuring.
Modified: trunk/jbpm/docs/reference/en-US/master.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/master.xml 2010-05-31 15:33:32 UTC (rev 22442)
+++ trunk/jbpm/docs/reference/en-US/master.xml 2010-05-31 15:35:26 UTC (rev 22443)
@@ -4,12 +4,7 @@
[<!ENTITY introduction SYSTEM "Introduction.xml">
-<!ENTITY jboss_jbpm_runtime_installation SYSTEM "jboss_jbpm_runtime_installation.xml">
-<!ENTITY guided_tour_jboss_jbpmgpd SYSTEM "guided_tour_jboss_jbpmgpd.xml">
<!ENTITY the_views SYSTEM "the_views.xml">
-<!ENTITY Test_Drive_Proc SYSTEM "Test_Drive_Proc.xml">
-<!ENTITY The_JBoss_jBPM_Int_Mech SYSTEM "The_JBoss_jBPM_Int_Mech.xml">
-<!ENTITY Quick_Howto_Guide SYSTEM "Quick_Howto_Guide.xml">
<!ENTITY tasks SYSTEM "tasks.xml">
<!ENTITY seamlink "../../seam/html_single/index.html">
<!ENTITY aslink "../../as/html_single/index.html">
@@ -81,15 +76,9 @@
<toc/>
&introduction;
-
- <!-- &jboss_jbpm_runtime_installation;
- &guided_tour_jboss_jbpmgpd; -->
&tasks;
&the_views;
+
- <!-- &Test_Drive_Proc;
- &The_JBoss_jBPM_Int_Mech;
- &Quick_Howto_Guide; -->
-
<!-- TODO: drools used in this section is not available for eclipse .3.3 &AddBusinessProcess; -->
</book>
14 years, 7 months
JBoss Tools SVN: r22442 - trunk/jbpm/docs/reference/en-US.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2010-05-31 11:33:32 -0400 (Mon, 31 May 2010)
New Revision: 22442
Removed:
trunk/jbpm/docs/reference/en-US/Test_Drive_Proc.xml
trunk/jbpm/docs/reference/en-US/The_JBoss_jBPM_Int_Mech.xml
trunk/jbpm/docs/reference/en-US/guided_tour_jboss_jbpmgpd.xml
trunk/jbpm/docs/reference/en-US/jboss_jbpm_runtime_installation.xml
Modified:
trunk/jbpm/docs/reference/en-US/Introduction.xml
Log:
https://jira.jboss.org/browse/TOOLSDOC-23-
Finished the guide restructuring.
Modified: trunk/jbpm/docs/reference/en-US/Introduction.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/Introduction.xml 2010-05-31 14:19:48 UTC (rev 22441)
+++ trunk/jbpm/docs/reference/en-US/Introduction.xml 2010-05-31 15:33:32 UTC (rev 22442)
@@ -43,7 +43,7 @@
<para>Write an example process test case</para>
</listitem>
</itemizedlist>
- <para>If you have questions, please feel free to contact <ulink url="mailto:koen.aers@jboss.com"
+ <para>If you have any questions, please feel free to contact <ulink url="mailto:koen.aers@jboss.com"
>Koen Aers</ulink> or <ulink url="mailto:tom.baeyens@jboss.com">Tom Baeyens</ulink> for more
information.</para>
</section>
@@ -70,7 +70,7 @@
<link linkend="minimal_process_definition">jPDL support</link>
</entry>
<entry>Enables managing workflow processes as well as human tasks and interactions between
- them. jPDL combines the best both Java and declarative process techniques.</entry>
+ them. jPDL combines the best techniques both in Java and in declarative process.</entry>
</row>
<row>
Deleted: trunk/jbpm/docs/reference/en-US/Test_Drive_Proc.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/Test_Drive_Proc.xml 2010-05-31 14:19:48 UTC (rev 22441)
+++ trunk/jbpm/docs/reference/en-US/Test_Drive_Proc.xml 2010-05-31 15:33:32 UTC (rev 22442)
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="Test_Drive_Proc_Development" xreflabel="Test_Drive_Proc_Development">
- <?dbhtml filename="Test_Drive_Proc_Development.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword/>
- <keyword/>
- <keyword/>
- <keyword/>
- </keywordset>
- </chapterinfo>
- <title>Test Driven Process Development</title>
-
- <para> One of the most important advantages of JBoss jBPM's lightweight approach to BPM
- and workflow management is that developers can easily leverage their usual programming
- skills and techniques. One of these well-known techniques is Unit Testing and Test Driven
- Development. </para>
- <para>In this chapter we will show how developers, making use of the JBoss jBPM GPD, can use a
- technique we have baptized <property>Test Driven Process Development</property> to create
- process definitions and test their correctness. </para>
-
- <para> When creating the <emphasis>
- <property>HellojBPM</property>
- </emphasis> project the Project Creation wizard has already put in place all the library
- requirements we need to start writing the jBPM unit tests. They are contained in the jBPM
- Library container and the most important of them is the <emphasis>
- <property>.jar</property>
- </emphasis> file containing the core jBPM classes. While working on the project you could
- find them all in the <property>Package Explorer</property>.</para>
-
- <figure>
- <title>The jBPM Libraries</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>It must be noted that it is possible to change the location of the core jBPM installation
- by changing the preference settings. More on this <link linkend="change_core_jbpm_inst">see
- later</link> in this book.</para>
-
- <para> With that extra knowledge on the project settings, you can create your first test. To do
- this, we create the <emphasis>
- <property>com.jbay</property>
- </emphasis> package in the <emphasis>
- <property>test/java</property>
- </emphasis> source folder. Then we bring up the context menu on this package and select <emphasis>
- <property>New > Other...</property>
- </emphasis></para>
-
- <figure>
- <title>Call the JUnit Test Case Creation wizard</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para> And then <emphasis>
- <property>Java > JUnit > JUnit Test Case</property>
- </emphasis> to call the specialized JUnite Test case creation wizard.</para>
- <figure>
- <title>Call the JUnit Test Case Creation wizard</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The wizard looks as follows:</para>
-
- <figure>
- <title>Create Test Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>By default JUnit 3 version of testing framework is selected. Of course, you can choose
- new advanced JUnit 4 version. In this case you'll be prompted to add new JUnit
- Library to your build path. To add it automatically just click on the appropriate link. In
- the <emphasis>
- <property>Class under test</property>
- </emphasis> section you can specify the class to test.</para>
- <para>In this guide we will use JUnit 3 version.</para>
- <figure>
- <title>A First Test Scenario</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Then, we call the test class <emphasis>
- <property>HelloTest</property>
- </emphasis> and press <emphasis>
- <property>Finish</property>
- </emphasis> button to complete.</para>
-
- <para> Next, we should write a simple test scenario as shown on the next figure. Let's
- study the code of this test case. </para>
-
- <figure id="hello_test">
- <title>A First Test Scenario</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_6.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In the first line of the method, a jBPM process archive object is created. We use a
- constructor accepting the filename of the archive. In our case it is the <emphasis>
- <property>hello</property>
- </emphasis> file we created earlier and which lives in the <emphasis>
- <property>src/main/jpdl</property>
- </emphasis> folder of our project. After asserting that this object is really created, we
- extract a process definition object from it. This object is fed to the constructor of a
- process instance object. We have a process instance object, but this process is not yet
- started, so we can safely assert that its root token still resides in the start node. After
- signalling the token will move to the next state and the process will be in the <emphasis>
- <property>auction</property>
- </emphasis> state. Finally another signal will end the process. </para>
-
-
- <para> After writing this test we can check whether it works as expected by running it .</para>
-
- <figure>
- <title>Running the Process Test</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_7.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>All went well as we have a green light:</para>
-
- <figure>
- <title>Successful Test Run</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Test_Drive_Proc/test_driv_proc_8.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para> Of course, this simple scenario was not very interesting, but the purpose of it was to
- show how you can reuse your development skills in a very straightforward way when doing
- process development. To see how more interesting processes and process test
- scenario's can be developed, we suggest you to read the <ulink
- url="http://docs.jboss.com/jbpm/v3/userguide/">JBoss jBPM User Guide</ulink> and to
- study the API reference. You can find it in the jBPM download folder. (To get started we
- downloaded jbpm-jpdl-3.2.2 in <link linkend="jboss_jbpm_runtime_installation">the second
- chapter</link>. You should just remember where you extracted it.) All we've mentioned are in the 'javadoc- *' subfolders of the 'doc' folder.
- Moreover, some more examples will be given later in this book.</para>
-
-</chapter>
Deleted: trunk/jbpm/docs/reference/en-US/The_JBoss_jBPM_Int_Mech.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/The_JBoss_jBPM_Int_Mech.xml 2010-05-31 14:19:48 UTC (rev 22441)
+++ trunk/jbpm/docs/reference/en-US/The_JBoss_jBPM_Int_Mech.xml 2010-05-31 15:33:32 UTC (rev 22442)
@@ -1,241 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="The_JBoss_jBPM_Int_Mech" xreflabel="The_JBoss_jBPM_Int_Mech">
- <?dbhtml filename="The_JBoss_jBPM_Int_Mech.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword/>
- <keyword/>
- <keyword/>
- <keyword/>
- </keywordset>
- </chapterinfo>
- <title>Actions : The JBoss jBPM Integration Mechanism</title>
-
- <para> In this chapter we will show how to do software integration with <property>JBoss
- jBPM</property>. The standard mechanism to implement this is to wrap the functionality you
- want to integrate in a class that implements the <emphasis>
- <property>ActionHandler</property>
- </emphasis> interface. In order to demonstrate it let's specify Hello World action for our
- process.</para>
-
- <section>
- <title>Creating a Hello World Action</title>
-
- <para>Each Hello World process should integrate one or more Hello World actions, so this is
- what we will be doing. We can integrate custom code at different points in the process
- definition. To do this we have to specify an action handler, represented by an
- implementation of the <emphasis>
- <property>ActionHandler</property>
- </emphasis> interface, and attach this piece of code to a particular event. These events
- are amongst others, going over a transition, leaving or entering nodes, after and before
- signalling. </para>
-
- <para> To make things a little bit more concrete, let's create a new class called <emphasis>
- <property>HelloActionHandler</property>.
- </emphasis> For that firstly we'll create a new package <emphasis>
- <property>com.jbay.action</property>
- </emphasis> in the <emphasis>
- <property>src/java/main</property>
- </emphasis> folder of our project. Then, we should call New Class Creation wizard as
- usual by right-clicking and navigating <emphasis>
- <property>New > Class</property>.
- </emphasis> </para>
-
- <figure>
- <title>Creating HelloActionHendler Class</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Notice that two first gaps have been filled automatically. Here, instead of <emphasis>
- <property>Package</property>
- </emphasis> option <emphasis>
- <property>Enclose type</property>
- </emphasis> option can be selected where a type in which to enclose a new class should
- be specified.</para>
-
- <para>In our case, we leave everything as it is, just type <emphasis>
- <property>HelloActionHandler</property>
- </emphasis> as a name of new class and add <emphasis>
- <property>org.jbpm.graph.ActionHendler</property>
- </emphasis> interface as it's shown in the picture above.</para>
-
- <para>Thus, our <emphasis>
- <property>HelloActionHandler</property>
- </emphasis> implements the <emphasis>
- <property>ActionHandler</property>
- </emphasis> interface including the <emphasis>
- <property>execute</property>
- </emphasis> method as shown in the next figure. Here, we add a variable named <emphasis>
- <property>greeting</property>
- </emphasis> to the collection of process variables and put a message in it :
- <emphasis>"Hello from ActionHandler"</emphasis>. </para>
-
- <figure>
- <title>A Simple Hello Action</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Now, as we have <emphasis>
- <property>HelloActionHandler</property>
- </emphasis> class defined, let's explore how we can handle it.</para>
- </section>
-
- <section>
- <title>Integrating the Hello World Action</title>
-
- <para>The main purpose of this chapter is to provide you with the steps associating our
- Hello World action with a particular event and test the correctness of our actions as
- well.</para>
-
- <para> As good Testcity citizens we will first create a Unit Test that proves the behaviour
- we want to achieve by adding the <emphasis>
- <property>ActionHandler</property>
- </emphasis> to the process. So we implement another test.</para>
-
- <para>At first, let's return to the
- code we already saw <link linkend="hello_test">in the previous chapter</link> and add new test method <emphasis>
- <property>testActionHendler</property></emphasis> to it. </para>
-
- <figure>
- <title>Create the Hello Action Test</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>We assert
- that no variable called <emphasis>
- <property>greeting</property>
- </emphasis> exist. Then we give the process a signal to move it to the auction state. We
- want to associate the execution of the action with the event of going over the
- transition from the start state to the auction state. So after the signal, the process
- should be in the auction state as in the previous scenario. But moreover, the <emphasis>
- <property>greeting</property>
- </emphasis> variable should exist and contain the string <emphasis>"Hello from
- ActionHandler"</emphasis>. That's what we assert in the last lines of the test
- method.</para>
-
-
-
- <para> Running the tests now results in a failure. The point is that we did not associate
- the action with any particular event in the process definition, so the process variable
- did not get set. </para>
-
- <figure>
- <title>Test Results Before Integration</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para> Let's do something about it and add an action to the first transition of our
- sample process. To do this you can use the Actions tab in the Properties Editor that is
- under the graphical canvas. Bring up the popup menu of the action element container and
- chose New Action as it's shown on the figure below. The other way to add an action
- to the transition is simply to use the dropdown menu that is available under the action
- icon in the right upper corner of the Properties View.</para>
-
- <figure>
- <title>Adding an Action to a Transition</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_5.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>After adding the action a tabbed view with three pages will appear.</para>
-
- <figure>
- <title>Configuration Dialog for an Action</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_6.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The first of these three pages allows you to give the Action a name. The last page
- contains some advanced attributes such as whether the Action is asynchronous. The
- Details page is the most important. It allows to choose and configure the actual action
- handler implementation. </para>
-
- <figure>
- <title>The Details page of an Action Configuration Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_7.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Clicking on the <emphasis>
- <property>Search...</property>
- </emphasis> button brings us to a Choose Class dialog.</para>
-
-
- <figure>
- <title>The Choose Action Handler Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para> We choose our previously created 'HelloActionHandler' class and
- push the <property>OK</property> button. After the selection of the action handler for
- the action, we can run the test and observe it gives us a green light.</para>
-
- <figure>
- <title>Test Results</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_9.png"
- scale="70"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>There we are. The above objective has been achieved.</para>
- </section>
-
- <section>
- <title> Integration Points</title>
-
- <para> The different integration points in a process definition are thoroughly documented in
- the <ulink
- url="http://docs.jboss.com/jbpm/v3/userguide/">JBoss jBPM User Guide</ulink>. Instance nodes can contain many action
- elements. Each of these will appear in the Action element list of the Actions tab. But
- each Action also has a properties view of itself. You can navigate to this view by
- selecting the added Action in the outline view. </para>
-
- </section>
-
-</chapter>
Deleted: trunk/jbpm/docs/reference/en-US/guided_tour_jboss_jbpmgpd.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/guided_tour_jboss_jbpmgpd.xml 2010-05-31 14:19:48 UTC (rev 22441)
+++ trunk/jbpm/docs/reference/en-US/guided_tour_jboss_jbpmgpd.xml 2010-05-31 15:33:32 UTC (rev 22442)
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="GuidedTourJBossjBPMGPD" xreflabel="GuidedTourJBossjBPMGPD">
- <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword>JBoss</keyword>
- <keyword>Process</keyword>
- <keyword>Definition</keyword>
- </keywordset>
- </chapterinfo>
- <title>A Guided Tour of JBoss jBPM GPD</title>
- <para>In this chapter we suggest a step-by-step walk-through of creating and configuring your
- own simple process. Let's try to organize a new jBPM project.</para>
- <para>A wizard for creating a jBPM project is included in the GPD plugin. We have opted to
- create a project based on a template already containing a number of advanced artifacts that
- we will ignore for this section. In the future we will elaborate this wizard and offer the
- possibility to create an empty jBPM project as well as projects based on templates taken
- from the jBPM tutorial.</para>
- <section id="CreatingjBPMProject">
- <?dbhtml filename="CreatingjBPMProject.html"?>
- <title>Creating a jBPM Project</title>
- <para>This section will show you how to use the Creation wizard for creating a new jBPM
- project with already included source folders.</para>
- <para>At first you should select <emphasis>
- <property>File >New Project...</property>
- </emphasis> and then <emphasis>
- <property>JBoss jBPM > Process Project</property>
- </emphasis> in the New Project dialog:</para>
- <figure>
- <title>New Project Dialog</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para> Clicking <emphasis>
- <property>Next</property>
- </emphasis> brings us to the wizard page where it's necessary to specify the
- name and location for the project. We choose, for example, <emphasis>
- <property>HellojBPM</property>
- </emphasis> as the name and accept the default location. </para>
- <figure>
- <title>Process Name and Location</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Thus, our project will be created in the workspace root directory by default. If you
- want to change the directory for your future project, deselect <emphasis>
- <property>Use default location</property>
- </emphasis> and click <emphasis>
- <property>Browse...</property>
- </emphasis> button to set needed location or simply type it.</para>
- <para>On the next screen you'll be prompted to select the core jBPM location that
- we have defined in the previous chapter.</para>
- <figure>
- <title>Core jBPM Location Specifying</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_9.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Clicking on <emphasis>
- <property>Finish</property>
- </emphasis> results in the project being generated. The wizard creates four source
- folders: one for the processes (<emphasis>
- <property>src/main/jpdl</property>
- </emphasis>), one for the java sources (<emphasis>
- <property>src/main/java</property>
- </emphasis>), one for the unit tests (<emphasis>
- <property>src/test/java</property>
- </emphasis>) and one for the resources such as the jbpm.properties and the
- hibernate.properties files (<emphasis>
- <property>src/main/config</property>
- </emphasis>). In addition a classpath container with all the core jBPM libraries is
- added to the project</para>
- <figure>
- <title>Layout of the Process Project</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Looking inside the different source folders will reveal a number of other artifacts
- that were generated, but we will leave these untouched for the moment. Instead, we will
- look at another wizard that enables us to create an empty process definition.</para>
- </section>
- <section id="creating_an_empty_process_definition">
- <?dbhtml filename="creating_an_empty_process_definition.html"?>
- <title>Creating an Empty Process Definition</title>
- <para>Now when the project is set up, we can use a Creation wizard to create an empty
- process definition. Bring up the <emphasis>
- <property>New</property>
- </emphasis> wizard by clicking the <emphasis>
- <property>File > New > Other...</property>
- </emphasis> menu item. The wizard opens on the <emphasis>
- <property>Select Wizard</property>
- </emphasis> page.</para>
- <figure>
- <title>The Select Wizard Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Selecting the <emphasis>
- <property>JBoss jBPM</property>
- </emphasis> category, then the <emphasis>
- <property>Process Definition</property>
- </emphasis> item and clicking on the <emphasis>
- <property>Next</property>
- </emphasis> button brings us to the <emphasis>
- <property>Create Process Definition</property>
- </emphasis> page.</para>
- <figure>
- <title>The Create New Process Defining Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>We choose <emphasis>
- <property>hello</property>
- </emphasis> as the name of the process archive file. Click on the <emphasis>
- <property>Finish</property>
- </emphasis> button to end the wizard and open the process definition editor.</para>
- <figure>
- <title>The Process Definition Editor</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_6.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>You can see in the Package Explorer that creating a process definition involves
- creating a folder with the name of the process definition and populating this folder
- with two .xml files : <emphasis>
- <property>gpd.xml</property>
- </emphasis> , <emphasis>
- <property>processdefinition.xml</property> </emphasis> and a .jpg file:<emphasis>
- <property>processimage.jpg</property></emphasis>.</para>
- <para>The <emphasis>
- <property>gpd.xml</property>
- </emphasis> contains the graphical information used by the process definition editor.
- The <emphasis>
- <property>processdefinition.xml</property>
- </emphasis> file contains the actual process definition info.
- The graphical view of the process is automatically saved in <emphasis>
- <property>processimage.jpg</property>
- </emphasis>file.
- At present, the GPD assumes that these three files are siblings. More
- sophisticated configuration will be supported later.</para>
-
- <section id="minimal_process_definition">
- <?dbhtml filename="minimal_process_definition.html"?>
- <title>A Minimal Process Definition</title>
- <para>Now we are ready to create a very simple process definition consisting of a begin
- state, an intermediate state and an end state.</para>
- <para>To make the configuration of actions much easier it's better to use the
- <emphasis>><property>"jBPM jPDL 3"</property></emphasis> perspective. It provides the tabbed Properties Editor which allows to configure
- all the relevant properties of the current selected item. </para>
-
- <section id="adding_the_nodes">
- <?dbhtml filename="adding_the_nodes.html"?>
- <title>Adding the Nodes</title>
- <para>At first select respectively <emphasis>
- <property>Start</property>, </emphasis>
- <emphasis>
- <property>State</property>
- </emphasis> and <emphasis>
- <property>End</property>
- </emphasis> on the tools palette and click on the canvas to add these nodes to
- the process definition. The result should look similar to this:</para>
- <figure>
- <title>A Simple Process With Three Nodes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_7.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
- <section id="adding_transitions">
- <?dbhtml filename="adding_transitions.html"?>
- <title>Adding Transitions</title>
- <para>Then, we will connect the nodes with transitions. To do that select the <emphasis>
- <property>Transition</property>
- </emphasis> tool in the tools palette and click on the <emphasis>
- <property>Start</property>
- </emphasis> node, then move to the <emphasis>
- <property>State</property>
- </emphasis> node and click again to see the transition being drawn. Perform the
- same steps to create a transition from the <emphasis>
- <property>State</property>
- </emphasis> node to the <emphasis>
- <property>End</property>
- </emphasis> node. The result will look like:</para>
- <figure>
- <title>A Simple Process With Transitions</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_8.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Now, when you've got background knowledge of simple project creation,
- let's move to more advanced tools.</para>
- </section>
- </section>
- </section>
-
-</chapter>
Deleted: trunk/jbpm/docs/reference/en-US/jboss_jbpm_runtime_installation.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/jboss_jbpm_runtime_installation.xml 2010-05-31 14:19:48 UTC (rev 22441)
+++ trunk/jbpm/docs/reference/en-US/jboss_jbpm_runtime_installation.xml 2010-05-31 15:33:32 UTC (rev 22442)
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="jboss_jbpm_runtime_installation" xreflabel="jboss_jbpm_runtime_installation">
- <?dbhtml filename="jboss_jbpm_runtime_installation.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword>designer</keyword>
- <keyword>process</keyword>
- <keyword>JBoss Developer Studio</keyword>
- <keyword>jBPM runtime</keyword>
- </keywordset>
- </chapterinfo>
- <title>JBoss jBPM Runtime Installation</title>
- <para>The main purpose of this chapter is to let you know how to launch the <property>JBoss
- jBPM</property> (business process management).</para>
- <para>The jBPM plugin (jBPM Designer) is already included in the <property>JBoss Tools</property>.
- To make it work, you should only download the jBPM runtime (<ulink
- url="http://sourceforge.net/project/showfiles.php?group_id=70542&package_i..."
- >jbpm-jpdl-3.2.3</ulink> currently) and specify the directory where you extracted the runtime
- either when you create a jBPM project or by using the jBPM preference pages.</para>
-
- <note>
- <title>Note:</title>
- <para>Try to avoid using spaces in the names of installation folders. It can provoke problems in
- some situations with Sun-based VMs.</para>
- </note>
-
- <para>Navigate to <emphasis>
- <property>Window > Preferences > JBoss jBPM > Runtime Locations</property>.
- </emphasis> Here you can add, edit and remove JBoss jBPM installation locations. Click <emphasis>
- <property>Add</property>
- </emphasis> button. In the dialog that appeared enter a name for a newly added jBPM runtime and
- point to the correct location of this package on your harddrive. Click <emphasis>
- <property>OK</property>
- </emphasis> then click <emphasis>
- <property>OK</property>
- </emphasis> again.</para>
-
- <figure>
- <title>Adding jBPM Location</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/runtime_installation/runtime_installation_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Now, when you have a runtime installed, we are going to demonstrate some powerful features of
- the jBPM.</para>
-</chapter>
14 years, 7 months
JBoss Tools SVN: r22441 - in trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe: editor/mozilla and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: dmaliarevich
Date: 2010-05-31 10:19:48 -0400 (Mon, 31 May 2010)
New Revision: 22441
Added:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizard.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsDialog.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/Constants.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/VpeUIMessages.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/messages.properties
Log:
https://jira.jboss.org/browse/JBIDE-6287 , update TitleAreaDialog to WizardDialog in order to use validation.
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsDialog.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsDialog.java 2010-05-31 10:24:33 UTC (rev 22440)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsDialog.java 2010-05-31 14:19:48 UTC (rev 22441)
@@ -10,286 +10,24 @@
******************************************************************************/
package org.jboss.tools.vpe.editor.dialog;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.jboss.tools.common.model.ui.ModelUIImages;
-import org.jboss.tools.jst.jsp.outline.cssdialog.common.Constants;
-import org.jboss.tools.vpe.VpePlugin;
-import org.jboss.tools.vpe.editor.VpeController;
-import org.jboss.tools.vpe.editor.bundle.BundleMap;
-import org.jboss.tools.vpe.editor.bundle.BundleMap.BundleEntry;
-import org.jboss.tools.vpe.messages.VpeUIMessages;
-import org.w3c.dom.Attr;
-public class ExternalizeStringsDialog extends TitleAreaDialog {
+public class ExternalizeStringsDialog extends WizardDialog {
- private final int DIALOG_WIDTH = 450;
- private final int DIALOG_HEIGHT = 300;
- private VpeController vpeController;
- private Text textStringValue;
- private Text propsKey;
- private Text propsValue;
- private Text propsFile;
- private Combo rbCombo;
- private BundleMap bm;
-
- public ExternalizeStringsDialog(Shell parentShell,
- VpeController vpeController) {
- super(parentShell);
- this.vpeController = vpeController;
- this.bm = vpeController.getPageContext().getBundle();
- setHelpAvailable(false);
+ public ExternalizeStringsDialog(Shell parentShell, IWizard newWizard) {
+ super(parentShell, newWizard);
}
-
+
@Override
- protected Control createDialogArea(Composite parent) {
- /*
- * Setting dialog Title, Message, Image.
- */
- getShell().setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TITLE);
- setTitle(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TITLE);
- setTitleImage(ModelUIImages.getImageDescriptor(
- ModelUIImages.WIZARD_DEFAULT).createImage(null));
- setMessage(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_DESCRIPTION);
-
- Composite composite = new Composite(parent, SWT.NONE);
- composite.setLayout(new GridLayout(1, false));
-
- GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
- gd.widthHint = DIALOG_WIDTH;
- gd.heightHint = DIALOG_HEIGHT;
- composite.setLayoutData(gd);
-
- /*
- * Create dialog area separator
- */
- Label dialogAreaSeparator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
- dialogAreaSeparator.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
-
- /*
- * Create properties string group
- */
- Group propsStringGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
- propsStringGroup.setLayout(new GridLayout(3, false));
- propsStringGroup.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 1, 1));
- propsStringGroup.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPS_STRINGS_GROUP);
-
- /*
- * Create Text String label
- */
- Label textStringLabel = new Label(propsStringGroup, SWT.NONE);
- textStringLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
- textStringLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TEXT_STRING);
- /*
- * Create Text String value
- */
- textStringValue = new Text(propsStringGroup, SWT.BORDER);
- textStringValue.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
- textStringValue.setText("Not initialized"); //$NON-NLS-1$
- textStringValue.setEditable(false);
-
- /*
- * Create Properties Key label
- */
- Label propsKeyLabel = new Label(propsStringGroup, SWT.NONE);
- propsKeyLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
- propsKeyLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPERTIES_KEY);
- /*
- * Create Properties Key value
- */
- propsKey = new Text(propsStringGroup, SWT.BORDER);
- propsKey.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
- propsKey.setText("key"); //$NON-NLS-1$
- /*
- * Create Properties Value label
- */
- Label propsValueLabel = new Label(propsStringGroup, SWT.NONE);
- propsValueLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
- propsValueLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPERTIES_VALUE);
- /*
- * Create Properties Value value
- */
- propsValue = new Text(propsStringGroup, SWT.BORDER);
- propsValue.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
- propsValue.setText("value"); //$NON-NLS-1$
-
- /*
- * Create properties string group
- */
- Group propsFilesGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
- propsFilesGroup.setLayout(new GridLayout(3, false));
- propsFilesGroup.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 1, 1));
- propsFilesGroup.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPS_FILES_GROUP);
-
- /*
- * Create Resource Bundles List label
- */
- Label rbListLabel = new Label(propsFilesGroup, SWT.NONE);
- rbListLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
- rbListLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_RESOURCE_BUNDLE_LIST);
- /*
- * Create Resource Bundles combobox
- */
- rbCombo = new Combo(propsFilesGroup, SWT.NONE);
- rbCombo.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
-// rbCombo.add(Constants.EMPTY);
- rbCombo.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- IFile bundleFile = bm.getBundleFile(rbCombo.getText());
- String bundlePath = Constants.EMPTY;
- if (bundleFile != null) {
- bundlePath = bundleFile.getFullPath().toString();
- }
- propsFile.setText(bundlePath);
- }
- });
-
- /*
- * Create Properties File label
- */
- Label propsFileLabel = new Label(propsFilesGroup, SWT.NONE);
- propsFileLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false,false, 1, 1));
- propsFileLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPERTIES_FILE);
- /*
- * Create Properties File path field
- */
- propsFile = new Text(propsFilesGroup, SWT.BORDER);
- propsFile.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true,false, 2, 1));
- propsFile.setText(Constants.EMPTY);
- propsFile.setEditable(false);
-
- /*
- * Initialize all fields with real values.
- */
- initializeTextFields();
-
- return composite;
+ protected void createButtonsForButtonBar(Composite parent) {
+ super.createButtonsForButtonBar(parent);
+ Button finishButton = getButton(IDialogConstants.FINISH_ID);
+ finishButton.setText(IDialogConstants.OK_LABEL);
}
- private void initializeTextFields() {
- ISelection sel = vpeController.getSourceEditor().getSelectionProvider()
- .getSelection();
- if ((textStringValue != null) && (propsKey != null)
- && isSelectionCorrect(sel)) {
- String stringToUpdate = Constants.EMPTY;
- TextSelection textSelection = null;
- String text = null;
- IStructuredSelection structuredSelection = (IStructuredSelection) sel;
- textSelection = (TextSelection) sel;
- text = textSelection.getText();
- Object selectedElement = structuredSelection.getFirstElement();
- /*
- * Parse selected element and find a string to replace
- */
- if (selectedElement instanceof org.w3c.dom.Text) {
- org.w3c.dom.Text textNode = (org.w3c.dom.Text) selectedElement;
- if ((textNode.getNodeValue().trim().length() > 0)
- && (text.trim().length() > 0)) {
- stringToUpdate = textNode.getNodeValue();
- }
- } else if (selectedElement instanceof Attr) {
- Attr attrNode = (Attr) selectedElement;
- if ((attrNode.getNodeValue().trim().length() > 0)
- && (text.trim().length() > 0)) {
- stringToUpdate = attrNode.getNodeValue();
- }
- } else {
- VpePlugin.getDefault().logWarning(
- VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR);
- }
- /*
- * Update text string field
- */
- textStringValue.setText(text);
-
- /*
- * Initialize bundle messages field
- */
- BundleEntry[] bundles = bm.getBundles();
- Set<String> uriSet = new HashSet<String>();
- for (BundleEntry bundleEntry : bundles) {
- if (!uriSet.contains(bundleEntry.uri)) {
- uriSet.add(bundleEntry.uri);
- rbCombo.add(bundleEntry.uri);
- }
- }
- } else {
- VpePlugin.getDefault().logWarning(
- VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR);
- }
- }
-
- @Override
- protected void okPressed() {
- StructuredTextEditor editor = vpeController.getSourceEditor();
- IDocumentProvider prov = editor.getDocumentProvider();
- IDocument doc = prov.getDocument(editor.getEditorInput());
- ISelection sel = editor.getSelectionProvider().getSelection();
- if (isSelectionCorrect(sel)) {
- try {
- /*
- * Get source text and new text
- */
- final TextSelection textSel = (TextSelection) sel;
- String newText = "\n" + propsKey.getText() + Constants.EQUAL + propsValue.getText() + "\n"; //$NON-NLS-1$ //$NON-NLS-2$
- /*
- * Add "key=value" to the bundle
- */
- IFile bundleFile = bm.getBundleFile(rbCombo.getText());
- if ((bundleFile != null) && (bundleFile.exists())) {
- InputStream is = new ByteArrayInputStream(newText.getBytes());
- bundleFile.appendContents(is, false, true, null);
- }
- /*
- * Replace text in the editor with "key.value"
- */
- String bundlePrefix = Constants.EMPTY;
- for (BundleEntry be : bm.getBundles()) {
- if (be.uri.equalsIgnoreCase(rbCombo.getText())) {
- bundlePrefix = be.prefix;
- }
- }
- newText = "#{" + bundlePrefix + Constants.DOT + propsKey.getText() + "}"; //$NON-NLS-1$ //$NON-NLS-2$
- doc.replace(textSel.getOffset(), textSel.getLength(), newText);
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- super.okPressed();
- }
-
- private boolean isSelectionCorrect(ISelection sel) {
- if ((sel instanceof TextSelection)
- && (sel instanceof IStructuredSelection)
- && (((IStructuredSelection) sel).size() == 1)) {
- return true;
- } else {
- return false;
- }
- }
-
}
Added: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizard.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizard.java (rev 0)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizard.java 2010-05-31 14:19:48 UTC (rev 22441)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.editor.dialog;
+
+import org.eclipse.jface.wizard.Wizard;
+import org.jboss.tools.vpe.editor.VpeController;
+import org.jboss.tools.vpe.messages.VpeUIMessages;
+
+public class ExternalizeStringsWizard extends Wizard {
+
+ VpeController vpeController = null;
+ ExternalizeStringsWizardPage page = null;
+
+ public ExternalizeStringsWizard(VpeController vpeController) {
+ super();
+ setHelpAvailable(false);
+ setWindowTitle(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TITLE);
+ this.vpeController = vpeController;
+ }
+
+ @Override
+ public void addPages() {
+ page = new ExternalizeStringsWizardPage(vpeController);
+ addPage(page);
+ }
+
+ @Override
+ public boolean canFinish() {
+ return page.isPageComplete();
+ }
+
+ @Override
+ public boolean performFinish() {
+ return page.performFinish();
+ }
+
+}
Added: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java (rev 0)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/dialog/ExternalizeStringsWizardPage.java 2010-05-31 14:19:48 UTC (rev 22441)
@@ -0,0 +1,340 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2010 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.vpe.editor.dialog;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.TextSelection;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.texteditor.IDocumentProvider;
+import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.jboss.tools.common.model.ui.ModelUIImages;
+import org.jboss.tools.vpe.VpePlugin;
+import org.jboss.tools.vpe.editor.VpeController;
+import org.jboss.tools.vpe.editor.bundle.BundleMap;
+import org.jboss.tools.vpe.editor.bundle.BundleMap.BundleEntry;
+import org.jboss.tools.vpe.editor.util.Constants;
+import org.jboss.tools.vpe.messages.VpeUIMessages;
+import org.w3c.dom.Attr;
+
+public class ExternalizeStringsWizardPage extends WizardPage {
+
+ private final int DIALOG_WIDTH = 450;
+ private final int DIALOG_HEIGHT = 300;
+ private VpeController vpeController;
+ private Text textStringValue;
+ private Text propsKey;
+ private Text propsValue;
+ private Text propsFile;
+ private Combo rbCombo;
+ private BundleMap bm;
+
+ public ExternalizeStringsWizardPage(VpeController vpeController) {
+ /*
+ * Setting dialog Title, Description, Image.
+ */
+ super(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TITLE,
+ VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TITLE,
+ ModelUIImages.getImageDescriptor(ModelUIImages.WIZARD_DEFAULT));
+ setDescription(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_DESCRIPTION);
+ setPageComplete(false);
+ this.vpeController = vpeController;
+ this.bm = vpeController.getPageContext().getBundle();
+ }
+
+ public ExternalizeStringsWizardPage(String pageName) {
+ super(pageName);
+ }
+
+ public void createControl(Composite parent) {
+
+ Composite composite = new Composite(parent, SWT.NONE);
+ composite.setLayout(new GridLayout(1, false));
+
+ GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
+ gd.widthHint = DIALOG_WIDTH;
+ gd.heightHint = DIALOG_HEIGHT;
+ composite.setLayoutData(gd);
+
+ /*
+ * Create properties string group
+ */
+ Group propsStringGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+ propsStringGroup.setLayout(new GridLayout(3, false));
+ propsStringGroup.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 1, 1));
+ propsStringGroup.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPS_STRINGS_GROUP);
+
+ /*
+ * Create Text String label
+ */
+ Label textStringLabel = new Label(propsStringGroup, SWT.NONE);
+ textStringLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
+ textStringLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_TEXT_STRING);
+ /*
+ * Create Text String value
+ */
+ textStringValue = new Text(propsStringGroup, SWT.BORDER);
+ textStringValue.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
+ textStringValue.setText("Not initialized"); //$NON-NLS-1$
+ textStringValue.setEditable(false);
+
+ /*
+ * Create Properties Key label
+ */
+ Label propsKeyLabel = new Label(propsStringGroup, SWT.NONE);
+ propsKeyLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
+ propsKeyLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPERTIES_KEY);
+ /*
+ * Create Properties Key value
+ */
+ propsKey = new Text(propsStringGroup, SWT.BORDER);
+ propsKey.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
+ propsKey.setText("key"); //$NON-NLS-1$
+ propsKey.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ if ((propsKey.getText() == null)
+ || (Constants.EMPTY.equalsIgnoreCase(propsKey.getText().trim()))) {
+ setErrorMessage(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_KEY_MUST_BE_SET);
+ } else {
+ setErrorMessage(null);
+ }
+ setPageComplete(isPageComplete());
+ }
+ });
+ /*
+ * Create Properties Value label
+ */
+ Label propsValueLabel = new Label(propsStringGroup, SWT.NONE);
+ propsValueLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
+ propsValueLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPERTIES_VALUE);
+ /*
+ * Create Properties Value value
+ */
+ propsValue = new Text(propsStringGroup, SWT.BORDER);
+ propsValue.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
+ propsValue.setText("value"); //$NON-NLS-1$
+ propsValue.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ if ((propsValue.getText() == null)
+ || (Constants.EMPTY.equalsIgnoreCase(propsValue.getText().trim()))) {
+ setErrorMessage(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_VALUE_MUST_BE_SET);
+ } else {
+ setErrorMessage(null);
+ }
+ setPageComplete(isPageComplete());
+ }
+ });
+
+ /*
+ * Create properties string group
+ */
+ Group propsFilesGroup = new Group(composite, SWT.SHADOW_ETCHED_IN);
+ propsFilesGroup.setLayout(new GridLayout(3, false));
+ propsFilesGroup.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 1, 1));
+ propsFilesGroup.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPS_FILES_GROUP);
+
+ /*
+ * Create Resource Bundles List label
+ */
+ Label rbListLabel = new Label(propsFilesGroup, SWT.NONE);
+ rbListLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false, false, 1, 1));
+ rbListLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_RESOURCE_BUNDLE_LIST);
+ /*
+ * Create Resource Bundles combobox
+ */
+ rbCombo = new Combo(propsFilesGroup, SWT.NONE);
+ rbCombo.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 2, 1));
+ rbCombo.add(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PLEASE_SELECT_BUNDLE);
+ rbCombo.select(0);
+ rbCombo.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IFile bundleFile = bm.getBundleFile(rbCombo.getText());
+ String bundlePath = Constants.EMPTY;
+ if (bundleFile != null) {
+ bundlePath = bundleFile.getFullPath().toString();
+ }
+ propsFile.setText(bundlePath);
+ setPageComplete(isPageComplete());
+ }
+ });
+
+ /*
+ * Create Properties File label
+ */
+ Label propsFileLabel = new Label(propsFilesGroup, SWT.NONE);
+ propsFileLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NONE, false,false, 1, 1));
+ propsFileLabel.setText(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PROPERTIES_FILE);
+ /*
+ * Create Properties File path field
+ */
+ propsFile = new Text(propsFilesGroup, SWT.BORDER);
+ propsFile.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true,false, 2, 1));
+ propsFile.setText(Constants.EMPTY);
+ propsFile.setEditable(false);
+
+ /*
+ * Initialize all fields with real values.
+ */
+ initializeTextFields();
+
+ /*
+ * Wizard Page control should be initialized.
+ */
+ setControl(composite);
+ }
+
+ private void initializeTextFields() {
+ if ((vpeController == null) || (bm == null)){
+ VpePlugin.getDefault().logWarning(
+ VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR);
+ } else {
+ ISelection sel = vpeController.getSourceEditor().getSelectionProvider().getSelection();
+ if ((textStringValue != null) && (propsKey != null)
+ && isSelectionCorrect(sel)) {
+ String stringToUpdate = Constants.EMPTY;
+ TextSelection textSelection = null;
+ String text = null;
+ IStructuredSelection structuredSelection = (IStructuredSelection) sel;
+ textSelection = (TextSelection) sel;
+ text = textSelection.getText();
+ if (text.trim().length() < 1) {
+ setErrorMessage(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_SELECTED_TEXT_IS_EMPTY);
+ } else if ((text.indexOf(Constants.GT) != -1) || (text.indexOf(Constants.LT) != -1)) {
+ setErrorMessage(VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_WRONG_SELECTED_TEXT);
+ }
+ Object selectedElement = structuredSelection.getFirstElement();
+ /*
+ * Parse selected element and find a string to replace
+ */
+ if (selectedElement instanceof org.w3c.dom.Text) {
+ org.w3c.dom.Text textNode = (org.w3c.dom.Text) selectedElement;
+ if ((textNode.getNodeValue().trim().length() > 0)
+ && (text.trim().length() > 0)) {
+ stringToUpdate = textNode.getNodeValue();
+ }
+ } else if (selectedElement instanceof Attr) {
+ Attr attrNode = (Attr) selectedElement;
+ if ((attrNode.getNodeValue().trim().length() > 0)
+ && (text.trim().length() > 0)) {
+ stringToUpdate = attrNode.getNodeValue();
+ }
+ } else {
+ VpePlugin.getDefault().logWarning(
+ VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR);
+ }
+ /*
+ * Update text string field
+ */
+ textStringValue.setText(text);
+
+ /*
+ * Initialize bundle messages field
+ */
+ BundleEntry[] bundles = bm.getBundles();
+ Set<String> uriSet = new HashSet<String>();
+ for (BundleEntry bundleEntry : bundles) {
+ if (!uriSet.contains(bundleEntry.uri)) {
+ uriSet.add(bundleEntry.uri);
+ rbCombo.add(bundleEntry.uri);
+ }
+ }
+ } else {
+ VpePlugin.getDefault().logWarning(
+ VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR);
+ }
+ }
+ }
+
+ private boolean isSelectionCorrect(ISelection sel) {
+ if ((sel instanceof TextSelection)
+ && (sel instanceof IStructuredSelection)
+ && (((IStructuredSelection) sel).size() == 1)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public boolean isPageComplete() {
+ boolean isPageComplete = false;
+ /*
+ * The page is ready when there are no error messages
+ * and the bundle is selected
+ * and "key=value" exists.
+ */
+ if ((getErrorMessage() == null)
+ && (!VpeUIMessages.EXTRNALIZE_STRINGS_DIALOG_PLEASE_SELECT_BUNDLE
+ .equalsIgnoreCase(rbCombo.getItem(rbCombo.getSelectionIndex())))) {
+ isPageComplete = true;
+ }
+ return isPageComplete;
+ }
+
+ public boolean performFinish() {
+ StructuredTextEditor editor = vpeController.getSourceEditor();
+ IDocumentProvider prov = editor.getDocumentProvider();
+ IDocument doc = prov.getDocument(editor.getEditorInput());
+ ISelection sel = editor.getSelectionProvider().getSelection();
+ if (isSelectionCorrect(sel)) {
+ try {
+ /*
+ * Get source text and new text
+ */
+ final TextSelection textSel = (TextSelection) sel;
+ String newText = "\n" + propsKey.getText() + Constants.EQUAL + propsValue.getText() + "\n"; //$NON-NLS-1$ //$NON-NLS-2$
+ /*
+ * Add "key=value" to the bundle
+ */
+ IFile bundleFile = bm.getBundleFile(rbCombo.getText());
+ if ((bundleFile != null) && (bundleFile.exists())) {
+ InputStream is = new ByteArrayInputStream(newText.getBytes());
+ bundleFile.appendContents(is, false, true, null);
+ }
+ /*
+ * Replace text in the editor with "key.value"
+ */
+ String bundlePrefix = Constants.EMPTY;
+ for (BundleEntry be : bm.getBundles()) {
+ if (be.uri.equalsIgnoreCase(rbCombo.getText())) {
+ bundlePrefix = be.prefix;
+ }
+ }
+ newText = "#{" + bundlePrefix + Constants.DOT + propsKey.getText() + "}"; //$NON-NLS-1$ //$NON-NLS-2$
+ doc.replace(textSel.getOffset(), textSel.getLength(), newText);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+ return false;
+ }
+
+}
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2010-05-31 10:24:33 UTC (rev 22440)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java 2010-05-31 14:19:48 UTC (rev 22441)
@@ -66,6 +66,7 @@
import org.jboss.tools.vpe.VpePlugin;
import org.jboss.tools.vpe.editor.VpeController;
import org.jboss.tools.vpe.editor.dialog.ExternalizeStringsDialog;
+import org.jboss.tools.vpe.editor.dialog.ExternalizeStringsWizard;
import org.jboss.tools.vpe.editor.mozilla.listener.EditorLoadWindowListener;
import org.jboss.tools.vpe.editor.mozilla.listener.MozillaResizeListener;
import org.jboss.tools.vpe.editor.mozilla.listener.MozillaTooltipListener;
@@ -95,6 +96,8 @@
import org.mozilla.interfaces.nsIHTMLInlineTableEditor;
import org.mozilla.interfaces.nsIHTMLObjectResizer;
import org.mozilla.interfaces.nsIPlaintextEditor;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Node;
public class MozillaEditor extends EditorPart implements IReusableEditor {
protected static final File INIT_FILE = new File(VpePlugin.getDefault().getResourcePath("ve"), "init.html"); //$NON-NLS-1$ //$NON-NLS-2$
@@ -477,12 +480,13 @@
* otherwise show warning message.
*/
ISelection sel = controller.getSourceEditor().getSelectionProvider().getSelection();
+
if ((sel instanceof TextSelection)
&& (sel instanceof IStructuredSelection)
&& (((IStructuredSelection) sel).size() == 1)) {
ExternalizeStringsDialog dlg = new ExternalizeStringsDialog(
PlatformUI.getWorkbench().getDisplay().getActiveShell(),
- controller);
+ new ExternalizeStringsWizard(controller));
dlg.open();
} else {
MessageDialog.openWarning(
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/Constants.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/Constants.java 2010-05-31 10:24:33 UTC (rev 22440)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/Constants.java 2010-05-31 14:19:48 UTC (rev 22441)
@@ -26,7 +26,11 @@
public static final String PIXEL = "px"; //$NON-NLS-1$
public static final String PERCENT = "%"; //$NON-NLS-1$
public static final String COMMA = ","; //$NON-NLS-1$
+ public static final String DOT = "."; //$NON-NLS-1$
public static final String FILE_PREFIX = "file://"; //$NON-NLS-1$
public static final String UNDERSCORE = "_"; //$NON-NLS-1$
public static final String ZERO_STRING = "0"; //$NON-NLS-1$
+ public static final String EQUAL = "="; //$NON-NLS-1$
+ public static final String GT = ">"; //$NON-NLS-1$
+ public static final String LT = "<"; //$NON-NLS-1$
}
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/VpeUIMessages.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/VpeUIMessages.java 2010-05-31 10:24:33 UTC (rev 22440)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/VpeUIMessages.java 2010-05-31 14:19:48 UTC (rev 22441)
@@ -169,6 +169,11 @@
public static String EXTRNALIZE_STRINGS_DIALOG_PROPS_FILES_GROUP;
public static String EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR;
public static String EXTRNALIZE_STRINGS_DIALOG_WRONG_SELECTION;
+ public static String EXTRNALIZE_STRINGS_DIALOG_WRONG_SELECTED_TEXT;
+ public static String EXTRNALIZE_STRINGS_DIALOG_PLEASE_SELECT_BUNDLE;
+ public static String EXTRNALIZE_STRINGS_DIALOG_SELECTED_TEXT_IS_EMPTY;
+ public static String EXTRNALIZE_STRINGS_DIALOG_KEY_MUST_BE_SET;
+ public static String EXTRNALIZE_STRINGS_DIALOG_VALUE_MUST_BE_SET;
public static String COULD_NOT_OPEN_VPE_RESOURCES_DIALOG;
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/messages.properties
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/messages.properties 2010-05-31 10:24:33 UTC (rev 22440)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/messages/messages.properties 2010-05-31 14:19:48 UTC (rev 22441)
@@ -157,6 +157,11 @@
EXTRNALIZE_STRINGS_DIALOG_PROPS_FILES_GROUP=Handle properties file
EXTRNALIZE_STRINGS_DIALOG_INITIALIZATION_ERROR=Could not initialize externalization dialog!
EXTRNALIZE_STRINGS_DIALOG_WRONG_SELECTION=Wrong selection! Please select correct string.
+EXTRNALIZE_STRINGS_DIALOG_WRONG_SELECTED_TEXT=Wrong selected text. Please select correct string.
+EXTRNALIZE_STRINGS_DIALOG_PLEASE_SELECT_BUNDLE=- Please select bundle -
+EXTRNALIZE_STRINGS_DIALOG_SELECTED_TEXT_IS_EMPTY=Selected text is empty
+EXTRNALIZE_STRINGS_DIALOG_KEY_MUST_BE_SET=Key must be set
+EXTRNALIZE_STRINGS_DIALOG_VALUE_MUST_BE_SET=Value must be set
# Other messages
CANNOT_LOAD_TAGLIBS_FROM_PAGE_CONTEXT=Cannot load taglibs from PageContext!
14 years, 7 months
JBoss Tools SVN: r22440 - trunk/jbpm/docs/reference/en-US.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2010-05-31 06:24:33 -0400 (Mon, 31 May 2010)
New Revision: 22440
Modified:
trunk/jbpm/docs/reference/en-US/the_views.xml
Log:
https://jira.jboss.org/browse/TOOLSDOC-23-
Reviewed restructured jbpm guide.Resolved some text issues and mistakes.
Modified: trunk/jbpm/docs/reference/en-US/the_views.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/the_views.xml 2010-05-31 10:16:48 UTC (rev 22439)
+++ trunk/jbpm/docs/reference/en-US/the_views.xml 2010-05-31 10:24:33 UTC (rev 22440)
@@ -1,385 +1,385 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="reference" xreflabel="reference">
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- </keywordset>
- </chapterinfo>
- <title>Reference</title>
- <section>
- <title>Wizards</title>
- <section>
- <title>Process Project Wizard</title>
- <para>This wizard helps to create new jBPM project.It is available with clicking
- <property>File->New->Other->jBPM 3 Project</property> in the menu bar.</para>
- <figure>
- <title>New Process Project Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/jbpm_2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>It consists of several pages:</para>
- <itemizedlist>
- <listitem><para>On the first page you can adjust the name of the project and the directory where it will be created.</para>
- <para>If "<property>Use default</property>" option is checked the output directory will be the workspace,
- othervise the user should specify it by himself using <property>Browse</property> button.</para>
- <figure>
- <title>New Process Project Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/jbpm_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </listitem>
- <listitem><para>On the second page you should point the location of your jbpm runtime.</para></listitem>
- <listitem><para>The last page is only available for unabling/disabling
- <emphasis>Generate simple process definition,action handling and Unit test</emphasis>.</para></listitem>
- </itemizedlist>
-
- </section>
- <section>
- <title>New JBPM Action Wizard</title>
- <para>This wizard is available by clicking
- <property>File->New->Other->jBPM 3 Action Handler</property>.</para>
-
- <figure>
- <title>New JBPM Action Wizard</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/jbpm_3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>It includes the next options to adjust:</para>
-
- <table>
- <title>New JBPM Action Wizard. Options.</title>
- <tgroup cols="3">
- <colspec colnum="1" align="left" colwidth="1*"/>
- <colspec colnum="2" colwidth="3*"/>
- <colspec colnum="3" align="left" colwidth="1*"/>
-
- <thead>
- <row>
- <entry>Option</entry>
- <entry>Description</entry>
- <entry>Default</entry>
- </row>
- </thead>
- <tbody>
-
- <row>
- <entry>Source folder</entry>
- <entry>The path to the source folder relative to the selected project</entry>
- <entry>The source folder of the project selected in the <emphasis><property>Project</property></emphasis> field</entry>
- </row>
-
- <row>
- <entry>Package</entry>
- <entry>Enter a package to contain an Action Handler.
- Either type a valid package name or click
- <emphasis><property>Browse</property></emphasis>
- to select a package via the dialog box.</entry>
- <entry><blank></entry>
- </row>
-
- <row>
- <entry>Enclosing type</entry>
- <entry>Select the enclosing type of your jBPM action using
- <emphasis><property>Browse</property></emphasis>
- button.</entry>
- <entry><blank></entry>
- </row>
- <row>
- <entry>Modifiers</entry>
- <entry>Select the modifiers that will be added to the generated class.</entry>
- <entry>Public</entry>
- </row>
- <row>
- <entry>Name</entry>
- <entry>Type a name for a new Action Handler</entry>
- <entry><blank></entry>
- </row>
-
- <row>
- <entry>Superclass</entry>
- <entry>Type or click <emphasis><property>Browse</property></emphasis>
- to select a superclass for an Action Handler</entry>
- <entry>org.jbpm.graph.def.ActionHandler</entry>
- </row>
-
- <row>
- <entry>Interface</entry>
- <entry>Type or click <emphasis><property>Add</property></emphasis>
- to select an interface/interfaces for an Action Handler</entry>
- <entry>org.jbpm.graph.def.ActionHandler</entry>
- </row>
-
- <row>
- <entry>Which method stubs you would like to create?</entry>
- <entry>Select the stubs that you would like to be created automatically.</entry>
- <entry><itemizedlist>
- <listitem><para>Constructors from superclass</para></listitem>
- <listitem><para>Inherited abstract methods</para></listitem>
- </itemizedlist>
- </entry>
- </row>
-
- <row>
- <entry>Do you want to add comments?</entry>
- <entry>Select <property>Generate comments</property> check box if you want comment mask
- to be generated before the class definition.
- </entry>
- <entry><blank></entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
-
-
- </section>
-
- <section id="the_views" xreflabel="the_views">
- <?dbhtml filename="the_views.html"?>
- <title>The views</title>
- <para>Here, it will be explained how to work with views and editors provided by JBDS.</para>
- <para>The views are used for representation and navigation the resources you are working on at
- the moment. One of the advantages of all the views is that all modifications made in the
- current active file are immediately displayed in them. Let’s get acquainted more closely
- with those that the <property>jPDL perspective</property> provides. </para>
-
- <figure>
- <title>The jPDL Perspective Views and Editors</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_0.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As you can see in the picture above, the <property>jPDL perspective</property> contains a
- complete set of functionality that's necessary for working on the jBPM project.</para>
-
- <section id="the_outline_view">
- <?dbhtml filename="the_outline_view.html"?>
- <title>The Outline View</title>
- <para>To have a way to quickly see an outline of the process use the <emphasis>
- <property>Outline view</property>
- </emphasis> that is presented as the classical tree. If it is not visible select <emphasis>
- <property>Window > Show view > Outline</property>. </emphasis></para>
-
- <figure>
- <title>The Overview View</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section id="the_overview">
- <?dbhtml filename="the_outline_view.html"?>
- <title>The Overview</title>
- <para>The main advantage of this view is that it gives visual representation of the whole
- current developing process. Besides, the <emphasis>
- <property>Overview</property>
- </emphasis> comes as a scrollable thumbnail which enables a better navigation of the
- process structure if it's too large.</para>
-
- <figure>
- <title>The Overview</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section id="the_properties_view">
- <?dbhtml filename="the_properties_view.html"?>
- <title>The Properties View</title>
- <para> Here, we dwell on the JBDS <property>Properties view</property>.</para>
- <para>Notice if it's not visible you can access it by navigating <emphasis>
- <property>Window > Show view > Properties</property>. </emphasis></para>
- <para>The view shows the relevant properties of the selected item in the tabbed form. Every
- item has its own set of properties, which can be directly editable in the Properties
- view or by brining up the context menu.</para>
-
- <figure>
- <title>The Properties View of selected Transition</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>For example, on the picture above the Properties view displays all the properties for
- a selected transition. Its name has been changed to <emphasis>
- <property>to_auction</property>. </emphasis> We've done it directly in
- active General tab of the view. The same way let's change the name for the
- second transition to <emphasis>
- <property>to_end</property>. </emphasis></para>
- <para>If no one item is selected, the view represents the properties of the whole process
- definition. </para>
-
- <figure>
- <title>The Properties View of Process Definition</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In this case, it contains six tabs. The first one is the <emphasis>
- <property>General</property>.</emphasis> It allows to specify a process name and add
- necessary description. To illustrate let's change the process definition name
- to <emphasis>
- <property>jbay</property>. </emphasis></para>
- </section>
-
- <section id="jbpm_gpd_editor">
- <?dbhtml filename="direct_editing.html"?>
- <title>The jBPM Graphical Process Designer editor.</title>
- <para>The <property>jBPM GPD editor</property> includes four modes: Diagram, Deployment,
- Design and Source, which are available as switchable tabs at the bottom of the editor.
- Let's dwell on each of them.</para>
-
- <section id="the_diagram_mode">
- <title>The Diagram mode</title>
- <para> In this mode we define the process in the form of a diagram by means of tools
- provided on the left-hand side of the jBPM GPD. </para>
-
- <figure>
- <title>The Diagram mode</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Besides, some properties can be directly edited in the <property>Diagram
- mode</property> of the graphical editor. One example of this is the <emphasis>
- <property>name</property>
- </emphasis> property of nodes. You can edit this directly by selecting the node of
- which you want to change the name and then click once inside this node. This enables
- an editor in the node. We change the name of the node to <emphasis>
- <property>auction</property>. </emphasis></para>
- </section>
-
- <section id="source_mode">
- <?dbhtml filename="the_source_view.html"?>
- <title>The Source Mode</title>
- <para>Now, that we have defined a simple process definition, we can have a look at the
- XML that is being generated under the covers. To see this XML click on the Source
- tab of the graphical process designer editor.</para>
-
- <figure>
- <title>The Source Mode</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_6.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>The <property>Source mode</property> enables to easily manipulate our XML. That is
- manually inserting and editing necessary elements or attributes. In addition, here
- you can take advantage of content assist.</para>
-
- <para>A template is added to better render the jBPM task forms in the Visual editor.
- Now the jBPM Graphical Process designer can create facelets that are associated with tasks and are rendered in the jBPM console.</para>
- <figure>
- <title>A task form in VPE</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_6a.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section id="design_mode">
- <?dbhtml filename="the_design_view.html"?>
- <title>The Design Mode</title>
- <para>One more way to edit your file is to use <property>Design mode</property>. You can
- see it in the next picture:</para>
- <figure>
- <title>The Design Mode</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_7.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>As you can see above, this mode looks like a table in the first column of which
- the process structure is performed. Here, you can also insert, remove and edit
- elements or attributes, moreover add comments and instructions. Their values can be
- directly edited in the second column of the Design mode table.</para>
- <para>For instance, let’s add a comment on the second transition. For that, you should
- bring up the context menu for it and choose <emphasis>
- <property>Add Before > Comment</property>. </emphasis></para>
-
- <figure>
- <title>Adding a Comment</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Then, we can put the text <emphasis>This transition leads to the end
- state</emphasis> in the right column as its value.</para>
-
- <figure>
- <title>Comment is added</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_9.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- </section>
-
- <section id="deployment_mode">
- <?dbhtml filename="the_deployment_view.html"?>
- <title>The Deployment Mode</title>
- <para>Finally, to adjust the deployment settings of the project you should switch on to
- the tab that opens the <property>Deployment mode</property>. On the picture below
- the <property>Deployment mode</property> is performed with default settings. Here,
- you can easily modify them or, if the settings won't match your needs, to
- reset defaults. </para>
- <figure>
- <title>The Deployment Mode</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/the_views/the_views_10.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The <property>Test Connections</property> button can be used to check whether all your settings are valid before
- deploying the process.</para>
-
- <para>To deploy the process on the server you should click the <property>Delpoy Process Archive</property> button.</para>
-
- <para>However, prior to testing the connection and deploying the process on the server you need to
- make sure the server is configured to support jBPM functionality and is running.</para>
-
- <para>Please, also note that if authentication for deployment is required you may use the process deployer that is available at <property>/gpd-deployer/upload</property>.</para>
-
- <para>Now that we've seen how to work with <property>jPDL
- perspective</property>, let's pass on to the project testing.</para>
- </section>
- </section>
-</section>
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="reference" xreflabel="reference">
+ <chapterinfo>
+ <keywordset>
+ <keyword>jBPM</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>Reference</title>
+ <section>
+ <title>Wizards</title>
+ <section>
+ <title>Process Project Wizard</title>
+ <para>This wizard helps to create new jBPM project.It is available with clicking
+ <property>File->New->Other->jBPM 3 Project</property> in the menu bar.</para>
+ <figure>
+ <title>New Process Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/jbpm_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>It consists of several pages:</para>
+ <itemizedlist>
+ <listitem><para>On the first page you can adjust the name of the project and the directory where it will be created.</para>
+ <para>If "<property>Use default</property>" option is checked the output directory will be the workspace,
+ othervise the user should specify it by himself using <property>Browse</property> button.</para>
+ <figure>
+ <title>New Process Project Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/jbpm_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </listitem>
+ <listitem><para>On the second page you should point the location of your jbpm runtime.</para></listitem>
+ <listitem><para>The last page is only available for unabling/disabling
+ <emphasis>Generate simple process definition,action handling and Unit test</emphasis>.If you unable the option all the mentioned code will be generated automatically.</para></listitem>
+ </itemizedlist>
+
+ </section>
+ <section>
+ <title>New JBPM Action Wizard</title>
+ <para>This wizard is available by clicking
+ <property>File->New->Other->jBPM 3 Action Handler</property>.</para>
+
+ <figure>
+ <title>New JBPM Action Wizard</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/jbpm_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>It includes the next options to adjust:</para>
+
+ <table>
+ <title>New JBPM Action Wizard. Options.</title>
+ <tgroup cols="3">
+ <colspec colnum="1" align="left" colwidth="1*"/>
+ <colspec colnum="2" colwidth="3*"/>
+ <colspec colnum="3" align="left" colwidth="1*"/>
+
+ <thead>
+ <row>
+ <entry>Option</entry>
+ <entry>Description</entry>
+ <entry>Default</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ <row>
+ <entry>Source folder</entry>
+ <entry>The path to the source folder relative to the selected project</entry>
+ <entry>The source folder of the project selected in the <emphasis><property>Project</property></emphasis> field</entry>
+ </row>
+
+ <row>
+ <entry>Package</entry>
+ <entry>Enter a package to contain an Action Handler.
+ Either type a valid package name or click
+ <emphasis><property>Browse</property></emphasis>
+ to select a package via the dialog box.</entry>
+ <entry><blank></entry>
+ </row>
+
+ <row>
+ <entry>Enclosing type</entry>
+ <entry>Select the enclosing type of your jBPM action using
+ <emphasis><property>Browse</property></emphasis>
+ button.</entry>
+ <entry><blank></entry>
+ </row>
+ <row>
+ <entry>Modifiers</entry>
+ <entry>Select the modifiers that will be added to the generated class.</entry>
+ <entry>Public</entry>
+ </row>
+ <row>
+ <entry>Name</entry>
+ <entry>Type a name for a new Action Handler</entry>
+ <entry><blank></entry>
+ </row>
+
+ <row>
+ <entry>Superclass</entry>
+ <entry>Type or click <emphasis><property>Browse</property></emphasis>
+ to select a superclass for an Action Handler</entry>
+ <entry>org.jbpm.graph.def.ActionHandler</entry>
+ </row>
+
+ <row>
+ <entry>Interface</entry>
+ <entry>Type or click <emphasis><property>Add</property></emphasis>
+ to select an interface/interfaces for an Action Handler</entry>
+ <entry>org.jbpm.graph.def.ActionHandler</entry>
+ </row>
+
+ <row>
+ <entry>Which method stubs you would like to create?</entry>
+ <entry>Select the stubs that you would like to be created automatically.</entry>
+ <entry><itemizedlist>
+ <listitem><para>Constructors from superclass</para></listitem>
+ <listitem><para>Inherited abstract methods</para></listitem>
+ </itemizedlist>
+ </entry>
+ </row>
+
+ <row>
+ <entry>Do you want to add comments?</entry>
+ <entry>Select <property>Generate comments</property> check box if you want comment mask
+ to be generated before the class definition.
+ </entry>
+ <entry><blank></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+
+ </section>
+
+ <section id="the_views" xreflabel="the_views">
+ <?dbhtml filename="the_views.html"?>
+ <title>The views</title>
+ <para>Here, it will be explained how to work with views and editors provided by JBDS.</para>
+ <para>The views are used for representation and navigation the resources you are working on at
+ the moment. One of the advantages of all the views is that all modifications made in the
+ current active file are immediately displayed in them. Let’s get acquainted more closely
+ with those that the <property>jPDL perspective</property> provides. </para>
+
+ <figure>
+ <title>The jPDL Perspective Views and Editors</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_0.png" scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As you can see in the picture above, the <property>jPDL perspective</property> contains a
+ complete set of functionality that's necessary for working on the jBPM project.</para>
+
+ <section id="the_outline_view">
+ <?dbhtml filename="the_outline_view.html"?>
+ <title>The Outline View</title>
+ <para>To have a way to quickly see an outline of the process use the <emphasis>
+ <property>Outline view</property>
+ </emphasis> that is presented as the classical tree. If it is not visible select <emphasis>
+ <property>Window > Show view > Outline</property>. </emphasis></para>
+
+ <figure>
+ <title>The Overview View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="the_overview">
+ <?dbhtml filename="the_outline_view.html"?>
+ <title>The Overview</title>
+ <para>The main advantage of this view is that it gives visual representation of the whole
+ current developing process. Besides, the <emphasis>
+ <property>Overview</property>
+ </emphasis> comes as a scrollable thumbnail which enables a better navigation of the
+ process structure if it's too large.</para>
+
+ <figure>
+ <title>The Overview</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="the_properties_view">
+ <?dbhtml filename="the_properties_view.html"?>
+ <title>The Properties View</title>
+ <para> Here, we dwell on the JBDS <property>Properties view</property>.</para>
+ <para>Notice if it's not visible you can access it by navigating <emphasis>
+ <property>Window > Show view > Properties</property>. </emphasis></para>
+ <para>The view shows the relevant properties of the selected item in the tabbed form. Every
+ item has its own set of properties, which can be directly editable in the Properties
+ view or by brining up the context menu.</para>
+
+ <figure>
+ <title>The Properties View of selected Transition</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>For example, on the picture above the Properties view displays all the properties for
+ a selected transition. Its name has been changed to <emphasis>
+ <property>to_auction</property>. </emphasis> We've done it directly in
+ active General tab of the view. The same way let's change the name for the
+ second transition to <emphasis>
+ <property>to_end</property>. </emphasis></para>
+ <para>If no one item is selected, the view represents the properties of the whole process
+ definition. </para>
+
+ <figure>
+ <title>The Properties View of Process Definition</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In this case, it contains six tabs. The first one is the <emphasis>
+ <property>General</property>.</emphasis> It allows to specify a process name and add
+ necessary description. To illustrate let's change the process definition name
+ to <emphasis>
+ <property>jbay</property>. </emphasis></para>
+ </section>
+
+ <section id="jbpm_gpd_editor">
+ <?dbhtml filename="direct_editing.html"?>
+ <title>The jBPM Graphical Process Designer editor.</title>
+ <para>The <property>jBPM GPD editor</property> includes four modes: Diagram, Deployment,
+ Design and Source, which are available as switchable tabs at the bottom of the editor.
+ Let's dwell on each of them.</para>
+
+ <section id="the_diagram_mode">
+ <title>The Diagram mode</title>
+ <para> In this mode we define the process in the form of a diagram by means of tools
+ provided on the left-hand side of the jBPM GPD. </para>
+
+ <figure>
+ <title>The Diagram mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Besides, some properties can be directly edited in the <property>Diagram
+ mode</property> of the graphical editor. One example of this is the <emphasis>
+ <property>name</property>
+ </emphasis> property of nodes. You can edit this directly by selecting the node of
+ which you want to change the name and then click once inside this node. This enables
+ an editor in the node. We change the name of the node to <emphasis>
+ <property>auction</property>. </emphasis></para>
+ </section>
+
+ <section id="source_mode">
+ <?dbhtml filename="the_source_view.html"?>
+ <title>The Source Mode</title>
+ <para>Now, that we have defined a simple process definition, we can have a look at the
+ XML that is being generated under the covers. To see this XML click on the Source
+ tab of the graphical process designer editor.</para>
+
+ <figure>
+ <title>The Source Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>The <property>Source mode</property> enables to easily manipulate our XML. That is
+ manually inserting and editing necessary elements or attributes. In addition, here
+ you can take advantage of content assist.</para>
+
+ <para>A template is added to better render the jBPM task forms in the Visual editor.
+ Now the jBPM Graphical Process designer can create facelets that are associated with tasks and are rendered in the jBPM console.</para>
+ <figure>
+ <title>A task form in VPE</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_6a.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="design_mode">
+ <?dbhtml filename="the_design_view.html"?>
+ <title>The Design Mode</title>
+ <para>One more way to edit your file is to use <property>Design mode</property>. You can
+ see it in the next picture:</para>
+ <figure>
+ <title>The Design Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>As you can see above, this mode looks like a table in the first column of which
+ the process structure is performed. Here, you can also insert, remove and edit
+ elements or attributes, moreover add comments and instructions. Their values can be
+ directly edited in the second column of the Design mode table.</para>
+ <para>For instance, let’s add a comment on the second transition. For that, you should
+ bring up the context menu for it and choose <emphasis>
+ <property>Add Before > Comment</property>. </emphasis></para>
+
+ <figure>
+ <title>Adding a Comment</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Then, we can put the text <emphasis>This transition leads to the end
+ state</emphasis> in the right column as its value.</para>
+
+ <figure>
+ <title>Comment is added</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ </section>
+
+ <section id="deployment_mode">
+ <?dbhtml filename="the_deployment_view.html"?>
+ <title>The Deployment Mode</title>
+ <para>Finally, to adjust the deployment settings of the project you should switch on to
+ the tab that opens the <property>Deployment mode</property>. On the picture below
+ the <property>Deployment mode</property> is performed with default settings. Here,
+ you can easily modify them or, if the settings won't match your needs, to
+ reset defaults. </para>
+ <figure>
+ <title>The Deployment Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/the_views/the_views_10.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property>Test Connections</property> button can be used to check whether all your settings are valid before
+ deploying the process.</para>
+
+ <para>To deploy the process on the server you should click the <property>Delpoy Process Archive</property> button.</para>
+
+ <para>However, prior to testing the connection and deploying the process on the server you need to
+ make sure the server is configured to support jBPM functionality and is running.</para>
+
+ <para>Please, also note that if authentication for deployment is required you may use the process deployer that is available at <property>/gpd-deployer/upload</property>.</para>
+
+ <para>Now that we've seen how to work with <property>jPDL
+ perspective</property>, let's pass on to the project testing.</para>
+ </section>
+ </section>
+</section>
</chapter>
\ No newline at end of file
14 years, 7 months
JBoss Tools SVN: r22439 - trunk/jbpm/docs/reference/en-US.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2010-05-31 06:16:48 -0400 (Mon, 31 May 2010)
New Revision: 22439
Modified:
trunk/jbpm/docs/reference/en-US/tasks.xml
Log:
https://jira.jboss.org/browse/TOOLSDOC-23-
Reviewed restructured jbpm guide.Resolved some text issues and mistakes.
Modified: trunk/jbpm/docs/reference/en-US/tasks.xml
===================================================================
--- trunk/jbpm/docs/reference/en-US/tasks.xml 2010-05-31 07:00:21 UTC (rev 22438)
+++ trunk/jbpm/docs/reference/en-US/tasks.xml 2010-05-31 10:16:48 UTC (rev 22439)
@@ -1,671 +1,671 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter>
- <?dbhtml filename="jboss_jbpm_runtime_installation.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>jBPM</keyword>
- <keyword>designer</keyword>
- <keyword>process</keyword>
- <keyword>JBoss Developer Studio</keyword>
- <keyword>jBPM runtime</keyword>
- <keyword>JBoss</keyword>
- <keyword>Process</keyword>
- <keyword>Definition</keyword>
- </keywordset>
-
- </chapterinfo>
- <title>Tasks</title>
-<section id="jboss_jbpm_runtime_installation" xreflabel="jboss_jbpm_runtime_installation">
-
- <title>JBoss jBPM Runtime Installation</title>
- <para>The main purpose of this chapter is to let you know how to launch the <property>JBoss
- jBPM</property> (business process management).</para>
- <para>The jBPM plugin (jBPM Designer) is already included in the <property>JBoss Tools</property>.
- To make it work, you should only download the jBPM runtime (<ulink
- url="http://sourceforge.net/project/showfiles.php?group_id=70542&package_i..."
- >jbpm-jpdl-3.2.3</ulink> currently) and specify the directory where you extracted the runtime
- either when you create a jBPM project or by using the jBPM preference pages.</para>
-
- <note>
- <title>Note:</title>
- <para>Try to avoid using spaces in the names of installation folders. It can provoke problems in
- some situations with Sun-based VMs.</para>
- </note>
-
- <para>Navigate to <emphasis>
- <property>Window > Preferences > JBoss jBPM > Runtime Locations</property>.
- </emphasis> Here you can add, edit and remove JBoss jBPM installation locations. Click <emphasis>
- <property>Add</property>
- </emphasis> button. In the dialog that appeared enter a name for a newly added jBPM runtime and
- point to the correct location of this package on your harddrive. Click <emphasis>
- <property>OK</property>
- </emphasis> then click <emphasis>
- <property>OK</property>
- </emphasis> again.</para>
-
- <figure>
- <title>Adding jBPM Location</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/runtime_installation/runtime_installation_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Now, when you have a runtime installed, we are going to demonstrate some powerful features of
- the jBPM.</para>
-</section>
- <section id="GuidedTourJBossjBPMGPD" xreflabel="GuidedTourJBossjBPMGPD">
- <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
-
- <title>A Guided Tour of JBoss jBPM GPD</title>
- <para>In this chapter we suggest a step-by-step walk-through of creating and configuring your
- own simple process. Let's try to organize a new jBPM project.</para>
- <para>A wizard for creating a jBPM project is included in the GPD plugin. We have opted to
- create a project based on a template already containing a number of advanced artifacts that
- we will ignore for this section. In the future we will elaborate this wizard and offer the
- possibility to create an empty jBPM project as well as projects based on templates taken
- from the jBPM tutorial.</para>
- <section id="CreatingjBPMProject">
- <?dbhtml filename="CreatingjBPMProject.html"?>
- <title>Creating a jBPM Project</title>
- <para>This section will show you how to use the Creation wizard for creating a new jBPM
- project with already included source folders.</para>
- <para>At first you should select <emphasis>
- <property>File >New Project...</property>
- </emphasis> and then <emphasis>
- <property>JBoss jBPM > Process Project</property>
- </emphasis> in the New Project dialog:</para>
- <figure>
- <title>New Project Dialog</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para> Clicking <emphasis>
- <property>Next</property>
- </emphasis> brings us to the wizard page where it's necessary to specify the
- name and location for the project. We choose, for example, <emphasis>
- <property>HellojBPM</property>
- </emphasis> as the name and accept the default location. </para>
- <figure>
- <title>Process Name and Location</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_2.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Thus, our project will be created in the workspace root directory by default. If you
- want to change the directory for your future project, deselect <emphasis>
- <property>Use default location</property>
- </emphasis> and click <emphasis>
- <property>Browse...</property>
- </emphasis> button to set needed location or simply type it.</para>
- <para>On the next screen you'll be prompted to select the core jBPM location that
- we have defined in the previous chapter.</para>
- <figure>
- <title>Core jBPM Location Specifying</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_9.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Clicking on <emphasis>
- <property>Finish</property>
- </emphasis> results in the project being generated. The wizard creates four source
- folders: one for the processes (<emphasis>
- <property>src/main/jpdl</property>
- </emphasis>), one for the java sources (<emphasis>
- <property>src/main/java</property>
- </emphasis>), one for the unit tests (<emphasis>
- <property>src/test/java</property>
- </emphasis>) and one for the resources such as the jbpm.properties and the
- hibernate.properties files (<emphasis>
- <property>src/main/config</property>
- </emphasis>). In addition a classpath container with all the core jBPM libraries is
- added to the project</para>
- <figure>
- <title>Layout of the Process Project</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_3.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Looking inside the different source folders will reveal a number of other artifacts
- that were generated, but we will leave these untouched for the moment. Instead, we will
- look at another wizard that enables us to create an empty process definition.</para>
- </section>
- <section id="creating_an_empty_process_definition">
- <?dbhtml filename="creating_an_empty_process_definition.html"?>
- <title>Creating an Empty Process Definition</title>
- <para>Now when the project is set up, we can use a Creation wizard to create an empty
- process definition. Bring up the <emphasis>
- <property>New</property>
- </emphasis> wizard by clicking the <emphasis>
- <property>File > New > Other...</property>
- </emphasis> menu item. The wizard opens on the <emphasis>
- <property>Select Wizard</property>
- </emphasis> page.</para>
- <figure>
- <title>The Select Wizard Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Selecting the <emphasis>
- <property>JBoss jBPM</property>
- </emphasis> category, then the <emphasis>
- <property>Process Definition</property>
- </emphasis> item and clicking on the <emphasis>
- <property>Next</property>
- </emphasis> button brings us to the <emphasis>
- <property>Create Process Definition</property>
- </emphasis> page.</para>
- <figure>
- <title>The Create New Process Defining Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>We choose <emphasis>
- <property>hello</property>
- </emphasis> as the name of the process archive file. Click on the <emphasis>
- <property>Finish</property>
- </emphasis> button to end the wizard and open the process definition editor.</para>
- <figure>
- <title>The Process Definition Editor</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_6.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>You can see in the Package Explorer that creating a process definition involves
- creating a folder with the name of the process definition and populating this folder
- with two .xml files : <emphasis>
- <property>gpd.xml</property>
- </emphasis> , <emphasis>
- <property>processdefinition.xml</property> </emphasis> and a .jpg file:<emphasis>
- <property>processimage.jpg</property></emphasis>.</para>
- <para>The <emphasis>
- <property>gpd.xml</property>
- </emphasis> contains the graphical information used by the process definition editor.
- The <emphasis>
- <property>processdefinition.xml</property>
- </emphasis> file contains the actual process definition info.
- The graphical view of the process is automatically saved in <emphasis>
- <property>processimage.jpg</property>
- </emphasis>file.
- At present, the GPD assumes that these three files are siblings. More
- sophisticated configuration will be supported later.</para>
-
- <section id="minimal_process_definition">
- <?dbhtml filename="minimal_process_definition.html"?>
- <title>A Minimal Process Definition</title>
- <para>Now we are ready to create a very simple process definition consisting of a begin
- state, an intermediate state and an end state.</para>
- <para>To make the configuration of actions much easier it's better to use the
- <emphasis>><property>"jBPM jPDL 3"</property></emphasis> perspective. It provides the tabbed Properties Editor which allows to configure
- all the relevant properties of the current selected item. </para>
-
- <section id="adding_the_nodes">
- <?dbhtml filename="adding_the_nodes.html"?>
- <title>Adding the Nodes</title>
- <para>At first select respectively <emphasis>
- <property>Start</property>, </emphasis>
- <emphasis>
- <property>State</property>
- </emphasis> and <emphasis>
- <property>End</property>
- </emphasis> on the tools palette and click on the canvas to add these nodes to
- the process definition. The result should look similar to this:</para>
- <figure>
- <title>A Simple Process With Three Nodes</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_7.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
- <section id="adding_transitions">
- <?dbhtml filename="adding_transitions.html"?>
- <title>Adding Transitions</title>
- <para>Then, we will connect the nodes with transitions. To do that select the <emphasis>
- <property>Transition</property>
- </emphasis> tool in the tools palette and click on the <emphasis>
- <property>Start</property>
- </emphasis> node, then move to the <emphasis>
- <property>State</property>
- </emphasis> node and click again to see the transition being drawn. Perform the
- same steps to create a transition from the <emphasis>
- <property>State</property>
- </emphasis> node to the <emphasis>
- <property>End</property>
- </emphasis> node. The result will look like:</para>
- <figure>
- <title>A Simple Process With Transitions</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_8.png"
- scale="60"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Now, when you've got background knowledge of simple project creation,
- let's move to more advanced tools.</para>
- </section>
- </section>
- </section>
- </section>
- <section id="The_JBoss_jBPM_Int_Mech" xreflabel="The_JBoss_jBPM_Int_Mech">
- <?dbhtml filename="The_JBoss_jBPM_Int_Mech.html"?>
-
- <title>Actions : The JBoss jBPM Integration Mechanism</title>
-
- <para> In this chapter we will show how to do software integration with <property>JBoss
- jBPM</property>. The standard mechanism to implement this is to wrap the functionality you
- want to integrate in a class that implements the <emphasis>
- <property>ActionHandler</property>
- </emphasis> interface. In order to demonstrate it let's specify Hello World action for our
- process.</para>
-
- <section>
- <title>Creating a Hello World Action</title>
-
- <para>Each Hello World process should integrate one or more Hello World actions, so this is
- what we will be doing. We can integrate custom code at different points in the process
- definition. To do this we have to specify an action handler, represented by an
- implementation of the <emphasis>
- <property>ActionHandler</property>
- </emphasis> interface, and attach this piece of code to a particular event. These events
- are amongst others, going over a transition, leaving or entering nodes, after and before
- signalling. </para>
-
- <para> To make things a little bit more concrete, let's create a new class called <emphasis>
- <property>HelloActionHandler</property>.
- </emphasis> For that firstly we'll create a new package <emphasis>
- <property>com.jbay.action</property>
- </emphasis> in the <emphasis>
- <property>src/java/main</property>
- </emphasis> folder of our project. Then, we should call New Class Creation wizard as
- usual by right-clicking and navigating <emphasis>
- <property>New > Class</property>.
- </emphasis> </para>
-
- <figure>
- <title>Creating HelloActionHendler Class</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Notice that two first gaps have been filled automatically. Here, instead of <emphasis>
- <property>Package</property>
- </emphasis> option <emphasis>
- <property>Enclose type</property>
- </emphasis> option can be selected where a type in which to enclose a new class should
- be specified.</para>
-
- <para>In our case, we leave everything as it is, just type <emphasis>
- <property>HelloActionHandler</property>
- </emphasis> as a name of new class and add <emphasis>
- <property>org.jbpm.graph.ActionHendler</property>
- </emphasis> interface as it's shown in the picture above.</para>
-
- <para>Thus, our <emphasis>
- <property>HelloActionHandler</property>
- </emphasis> implements the <emphasis>
- <property>ActionHandler</property>
- </emphasis> interface including the <emphasis>
- <property>execute</property>
- </emphasis> method as shown in the next figure. Here, we add a variable named <emphasis>
- <property>greeting</property>
- </emphasis> to the collection of process variables and put a message in it :
- <emphasis>"Hello from ActionHandler"</emphasis>. </para>
-
- <figure>
- <title>A Simple Hello Action</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Now, as we have <emphasis>
- <property>HelloActionHandler</property>
- </emphasis> class defined, let's explore how we can handle it.</para>
- </section>
-
- <section>
- <title>Integrating the Hello World Action</title>
-
- <para>The main purpose of this chapter is to provide you with the steps associating our
- Hello World action with a particular event and test the correctness of our actions as
- well.</para>
-
- <para> As good Testcity citizens we will first create a Unit Test that proves the behaviour
- we want to achieve by adding the <emphasis>
- <property>ActionHandler</property>
- </emphasis> to the process. So we implement another test.</para>
-
- <para>At first, let's return to the
- code we already saw <link linkend="hello_test">in the previous chapter</link> and add new test method <emphasis>
- <property>testActionHendler</property></emphasis> to it. </para>
-
- <figure>
- <title>Create the Hello Action Test</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>We assert
- that no variable called <emphasis>
- <property>greeting</property>
- </emphasis> exist. Then we give the process a signal to move it to the auction state. We
- want to associate the execution of the action with the event of going over the
- transition from the start state to the auction state. So after the signal, the process
- should be in the auction state as in the previous scenario. But moreover, the <emphasis>
- <property>greeting</property>
- </emphasis> variable should exist and contain the string <emphasis>"Hello from
- ActionHandler"</emphasis>. That's what we assert in the last lines of the test
- method.</para>
-
-
-
- <para> Running the tests now results in a failure. The point is that we did not associate
- the action with any particular event in the process definition, so the process variable
- did not get set. </para>
-
- <figure>
- <title>Test Results Before Integration</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para> Let's do something about it and add an action to the first transition of our
- sample process. To do this you can use the Actions tab in the Properties Editor that is
- under the graphical canvas. Bring up the popup menu of the action element container and
- chose New Action as it's shown on the figure below. The other way to add an action
- to the transition is simply to use the dropdown menu that is available under the action
- icon in the right upper corner of the Properties View.</para>
-
- <figure>
- <title>Adding an Action to a Transition</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_5.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>After adding the action a tabbed view with three pages will appear.</para>
-
- <figure>
- <title>Configuration Dialog for an Action</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_6.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The first of these three pages allows you to give the Action a name. The last page
- contains some advanced attributes such as whether the Action is asynchronous. The
- Details page is the most important. It allows to choose and configure the actual action
- handler implementation. </para>
-
- <figure>
- <title>The Details page of an Action Configuration Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_7.png" scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para>Clicking on the <emphasis>
- <property>Search...</property>
- </emphasis> button brings us to a Choose Class dialog.</para>
-
-
- <figure>
- <title>The Choose Action Handler Dialog</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
-
-
- <para> We choose our previously created 'HelloActionHandler' class and
- push the <property>OK</property> button. After the selection of the action handler for
- the action, we can run the test and observe it gives us a green light.</para>
-
- <figure>
- <title>Test Results</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_9.png"
- scale="70"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>There we are. The above objective has been achieved.</para>
- </section>
-
- <section>
- <title> Integration Points</title>
-
- <para> The different integration points in a process definition are thoroughly documented in
- the <ulink
- url="http://docs.jboss.com/jbpm/v3/userguide/">JBoss jBPM User Guide</ulink>. Instance nodes can contain many action
- elements. Each of these will appear in the Action element list of the Actions tab. But
- each Action also has a properties view of itself. You can navigate to this view by
- selecting the added Action in the outline view. </para>
-
- </section>
- </section>
- <section id="Quick_Howto_Guide" xreflabel="Quick_Howto_Guide">
- <?dbhtml filename="Quick_Howto_Guide.html"?>
-
- <title>Quick Howto Guide</title>
-
- <para>This chapter contains additional information related to the <property>JBoss
- jBPM</property>.</para>
-
- <section id="change_core_jbpm_inst">
- <title>Change the Default Core jBPM Installation</title>
-
- <para> You can change the default <property>jBPM</property> installation by means of the
- Eclipse preference mechanism. Open the Preferences dialog by selecting <emphasis>
- <property>Window > Preferences</property>
- </emphasis> and select the <emphasis>
- <property>JBoss jBPM > Runtime Location</property>
- </emphasis> category. Using this page you can add multiple <property>jBPM</property>
- installation locations and change the default one. The default installation is used for
- the classpath settings when creating a new Process Project. Changing the preferences has
- no influence on already created projects. Getting rid of a <property>jBPM</property>
- installation that's being referenced by a project however will cause the
- classpath to contain errors. </para>
-
-
- <figure>
- <title>The jBPM Preferences Page</title>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_1.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
-
- <section>
- <title>Configuring Task Nodes</title>
-
- <para>Here, we'll examine how you can configure the Task nodes in jBPM jPDL GPD.</para>
-
- <para> You can add Tasks to Task nodes and then configure them in a similar manner as the
- Action configuration mechanism. Let's consider the process definition similar
- to the previous one that contains three nodes: Start state, Task node and End state. The
- <property>Properties view</property> for selected Task node includes several tabs. </para>
-
- <figure>
- <title>The Properties View of the selected Task Node</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_2.png"
- scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>We should choose the Task tab and then bring up the context menu or click the button
- in the top right corner of the view to add a Task to our Task node.</para>
-
- <figure>
- <title>Adding a Task to the Task Node</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_3.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Every added Task has its own configuration possibilities. You can access them through
- the <property>Properties view</property> as well.</para>
-
- <figure>
- <title>The Task properties</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_4.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>The <property>General page</property> is a place where you can specify the name of a
- Task and its description. For instance, let it be <emphasis>
- <property>approve oder</property>
- </emphasis> with appropriate description that you can see in the figure below.</para>
-
- <figure>
- <title>The Task General Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_5.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>Now, look at <property>Details page</property>. First, you should specify the due date
- that is a mandatory property for the Task. The due date is the date on which the task
- should be accomplished. Here you can also set a Task priority as well as signalling,
- notifying or blocking. The <emphasis>
- <property>Blocking</property>
- </emphasis> attribute indicates that the process will not be able to continue if this
- task is still unaccomplished. The <emphasis>
- <property>Generate Form...</property>
- </emphasis> button is for creating a simple task form that can be rendered by the jBPM
- console.</para>
-
- <figure>
- <title>The Task Details Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_6.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>For our example, we specify the due date as 2 business days, choose the high priority
- and also check the <emphasis>
- <property>Signalling</property>
- </emphasis> and <emphasis>
- <property>Notify</property>
- </emphasis> attributes. It means that the Task should be accomplished in 2 business days
- and the assignee will be notified by email when the task is assigned. To specify how the
- Task should be assigned switch on to the <property>Assignment page</property>.</para>
-
- <figure>
- <title>The Task Assignment Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_7.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>On the <property>Reminder page</property> you can specify whether the assignee will be reminded of the task
- that awaits him.</para>
-
- <figure>
- <title>The Task Reminder Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_8.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
-
- <para>In our case, the assignee will be reminded by email after two business hours and
- continue to get reminding every business hour after that.</para>
- <para>In the next figure you can see our configuring generated into XML.</para>
- <figure>
- <title>The Task Reminder Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_9.png"
- scale="80"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>We hope, our guide will help you to get started with the jPDL process language and jBPM
- workflow on the whole. Besides, for additional information you are welcome on <ulink
- url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">JBoss forum</ulink>.</para>
- </section>
- </section>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter>
+ <?dbhtml filename="jboss_jbpm_runtime_installation.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>jBPM</keyword>
+ <keyword>designer</keyword>
+ <keyword>process</keyword>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>jBPM runtime</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>Process</keyword>
+ <keyword>Definition</keyword>
+ </keywordset>
+
+ </chapterinfo>
+ <title>Tasks</title>
+<section id="jboss_jbpm_runtime_installation" xreflabel="jboss_jbpm_runtime_installation">
+
+ <title>JBoss jBPM Runtime Installation</title>
+ <para>The main purpose of this chapter is to let you know how to launch the <property>JBoss
+ jBPM</property> (business process management).</para>
+ <para>The jBPM plugin (jBPM Designer) is already included into the <property>JBoss Tools</property>.
+ To make it work, you should only download the jBPM runtime (<ulink
+ url="http://sourceforge.net/project/showfiles.php?group_id=70542&package_i..."
+ >jbpm-jpdl-3.2.3</ulink> currently) and specify the directory where you extracted the runtime
+ either when you create a jBPM project or by using the jBPM preference pages.</para>
+
+ <note>
+ <title>Note:</title>
+ <para>Try to avoid using spaces in the names of installation folders. It can provoke problems in
+ some situations with Sun-based VMs.</para>
+ </note>
+
+ <para>Navigate to <emphasis>
+ <property>Window > Preferences > JBoss jBPM > Runtime Locations</property>.
+ </emphasis> Here you can add, edit and remove JBoss jBPM installation locations. Click <emphasis>
+ <property>Add</property>
+ </emphasis> button. In the dialog that appeared enter a name for a newly added jBPM runtime and
+ point to the correct location of this package on your harddrive. Click <emphasis>
+ <property>OK</property>
+ </emphasis> then click <emphasis>
+ <property>OK</property>
+ </emphasis> again.</para>
+
+ <figure>
+ <title>Adding jBPM Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/runtime_installation/runtime_installation_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Now, when you have a runtime installed, we are going to demonstrate some powerful features of
+ the jBPM.</para>
+</section>
+ <section id="GuidedTourJBossjBPMGPD" xreflabel="GuidedTourJBossjBPMGPD">
+ <?dbhtml filename="GuidedTourJBossjBPMGPD.html"?>
+
+ <title>A Guided Tour of JBoss jBPM GPD</title>
+ <para>In this chapter we suggest a step-by-step walk-through of creating and configuring your
+ own simple process. Let's try to organize a new jBPM project.</para>
+ <para>A wizard for creating a jBPM project is included in the GPD plugin. We have opted to
+ create a project based on a template already containing a number of advanced artifacts that
+ we will ignore for this section. In the future we will elaborate this wizard and offer the
+ possibility to create an empty jBPM project as well as projects based on templates taken
+ from the jBPM tutorial.</para>
+ <section id="CreatingjBPMProject">
+ <?dbhtml filename="CreatingjBPMProject.html"?>
+ <title>Creating a jBPM Project</title>
+ <para>This section will show you how to use the Creation wizard for creating a new jBPM
+ project with already included source folders.</para>
+ <para>At first you should select <emphasis>
+ <property>File >New Project...</property>
+ </emphasis> and then <emphasis>
+ <property>JBoss jBPM > Process Project</property>
+ </emphasis> in the New Project dialog:</para>
+ <figure>
+ <title>New Project Dialog</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para> Clicking <emphasis>
+ <property>Next</property>
+ </emphasis> brings us to the wizard page where it's necessary to specify the
+ name and location for the project. We choose, for example, <emphasis>
+ <property>HellojBPM</property>
+ </emphasis> as the name and accept the default location. </para>
+ <figure>
+ <title>Process Name and Location</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Thus, our project will be created in the workspace root directory by default. If you
+ want to change the directory for your future project, deselect <emphasis>
+ <property>Use default location</property>
+ </emphasis> and click <emphasis>
+ <property>Browse...</property>
+ </emphasis> button to set needed location or simply type it.</para>
+ <para>On the next screen you'll be prompted to select the core jBPM location that
+ we have defined in the previous chapter.</para>
+ <figure>
+ <title>Core jBPM Location Specifying</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Clicking on <emphasis>
+ <property>Finish</property>
+ </emphasis> results in the project being generated. The wizard creates four source
+ folders: one for the processes (<emphasis>
+ <property>src/main/jpdl</property>
+ </emphasis>), one for the java sources (<emphasis>
+ <property>src/main/java</property>
+ </emphasis>), one for the unit tests (<emphasis>
+ <property>src/test/java</property>
+ </emphasis>) and one for the resources such as the jbpm.properties and the
+ hibernate.properties files (<emphasis>
+ <property>src/main/config</property>
+ </emphasis>). In addition a classpath container with all the core jBPM libraries is
+ added to the project</para>
+ <figure>
+ <title>Layout of the Process Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Looking inside the different source folders will reveal a number of other artifacts
+ that were generated, but we will leave these untouched for the moment. Instead, we will
+ look at another wizard that enables us to create an empty process definition.</para>
+ </section>
+ <section id="creating_an_empty_process_definition">
+ <?dbhtml filename="creating_an_empty_process_definition.html"?>
+ <title>Creating an Empty Process Definition</title>
+ <para>Now when the project is set up, we can use a Creation wizard to create an empty
+ process definition. Bring up the <emphasis>
+ <property>New</property>
+ </emphasis> wizard by clicking the <emphasis>
+ <property>File > New > Other...</property>
+ </emphasis> menu item. The wizard opens on the <emphasis>
+ <property>Select Wizard</property>
+ </emphasis> page.</para>
+ <figure>
+ <title>The Select Wizard Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Selecting the <emphasis>
+ <property>JBoss jBPM</property>
+ </emphasis> category, then the <emphasis>
+ <property>Process Definition</property>
+ </emphasis> item and clicking on the <emphasis>
+ <property>Next</property>
+ </emphasis> button brings us to the <emphasis>
+ <property>Create Process Definition</property>
+ </emphasis> page.</para>
+ <figure>
+ <title>The Create New Process Defining Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>We choose <emphasis>
+ <property>hello</property>
+ </emphasis> as the name of the process archive file. Click on the <emphasis>
+ <property>Finish</property>
+ </emphasis> button to end the wizard and open the process definition editor.</para>
+ <figure>
+ <title>The Process Definition Editor</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_6.png"
+ scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>You can see in the Package Explorer that creating a process definition involves
+ creating a folder with the name of the process definition and populating this folder
+ with two .xml files : <emphasis>
+ <property>gpd.xml</property>
+ </emphasis> , <emphasis>
+ <property>processdefinition.xml</property> </emphasis> and a .jpg file:<emphasis>
+ <property>processimage.jpg</property></emphasis>.</para>
+ <para>The <emphasis>
+ <property>gpd.xml</property>
+ </emphasis> contains the graphical information used by the process definition editor.
+ The <emphasis>
+ <property>processdefinition.xml</property>
+ </emphasis> file contains the actual process definition info.
+ The graphical view of the process is automatically saved in <emphasis>
+ <property>processimage.jpg</property>
+ </emphasis>file.
+ At present, the GPD assumes that these three files are siblings. More
+ sophisticated configuration will be supported later.</para>
+
+ <section id="minimal_process_definition">
+ <?dbhtml filename="minimal_process_definition.html"?>
+ <title>A Minimal Process Definition</title>
+ <para>Now we are ready to create a very simple process definition consisting of a begin
+ state, an intermediate state and an end state.</para>
+ <para>To make the configuration of actions much easier it's better to use the
+ <emphasis>><property>"jBPM jPDL 3"</property></emphasis> perspective. It provides the tabbed Properties Editor which allows to configure
+ all the relevant properties of the current selected item. </para>
+
+ <section id="adding_the_nodes">
+ <?dbhtml filename="adding_the_nodes.html"?>
+ <title>Adding the Nodes</title>
+ <para>At first select respectively <emphasis>
+ <property>Start</property>, </emphasis>
+ <emphasis>
+ <property>State</property>
+ </emphasis> and <emphasis>
+ <property>End</property>
+ </emphasis> on the tools palette and click on the canvas to add these nodes to
+ the process definition. The result should look similar to this:</para>
+ <figure>
+ <title>A Simple Process With Three Nodes</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_7.png"
+ scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ <section id="adding_transitions">
+ <?dbhtml filename="adding_transitions.html"?>
+ <title>Adding Transitions</title>
+ <para>Then, we will connect the nodes with transitions. To do that select the <emphasis>
+ <property>Transition</property>
+ </emphasis> tool in the tools palette and click on the <emphasis>
+ <property>Start</property>
+ </emphasis> node, then move to the <emphasis>
+ <property>State</property>
+ </emphasis> node and click again to see the transition being drawn. Perform the
+ same steps to create a transition from the <emphasis>
+ <property>State</property>
+ </emphasis> node to the <emphasis>
+ <property>End</property>
+ </emphasis> node. The result will look like:</para>
+ <figure>
+ <title>A Simple Process With Transitions</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/guided_tour_jboss_jbpmgpd/guided_tour_8.png"
+ scale="60"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Now, when you've got background knowledge of simple project creation,
+ let's move to more advanced tools.</para>
+ </section>
+ </section>
+ </section>
+ </section>
+ <section id="The_JBoss_jBPM_Int_Mech" xreflabel="The_JBoss_jBPM_Int_Mech">
+ <?dbhtml filename="The_JBoss_jBPM_Int_Mech.html"?>
+
+ <title>Actions : The JBoss jBPM Integration Mechanism</title>
+
+ <para> In this chapter we will show how to do software integration with <property>JBoss
+ jBPM</property>. The standard mechanism to implement this is to wrap the functionality you
+ want to integrate in a class that implements the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> interface. In order to demonstrate it let's specify Hello World action for our
+ process.</para>
+
+ <section>
+ <title>Creating a Hello World Action</title>
+
+ <para>Each Hello World process should integrate one or more Hello World actions, so this is
+ what we will be doing. We can integrate custom code at different points in the process
+ definition. To do this we have to specify an action handler, represented by an
+ implementation of the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> interface, and attach this piece of code to a particular event. These events
+ are amongst others, going over a transition, leaving or entering nodes, after and before
+ signalling. </para>
+
+ <para> To make things a little bit more concrete, let's create a new class called <emphasis>
+ <property>HelloActionHandler</property>.
+ </emphasis> For that firstly we'll create a new package <emphasis>
+ <property>com.jbay.action</property>
+ </emphasis> in the <emphasis>
+ <property>src/java/main</property>
+ </emphasis> folder of our project. Then, we should call New Class Creation wizard as
+ usual by right-clicking and navigating <emphasis>
+ <property>New > Class</property>.
+ </emphasis> </para>
+
+ <figure>
+ <title>Creating HelloActionHendler Class</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Notice that two first gaps have been filled automatically. Here, instead of <emphasis>
+ <property>Package</property>
+ </emphasis> option <emphasis>
+ <property>Enclose type</property>
+ </emphasis> option can be selected where a type in which to enclose a new class should
+ be specified.</para>
+
+ <para>In our case, we leave everything as it is, just type <emphasis>
+ <property>HelloActionHandler</property>
+ </emphasis> as a name of new class and add <emphasis>
+ <property>org.jbpm.graph.ActionHendler</property>
+ </emphasis> interface as it's shown in the picture above.</para>
+
+ <para>Thus, our <emphasis>
+ <property>HelloActionHandler</property>
+ </emphasis> implements the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> interface including the <emphasis>
+ <property>execute</property>
+ </emphasis> method as shown in the next figure. Here, we add a variable named <emphasis>
+ <property>greeting</property>
+ </emphasis> to the collection of process variables and put a message in it :
+ <emphasis>"Hello from ActionHandler"</emphasis>. </para>
+
+ <figure>
+ <title>A Simple Hello Action</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_2.png" scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, as we have <emphasis>
+ <property>HelloActionHandler</property>
+ </emphasis> class defined, let's explore how we can handle it.</para>
+ </section>
+
+ <section>
+ <title>Integrating the Hello World Action</title>
+
+ <para>The main purpose of this chapter is to provide you with the steps associating our
+ Hello World action with a particular event and test the correctness of our actions as
+ well.</para>
+
+ <para> As good Testcity citizens we will first create a Unit Test that proves the behaviour
+ we want to achieve by adding the <emphasis>
+ <property>ActionHandler</property>
+ </emphasis> to the process. So we implement another test.</para>
+
+ <para>At first, let's return to the
+ code we already saw <link linkend="hello_test">in the previous chapter</link> and add new test method <emphasis>
+ <property>testActionHendler</property></emphasis> to it. </para>
+
+ <figure>
+ <title>Create the Hello Action Test</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_3.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>We assert
+ that no variable called <emphasis>
+ <property>greeting</property>
+ </emphasis> exist. Then we give the process a signal to move it to the auction state. We
+ want to associate the execution of the action with the event of going over the
+ transition from the start state to the auction state. So after the signal, the process
+ should be in the auction state as in the previous scenario. But moreover, the <emphasis>
+ <property>greeting</property>
+ </emphasis> variable should exist and contain the string <emphasis>"Hello from
+ ActionHandler"</emphasis>. That's what we assert in the last lines of the test
+ method.</para>
+
+
+
+ <para> Running the tests now results in a failure. The point is that we did not associate
+ the action with any particular event in the process definition, so the process variable
+ did not get set. </para>
+
+ <figure>
+ <title>Test Results Before Integration</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_4.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para> Let's do something about it and add an action to the first transition of our
+ sample process. To do this you can use the Actions tab in the Properties Editor that is
+ under the graphical canvas. Bring up the popup menu of the action element container and
+ chose New Action as it's shown on the figure below. The other way to add an action
+ to the transition is simply to use the dropdown menu that is available under the action
+ icon in the right upper corner of the Properties View.</para>
+
+ <figure>
+ <title>Adding an Action to a Transition</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_5.png" scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>After adding the action a tabbed view with three pages will appear.</para>
+
+ <figure>
+ <title>Configuration Dialog for an Action</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_6.png" scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The first of these three pages allows you to give the Action a name. The last page
+ contains some advanced attributes such as whether the Action is asynchronous. The
+ Details page is the most important. It allows to choose and configure the actual action
+ handler implementation. </para>
+
+ <figure>
+ <title>The Details page of an Action Configuration Dialog</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_7.png" scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para>Clicking on the <emphasis>
+ <property>Search...</property>
+ </emphasis> button brings us to a Choose Class dialog.</para>
+
+
+ <figure>
+ <title>The Choose Action Handler Dialog</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+
+ <para> We choose our previously created 'HelloActionHandler' class and
+ push the <property>OK</property> button. After the selection of the action handler for
+ the action, we can run the test and observe it gives us a green light.</para>
+
+ <figure>
+ <title>Test Results</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/The_JBoss_jBPM_Int_Mech/jboss_jbpm_int_mech_9.png"
+ scale="70"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>There we are. The above objective has been achieved.</para>
+ </section>
+
+ <section>
+ <title> Integration Points</title>
+
+ <para> The different integration points in a process definition are thoroughly documented in
+ the <ulink
+ url="http://docs.jboss.com/jbpm/v3/userguide/">JBoss jBPM User Guide</ulink>. Instance nodes can contain many action
+ elements. Each of these will appear in the Action element list of the Actions tab. But
+ each Action also has a properties view of itself. You can navigate to this view by
+ selecting the added Action in the outline view. </para>
+
+ </section>
+ </section>
+ <section id="Quick_Howto_Guide" xreflabel="Quick_Howto_Guide">
+ <?dbhtml filename="Quick_Howto_Guide.html"?>
+
+ <title>Quick Howto Guide</title>
+
+ <para>This chapter contains additional information related to the <property>JBoss
+ jBPM</property>.</para>
+
+ <section id="change_core_jbpm_inst">
+ <title>Change the Default Core jBPM Installation</title>
+
+ <para> You can change the default <property>jBPM</property> installation by means of the
+ Eclipse preference mechanism. Open the Preferences dialog by selecting <emphasis>
+ <property>Window > Preferences</property>
+ </emphasis> and select the <emphasis>
+ <property>JBoss jBPM > Runtime Location</property>
+ </emphasis> category. Using this page you can add multiple <property>jBPM</property>
+ installation locations and change the default one. The default installation is used for
+ the classpath settings when creating a new Process Project. Changing the preferences has
+ no influence on already created projects. Getting rid of a <property>jBPM</property>
+ installation that's being referenced by a project however will cause the
+ classpath to contain errors. </para>
+
+
+ <figure>
+ <title>The jBPM Preferences Page</title>
+
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section>
+ <title>Configuring Task Nodes</title>
+
+ <para>Here, we'll examine how you can configure the Task nodes in jBPM jPDL GPD.</para>
+
+ <para> You can add Tasks to Task nodes and then configure them in a similar manner as the
+ Action configuration mechanism. Let's consider the process definition similar
+ to the previous one that contains three nodes: Start state, Task node and End state. The
+ <property>Properties view</property> for selected Task node includes several tabs. </para>
+
+ <figure>
+ <title>The Properties View of the selected Task Node</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_2.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>We should choose the Task tab and then bring up the context menu or click the button
+ in the top right corner of the view to add a Task to our Task node.</para>
+
+ <figure>
+ <title>Adding a Task to the Task Node</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_3.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Every added Task has its own configuration possibilities. You can access them through
+ the <property>Properties view</property> as well.</para>
+
+ <figure>
+ <title>The Task properties</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_4.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>The <property>General page</property> is a place where you can specify the name of a
+ Task and its description. For instance, let it be <emphasis>
+ <property>approve oder</property>
+ </emphasis> with appropriate description that you can see in the figure below.</para>
+
+ <figure>
+ <title>The Task General Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_5.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>Now, look at <property>Details page</property>. First, you should specify the due date
+ that is a mandatory property for the Task. The due date is the date on which the task
+ should be accomplished. Here you can also set a Task priority as well as signalling,
+ notifying or blocking. The <emphasis>
+ <property>Blocking</property>
+ </emphasis> attribute indicates that the process will not be able to continue if this
+ task is still unaccomplished. The <emphasis>
+ <property>Generate Form...</property>
+ </emphasis> button is for creating a simple task form that can be rendered by the jBPM
+ console.</para>
+
+ <figure>
+ <title>The Task Details Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_6.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>For our example, we specify the due date as 2 business days, choose the high priority
+ and also check the <emphasis>
+ <property>Signalling</property>
+ </emphasis> and <emphasis>
+ <property>Notify</property>
+ </emphasis> attributes. It means that the Task should be accomplished in 2 business days
+ and the assignee will be notified by email when the task is assigned. To specify how the
+ Task should be assigned switch on to the <property>Assignment page</property>.</para>
+
+ <figure>
+ <title>The Task Assignment Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_7.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>On the <property>Reminder page</property> you can specify whether the assignee will be reminded of the task
+ that awaits him.</para>
+
+ <figure>
+ <title>The Task Reminder Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_8.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+
+ <para>In our case, the assignee will be reminded by email after two business hours and
+ continue to get reminding every business hour after that.</para>
+ <para>In the next figure you can see our configuring generated into XML.</para>
+ <figure>
+ <title>The Task Reminder Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/Quick_Howto_Guide/quick_howto_guide_9.png"
+ scale="80"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>We hope, our guide will help you to get started with the jPDL process language and jBPM
+ workflow on the whole. Besides, for additional information you are welcome on <ulink
+ url="http://www.jboss.com/index.html?module=bb&op=viewforum&f=201">JBoss forum</ulink>.</para>
+ </section>
+ </section>
+
</chapter>
\ No newline at end of file
14 years, 7 months
JBoss Tools SVN: r22438 - branches/3.2.helios/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-05-31 03:00:21 -0400 (Mon, 31 May 2010)
New Revision: 22438
Modified:
branches/3.2.helios/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/ESBProjectCorePlugin.java
Log:
JBIDE-6222 - delete old deployments during a rename
Modified: branches/3.2.helios/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/ESBProjectCorePlugin.java
===================================================================
--- branches/3.2.helios/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/ESBProjectCorePlugin.java 2010-05-31 06:57:10 UTC (rev 22437)
+++ branches/3.2.helios/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/ESBProjectCorePlugin.java 2010-05-31 07:00:21 UTC (rev 22438)
@@ -15,6 +15,7 @@
import org.eclipse.core.runtime.Status;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.wst.common.componentcore.internal.util.VirtualReferenceUtilities;
+import org.jboss.ide.eclipse.as.core.publishers.PublishUtil;
import org.jboss.tools.esb.core.runtime.JBossRuntimeManager;
import org.osgi.framework.BundleContext;
@@ -44,6 +45,7 @@
plugin = this;
JBossRuntimeManager.loadParsers();
VirtualReferenceUtilities.INSTANCE.addDefaultExtension(ESBProjectConstant.ESB_PROJECT_FACET, ESBProjectConstant.ESB_EXTENSION);
+ PublishUtil.addModuleCoreFactory("org.jboss.tools.esb.project.core.moduleFactory");
}
/*
14 years, 7 months
JBoss Tools SVN: r22437 - branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-05-31 02:57:10 -0400 (Mon, 31 May 2010)
New Revision: 22437
Modified:
branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java
Log:
JBIDE-6222 - delete old deployments during a rename
Modified: branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
===================================================================
--- branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java 2010-05-31 00:44:14 UTC (rev 22436)
+++ branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java 2010-05-31 06:57:10 UTC (rev 22437)
@@ -24,7 +24,6 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.model.IModuleResource;
@@ -38,10 +37,10 @@
import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil;
import org.jboss.ide.eclipse.as.core.server.xpl.PublishCopyUtil.LocalCopyCallback;
import org.jboss.ide.eclipse.as.core.util.FileUtil;
-import org.jboss.ide.eclipse.as.core.util.IConstants;
-import org.jboss.ide.eclipse.as.core.util.ServerConverter;
import org.jboss.ide.eclipse.as.core.util.FileUtil.FileUtilListener;
import org.jboss.ide.eclipse.as.core.util.FileUtil.IFileUtilListener;
+import org.jboss.ide.eclipse.as.core.util.IConstants;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
/**
* This class provides a default implementation for packaging different types of
@@ -63,8 +62,8 @@
public boolean accepts(String type, IServer server, IModule[] module) {
IDeployableServer ds = ServerConverter.getDeployableServer(server);
boolean shouldAccept = ds != null && LocalPublishMethod.LOCAL_PUBLISH_METHOD.equals(type)
- && ModuleCoreNature.isFlexibleProject(module[0].getProject())
- && !ds.zipsWTPDeployments();
+ && !ds.zipsWTPDeployments()
+ && PublishUtil.isModuleCoreProject(module);
return shouldAccept;
}
Modified: branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java
===================================================================
--- branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java 2010-05-31 00:44:14 UTC (rev 22436)
+++ branches/3.2.helios/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java 2010-05-31 06:57:10 UTC (rev 22437)
@@ -12,6 +12,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
@@ -21,7 +22,9 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.jst.server.core.IEnterpriseApplication;
+import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.internal.DeletedModule;
import org.eclipse.wst.server.core.model.IModuleFile;
import org.eclipse.wst.server.core.model.IModuleFolder;
import org.eclipse.wst.server.core.model.IModuleResource;
@@ -149,6 +152,26 @@
}
+ public static ArrayList<String> moduleCoreFactories = new ArrayList<String>();
+ static {
+ moduleCoreFactories.add("org.eclipse.jst.j2ee.server"); //$NON-NLS-1$
+ moduleCoreFactories.add("org.eclipse.jst.jee.server"); //$NON-NLS-1$
+ }
+ public static void addModuleCoreFactory(String s) {
+ if( !moduleCoreFactories.contains(s))
+ moduleCoreFactories.add(s);
+ }
+ public static boolean isModuleCoreProject(IModule[] module) {
+ IModule lastmod = module[module.length-1];
+ if( lastmod.getProject() == null && lastmod instanceof DeletedModule) {
+ int colon = lastmod.getId().indexOf(':');
+ String factory = lastmod.getId().substring(0,colon == -1 ? lastmod.getId().length() : colon);
+ return moduleCoreFactories.contains(factory);
+ }
+ return ModuleCoreNature.isFlexibleProject(lastmod.getProject());
+ }
+
+
private static String getSuffix(String type) {
String suffix = null;
if( IJBossServerConstants.FACET_EAR.equals(type))
14 years, 7 months