Merge pull request #671 from ebarboni/feedupdate
move blog entry to entry, keep atom and index in blogs, w3c compliance
diff --git a/netbeans.apache.org/src/content/kb/docs/cnd/remote-modes.adoc b/netbeans.apache.org/src/content/kb/docs/cnd/remote-modes.adoc
index a511d0d..7a501a2 100644
--- a/netbeans.apache.org/src/content/kb/docs/cnd/remote-modes.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/cnd/remote-modes.adoc
@@ -106,7 +106,7 @@
* You can use it in SSH-only secure environments.
- image::images/modes_diagram.png[]
+image::images/modes_diagram.png[]
In simple mode, the source files reside primarily on your local host. When you build your project, the source files are delivered on demand to the remote host using SSH File Transfer Protocol (SFTP).
diff --git a/netbeans.apache.org/src/content/kb/docs/cnd/remotedev-tutorial.adoc b/netbeans.apache.org/src/content/kb/docs/cnd/remotedev-tutorial.adoc
index c8e3ddb..923d4d4 100644
--- a/netbeans.apache.org/src/content/kb/docs/cnd/remotedev-tutorial.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/cnd/remotedev-tutorial.adoc
@@ -204,7 +204,9 @@
1. Open the Services window by choosing Window > Services.
2. Right-click the C/C++ Build Hosts node and select Add New Host.
-image::images/remotedev-add-host.png[]In the New Remote Host Setup dialog box, the IDE discovers your local network's hosts. The host names are added to a table in the dialog box, and a green indicator tells you if they are running the SSH server.
+image::images/remotedev-add-host.png[]
+
+In the New Remote Host Setup dialog box, the IDE discovers your local network's hosts. The host names are added to a table in the dialog box, and a green indicator tells you if they are running the SSH server.
[start=3]
. Double-click the name of the server you want, or type the server name directly in the Hostname field. Click Next.
diff --git a/netbeans.apache.org/src/content/kb/docs/ide/clearcase.adoc b/netbeans.apache.org/src/content/kb/docs/ide/clearcase.adoc
index 01320ae..cd084fe 100644
--- a/netbeans.apache.org/src/content/kb/docs/ide/clearcase.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/ide/clearcase.adoc
@@ -166,16 +166,19 @@
Note that you can click on a specific point within the margin to bring your inline cursor immediately to that location in the file. To view the number of lines affected, hover your mouse over the colored icons in the right margin:
+[cols="1,1"]
|===
-|[.feature]
+a|
+[.feature]
--
-image::images/left-ui-small.png[role="left", link="images/left-ui.png"]
+image:images/left-ui-small.png[role="left", link="images/left-ui.png"]
--
-
-*Left margin* |image:images/right-ui.png[title="Versioning color encoding displays in editor's right margin"]
-*Right margin*
+|image:images/right-ui.png[title="Versioning color encoding displays in editor's right margin"]
+
+|*Left margin*
+|*Right margin*
|===
==== Viewing File Status Information
@@ -275,10 +278,11 @@
|* *Show Annotations*:
Displays author and revision number information in the left margin of files opened in the Source Editor.
- |[.feature]
+a|
+[.feature]
--
-image::images/annotations-small.jpg[role="left", link="images/annotations.jpg"]
+image:images/annotations-small.jpg[role="left", link="images/annotations.jpg"]
--
diff --git a/netbeans.apache.org/src/content/kb/docs/ide/cvs.adoc b/netbeans.apache.org/src/content/kb/docs/ide/cvs.adoc
index a93dc34..a8dbaa7 100644
--- a/netbeans.apache.org/src/content/kb/docs/ide/cvs.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/ide/cvs.adoc
@@ -154,16 +154,19 @@
Note that you can click on a specific point within the margin to bring your inline cursor immediately to that location in the file. To view the number of lines affected, hover your mouse over the colored icons in the right margin:
+[cols="1,1"]
|===
-|[.feature]
+a|
+[.feature]
--
image::images/left-ui-small.png[role="left", link="images/left-ui.png"]
--
-
-*Left margin* |image:images/right-ui.png[title="versioning color encoding displayed in editor's right margin"]
-*Right margin*
+|image:images/right-ui.png[title="versioning color encoding displayed in editor's right margin"]
+
+| *Left margin*
+| *Right margin*
|===
==== Viewing File Status Information
@@ -273,38 +276,43 @@
For example, you can perform the following actions on a file:
+[cols="1,1"]
|===
-|* *Show Annotations*:
+| *Show Annotations*:
Displays author and revision number information in the left margin of files opened in the Source Editor.
- |image:images/annotations.png[]
+|image:images/annotations.png[]
-|* *Search History*:
+
+| *Search History*:
Enables you to search for and compare multiple revisions of the selected file in the IDE's History Viewer. From the History Viewer you can also perform a <<comparing,diff>> or roll back your local copy to a selected revision.
- |[.feature]
+a|
+[.feature]
--
image::images/history-viewer-small.png[role="left", link="images/history-viewer.png"]
--
-
-|* *Exclude from Commit*:
+
+| *Exclude from Commit*:
Allows you to mark the file to be excluded when performing a commit.
- |[.feature]
+a|
+[.feature]
--
image::images/exclude-from-commit-small.png[role="left", link="images/exclude-from-commit.png"]
--
-
-|* *Revert Modifications*:
+
+| *Revert Modifications*:
Opens the Confirm Overwrite dialog, enabling you to revert any actions that you have committed to files in your local working copy.
- |[.feature]
+a|
+[.feature]
--
image::images/cvs-confirm-overwrite-small.png[role="left", link="images/cvs-confirm-overwrite.png"]
diff --git a/netbeans.apache.org/src/content/kb/docs/ide/mercurial.adoc b/netbeans.apache.org/src/content/kb/docs/ide/mercurial.adoc
index 7926520..a8e5387 100644
--- a/netbeans.apache.org/src/content/kb/docs/ide/mercurial.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/ide/mercurial.adoc
@@ -226,22 +226,25 @@
Note that you can click on a specific point within the margin to bring your inline cursor immediately to that location in the file. To view the number of lines affected, hover your mouse over the colored icons in the right margin:
+[cols="1,1"]
|===
-|[.feature]
+a|
+[.feature]
--
image::images/left-ui-small.png[role="left", link="images/left-ui.png"]
--
-
-*Left margin* |[.feature]
+a|
+[.feature]
--
image::images/right-ui-small.png[role="left", link="images/right-ui.png"]
--
-
-*Right margin*
+
+| *Left margin*
+| *Right margin*
|===
=== Viewing File Status Information
diff --git a/netbeans.apache.org/src/content/kb/docs/ide/subversion.adoc b/netbeans.apache.org/src/content/kb/docs/ide/subversion.adoc
index 7276f61..2f0285e 100644
--- a/netbeans.apache.org/src/content/kb/docs/ide/subversion.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/ide/subversion.adoc
@@ -209,16 +209,19 @@
Note that you can click on a specific point within the margin to bring your inline cursor immediately to that location in the file. To view the number of lines affected, hover your mouse over the colored icons in the right margin:
+[cols="1,1"]
|===
-|[.feature]
+a|
+[.feature]
--
image::images/left-ui-small.png[role="left", link="images/left-ui.png"]
--
-
-*Left margin* |image:images/right-ui.png[title="versioning color encoding displayed in editor's right margin"]
-*Right margin*
+|image:images/right-ui.png[title="versioning color encoding displayed in editor's right margin"]
+
+| *Left margin*
+| *Right margin*
|===
=== Viewing File Status Information
diff --git a/netbeans.apache.org/src/content/kb/docs/images/nb72-video-thumb.png b/netbeans.apache.org/src/content/kb/docs/images/nb72-video-thumb.png
new file mode 100644
index 0000000..d81cb71
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/images/nb72-video-thumb.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/intro-screencasts.adoc b/netbeans.apache.org/src/content/kb/docs/intro-screencasts.adoc
index d531fd0..2157934 100644
--- a/netbeans.apache.org/src/content/kb/docs/intro-screencasts.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/intro-screencasts.adoc
@@ -35,8 +35,8 @@
== NetBeans IDE 8.0 Overview
|===
-|xref:java/jdk8-migration-screencast.adoc[+ +]image:../../images_www/v7/2/nb72-video-thumb.png[]
- |xref:../../community/releases/80/index.adoc[+*NetBeans IDE 8.0*+] delivers full support for the latest Java 8 technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also provides a range of new enhancements for Maven and Java EE with PrimeFaces; new tools for HTML5, in particular for AngularJS; and improvements to PHP and C/C++ support.
+|xref:java/jdk8-migration-screencast.adoc[Migration Screencast]image:images/nb72-video-thumb.png[]
+ |xref:../../community/releases/80/index.adoc[NetBeans IDE 8.0] delivers full support for the latest Java 8 technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also provides a range of new enhancements for Maven and Java EE with PrimeFaces; new tools for HTML5, in particular for AngularJS; and improvements to PHP and C/C++ support.
Watch the xref:ide/overview-screencast.adoc[NetBeans IDE 8.0 Overview Video] to find out what's new and noteworthy in this latest release.
@@ -55,10 +55,10 @@
//role="left",
Time: 14:00
-//link:http://bits.netbeans.org/media/smart-migration-java8.mp4[+*Download*+] [60 MB]
+//link:http://bits.netbeans.org/media/smart-migration-java8.mp4[Download] [60 MB]
!
-xref:java/jdk8-migration-screencast.adoc[+ Smart Migration to JDK 8+]
+xref:java/jdk8-migration-screencast.adoc[Smart Migration to JDK ]
This screencast is a guide to the key features of language enhancements in Java 8 and how you can use the IDE to help you migrate your code to Java 8.
@@ -71,11 +71,11 @@
//role="left",
Time: 4:39
-//link:http://bits.netbeans.org/media/prime-faces-nb8.mp4[+*Download*+] [37 MB]
+//link:http://bits.netbeans.org/media/prime-faces-nb8.mp4[Download] [37 MB]
!
-xref:javaee/maven-primefaces-screencast.adoc[+ PrimeFaces Development with NetBeans IDE 8 +]
+xref:javaee/maven-primefaces-screencast.adoc[PrimeFaces Development with NetBeans IDE 8]
This screencast demonstrates how you can use NetBeans IDE 8.0 to create a complete CRUD application using Java EE 7, Maven, and PrimeFaces.
@@ -89,11 +89,11 @@
role="left",
Time: 6:38
-//link:http://bits.netbeans.org/media/nb_me_8.mp4[+*Download*+] [12 MB]
+//link:http://bits.netbeans.org/media/nb_me_8.mp4[Download] [12 MB]
!
-xref:javame/nb_me8_screencast.adoc[+ NetBeans IDE Support for Java ME 8+]
+xref:javame/nb_me8_screencast.adoc[NetBeans IDE Support for Java ME 8]
This screencast demonstrates NetBeans IDE support for Oracle Java ME SDK 8 on the Windows operating system.
@@ -107,14 +107,14 @@
//role="left",
Time: 7:05
-//link:http://bits.netbeans.org/media/nb_me_sdk_plugins.mp4[+*Download*+] [13,9 MB]
+//link:http://bits.netbeans.org/media/nb_me_sdk_plugins.mp4[Download] [13,9 MB]
!
-xref:javame/nb_me_plugins_screencast.adoc[+ Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE+]
+xref:javame/nb_me_plugins_screencast.adoc[Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE]
-This screencast demonstrates installation and usage of link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/default-303768.html[+Oracle Java ME SDK 8.0 Plugins+] in NetBeans IDE on the Windows operating system.
+This screencast demonstrates installation and usage of link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/default-303768.html[Oracle Java ME SDK 8.0 Plugins] in NetBeans IDE on the Windows operating system.
!================================
@@ -134,7 +134,7 @@
//role="left",
Time: 3:44
-//link:http://bits.netbeans.org/media/jdk8-gettingstarted.mp4[+*Download*+] [30 MB]
+//link:http://bits.netbeans.org/media/jdk8-gettingstarted.mp4[Download] [30 MB]
!
xref:java/jdk8-nb74-screencast.adoc[JDK 8 in NetBeans IDE]
@@ -150,7 +150,7 @@
//role="left",
Time: 5:10
-//link:http://bits.netbeans.org/media/html5-gettingstarted-javaee-screencast.mp4[+*Download*+] [41 MB]
+//link:http://bits.netbeans.org/media/html5-gettingstarted-javaee-screencast.mp4[Download] [41 MB]
!
xref:javaee/javaee-gettingstarted-js-screencast.adoc[JavaScript Client Development in Java EE]
@@ -166,7 +166,7 @@
//ole="left",
Time: 5:08
-//link:http://bits.netbeans.org/media/html5-gettingstarted-cordova-final-screencast.mp4[+*Download*+] [36 MB]
+//link:http://bits.netbeans.org/media/html5-gettingstarted-cordova-final-screencast.mp4[Download] [36 MB]
!
xref:web/html5-cordova-screencast.adoc[Getting Started with Cordova in NetBeans IDE]
@@ -182,7 +182,7 @@
//role="left",
Time: 5:05
-//link:http://bits.netbeans.org/media/javaee-html5-primefaces.mp4[+*Download*+] [63 MB]
+//link:http://bits.netbeans.org/media/javaee-html5-primefaces.mp4[Download] [63 MB]
!
xref:javaee/javaee-gettingstarted-pf-screencast.adoc[Java EE Development with PrimeFaces]
@@ -198,7 +198,7 @@
//role="left",
Time: 7:04
-//link:http://bits.netbeans.org/media/netbeans_fx.mp4[+*Download*+] [19 MB]
+//link:http://bits.netbeans.org/media/netbeans_fx.mp4[Download] [19 MB]
!
xref:java/nb_fx_screencast.adoc[JavaFX Support in NetBeans IDE]
@@ -214,7 +214,7 @@
//role="left",
Time: 4:22
-//link:http://bits.netbeans.org/media/nb_mesdk.mp4[+*Download*+] [6 MB]
+//link:http://bits.netbeans.org/media/nb_mesdk.mp4[Download] [6 MB]
!
xref:javame/nb_mesdk_screencast.adoc[Setting up NetBeans IDE for Mobile Development on Windows]
@@ -230,7 +230,7 @@
//role="left",
Time: 5:52
-//link:http://bits.netbeans.org/media/github_nb.mp4[+*Download*+] [11 MB]
+//link:http://bits.netbeans.org/media/github_nb.mp4[Download] [11 MB]
!
xref:ide/github_nb_screencast.adoc[Setting up a GitHub Repository Using NetBeans IDE]
@@ -246,7 +246,7 @@
//role="left",
Time: 3:25
-//link:http://bits.netbeans.org/media/git_nb_ssh.mp4[+*Download*+] [6 MB]
+//link:http://bits.netbeans.org/media/git_nb_ssh.mp4[Download] [6 MB]
!
xref:ide/git_nb_ssh_screencast.adoc[Cloning a Git Repository Using NetBeans IDE]
@@ -262,5 +262,5 @@
== More NetBeans IDE Screencasts
-Browse the xref:../../community/media.adoc[+NetBeans Media Library+] and the link:http://www.youtube.com/user/netbeansvideos[+NetBeans YouTube Channel+] for additional video tutorials of the NetBeans IDE.
+Browse the xref:../../community/media.adoc[NetBeans Media Library] and the link:http://www.youtube.com/user/netbeansvideos[NetBeans YouTube Channel] for additional video tutorials of the NetBeans IDE.
diff --git a/netbeans.apache.org/src/content/kb/docs/java/editor-codereference.adoc b/netbeans.apache.org/src/content/kb/docs/java/editor-codereference.adoc
index e884665..48252d0 100644
--- a/netbeans.apache.org/src/content/kb/docs/java/editor-codereference.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/java/editor-codereference.adoc
@@ -527,7 +527,7 @@
=== Using Javadoc Hints
-The editor displays hints when Javadoc is missing or Javadoc tags are needed by displaying the bulb icon image:images/bulb.png[] in the left-hand margin, click the bulb icon to fix Javadoc errors.
+The editor displays hints when Javadoc is missing or Javadoc tags are needed by displaying the bulb icon image:images/bulb.gif[] in the left-hand margin, click the bulb icon to fix Javadoc errors.
image::images/javadoc2.png[]
@@ -611,7 +611,7 @@
You can easily surround pieces of your code with various statements, such as `for`, `while`, `if`, `try/catch`, etc.
-Select a block in your code that you want to surround with a statement and click the bulb icon image:images/bulb.png[] in the left-hand margin or, choose *Source > Fix Code* from the menu bar or, press:
+Select a block in your code that you want to surround with a statement and click the bulb icon image:images/bulb.gif[] in the left-hand margin or, choose *Source > Fix Code* from the menu bar or, press:
[cols="1,4"]
diff --git a/netbeans.apache.org/src/content/kb/docs/java/images/bulb.gif b/netbeans.apache.org/src/content/kb/docs/java/images/bulb.gif
new file mode 100644
index 0000000..dff70a7
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/java/images/bulb.gif
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/conclusion.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/conclusion.adoc
index ffab912..bd20963 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/conclusion.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/conclusion.adoc
@@ -52,7 +52,7 @@
* <<acknowledge,Acknowledgments>>
* <<disclaimer,Disclaimer>>
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
Congratulations! You have now finished developing the `AffableBean` application. By following this tutorial, you incrementally built a simple e-commerce application using Java-based technologies. In the process, you became familiar with the NetBeans IDE, and have learned how to use it for the development of Java EE and web projects. Referring back to the xref:design.adoc#requirements[+customer requirements+], you can confirm that each requirement has been fully implemented, and through continuous feedback from the Affable Bean staff, you are confident that they'll be satisfied with the final product. At this stage however, you may ask, "What specifically needs to be delivered to the customer?" and "How can the application become deployed to the customer's production server so that it functions online?" This tutorial unit briefly discusses next steps in terms of handing off deliverables, and concludes with a discussion on how using a framework such as JavaServer Faces could improve the application and benefit your experience when developing future projects.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/connect-db.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/connect-db.adoc
index 4df2092..0ab12cd 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/connect-db.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/connect-db.adoc
@@ -88,23 +88,23 @@
image::images/category-table-empty.png[title="Use the SQL editor to view table data in the IDE"]
-Also, note that the native SQL query used to generate the GUI representation is displayed in the upper region of the editor: '`select * from category`'.
+Also, note that the native SQL query used to generate the GUI representation is displayed in the upper region of the editor: `select * from category`.
[start=2]
-. Delete '`select * from category`' and enter the following SQL statement:
+. Delete `select * from category` and enter the following SQL statement:
[source,java]
----
INSERT INTO `category` (`name`) VALUES ('dairy'),('meats'),('bakery'),('fruit & veg');
----
-This statement inserts four new records, each with a unique entry for the '`name`' column. Because the `id` column was specified as `AUTO_INCREMENT` when you created the schema, you do not need to worry about supplying a value.
+This statement inserts four new records, each with a unique entry for the `name` column. Because the `id` column was specified as `AUTO_INCREMENT` when you created the schema, you do not need to worry about supplying a value.
[start=3]
. Click the Run SQL ( image:images/run-sql-btn.png[] ) button in the editor's toolbar. The SQL statement is executed.
[start=4]
-. To confirm that the data has been added, run the '`select * from category`' query again. To do so, you can use the SQL History window. Click the SQL History ( image:images/sql-history-btn.png[] ) button in the editor's toolbar and double-click the '`select * from category`' entry. The SQL History window lists all SQL statements that you recently executed in the IDE.
+. To confirm that the data has been added, run the `select * from category` query again. To do so, you can use the SQL History window. Click the SQL History ( image:images/sql-history-btn.png[] ) button in the editor's toolbar and double-click the `select * from category` entry. The SQL History window lists all SQL statements that you recently executed in the IDE.
Watch the screencast below to see how you can follow the above steps. When typing in the editor, be sure to take advantage of the IDE's code completion and suggestion facilities.
@@ -157,7 +157,7 @@
INSERT INTO `product` VALUES (NULL, 'milk', 1.70, 'semi skimmed (1L)', NULL, 1);
----
After running the statement, you'll see that the record contains an automatically incremented primary key, and the `last_update` column lists the current date and time.
-* The value for the final column, '`category_id`', must correspond to a value contained in the `category` table's `id` column. Because you have already added four records to the `category` table, the `product` records you are inserting reference one of these four records. If you try to insert a `product` record that references a `category_id` that doesn't exist, a foreign key constraint fails.
+* The value for the final column, `category_id`, must correspond to a value contained in the `category` table's `id` column. Because you have already added four records to the `category` table, the `product` records you are inserting reference one of these four records. If you try to insert a `product` record that references a `category_id` that doesn't exist, a foreign key constraint fails.
[start=3]
. Click the Run SQL ( image:images/run-sql-btn.png[] ) button in the editor's toolbar.
@@ -207,7 +207,7 @@
3. In Step 2 of the JDBC Resource wizard, select the `Create New JDBC Connection Pool` option. When you do so, three new steps are added to the wizard, enabling you to specify connection pool settings.
4. Enter details to set up the data source:
* *JNDI Name:* `jdbc/affablebean`
-[tips]#By convention, the JNDI name for a JDBC resource begins with the '`jdbc/`' string.#
+[tips]#By convention, the JNDI name for a JDBC resource begins with the `jdbc/` string.#
* *Object Type:* `user`
* *Enabled:* `true`
@@ -368,11 +368,11 @@
1. Create a new JSP page to test the data source. Click the New File ( image:images/new-file-btn.png[] ) button. (Alternatively, press Ctrl-N; ⌘-N on Mac.)
2. Select the Web category, then select the JSP file type and click Next.
-3. Enter '`testDataSource`' as the file name. In the Folder field, type in '`test`'.
+3. Enter `testDataSource` as the file name. In the Folder field, type in `test`.
image::images/new-jsp-wzd.png[title="Enter details to name and place a new JSP page into the project"]
-The project does not yet have a folder named '`test`' within the Web Pages location (i.e., within the `web` folder). By entering '`test`' into the Folder field, you have the IDE create the folder upon completing the wizard.
+The project does not yet have a folder named `test` within the Web Pages location (i.e., within the `web` folder). By entering `test` into the Folder field, you have the IDE create the folder upon completing the wizard.
[start=4]
@@ -590,7 +590,7 @@
=== index page
1. In the Projects window, double-click the `index.jsp` node to open it in the editor. (If already opened, press Ctrl-Tab to select it in the editor.)
-2. At the top of the file, before the first `<div>` tag, place your cursor on a blank line, then type '`db`' and press Ctrl-Space. In the code-completion pop-up window that displays, choose DB Query.
+2. At the top of the file, before the first `<div>` tag, place your cursor on a blank line, then type `db` and press Ctrl-Space. In the code-completion pop-up window that displays, choose DB Query.
image::images/db-query.png[title="Type 'db', then press Ctrl-Space to invoke code completion suggestions"]
@@ -628,7 +628,7 @@
The SQL query creates a result set which is stored in the `categories` variable. You can then access the result set using EL syntax, e.g., `${categories}` (demonstrated below).
[start=5]
-. Place your cursor at the end of '`<div id="indexRightColumn">`' (line 22), hit return, type '`jstl`' then press Ctrl-Space and choose JSTL For Each.
+. Place your cursor at the end of `<div id="indexRightColumn">` (line 22), hit return, type `jstl` then press Ctrl-Space and choose JSTL For Each.
image::images/jstl-for-each.png[title="Type 'jstl', then press Ctrl-Space to invoke code completion suggestions"]
@@ -656,7 +656,7 @@
<div class="categoryBox">
----
-If you are wondering what '`rows`' refers to in the generated code, recall that the `categories` variable represents a result set. More specifically, `categories` refers to an object that implements the `link:http://java.sun.com/products/jsp/jstl/1.1/docs/api/javax/servlet/jsp/jstl/sql/Result.html[+javax.servlet.jsp.jstl.sql.Result+]` interface. This object provides properties for accessing the rows, column names, and size of the query’s result set. When using dot notation as in the above example, '`categories.rows`' is translated in Java to '`categories.getRows()`'.
+If you are wondering what `rows` refers to in the generated code, recall that the `categories` variable represents a result set. More specifically, `categories` refers to an object that implements the `link:http://java.sun.com/products/jsp/jstl/1.1/docs/api/javax/servlet/jsp/jstl/sql/Result.html[+javax.servlet.jsp.jstl.sql.Result+]` interface. This object provides properties for accessing the rows, column names, and size of the query’s result set. When using dot notation as in the above example, `categories.rows` is translated in Java to `categories.getRows()`.
[start=8]
@@ -721,7 +721,7 @@
<a href="category?${category.id}">
----
-When a user clicks the image link in the browser, a request for '`category`' is sent to the application's context root on the server. In your development environment, the URL is as follows:
+When a user clicks the image link in the browser, a request for `category` is sent to the application's context root on the server. In your development environment, the URL is as follows:
[source,java]
@@ -736,7 +736,7 @@
* `/AffableBean`: The context root of your deployed application
* `/category`: The path to the request
-Recall that in xref:page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], you mapped a request for '`/category`' to the `ControllerServlet`. Currently, the `ControllerServlet` internally forwards the request to `/WEB-INF/view/category.jsp`, which is why the category page displays upon clicking an image link.
+Recall that in xref:page-views-controller.adoc#controller[+Preparing the Page Views and Controller Servlet+], you mapped a request for `/category` to the `ControllerServlet`. Currently, the `ControllerServlet` internally forwards the request to `/WEB-INF/view/category.jsp`, which is why the category page displays upon clicking an image link.
You can verify the application's context root by expanding the Configuration Files node in the Projects window, and opening the `sun-web.xml` file. The `sun-web.xml` file is a deployment descriptor specific to GlassFish.
@@ -808,7 +808,7 @@
</div>
----
-In the above snippet, you access the request's query string using '`pageContext.request.queryString`'. `pageContext` is another link:http://download.oracle.com/docs/cd/E17477_01/javaee/5/tutorial/doc/bnahq.html#bnaij[+implicit object+] defined by the JSP Expression Language. The EL expression uses the `link:http://java.sun.com/webservices/docs/1.6/api/javax/servlet/jsp/PageContext.html[+PageContext+]` to access the current request (an `link:http://java.sun.com/webservices/docs/1.6/api/javax/servlet/http/HttpServletRequest.html[+HttpServletRequest+]` object). From `HttpServletRequest`, the `getQueryString()` method is called to obtain the value of the request's query string.
+In the above snippet, you access the request's query string using `pageContext.request.queryString`. `pageContext` is another link:http://download.oracle.com/docs/cd/E17477_01/javaee/5/tutorial/doc/bnahq.html#bnaij[+implicit object+] defined by the JSP Expression Language. The EL expression uses the `link:http://java.sun.com/webservices/docs/1.6/api/javax/servlet/jsp/PageContext.html[+PageContext+]` to access the current request (an `link:http://java.sun.com/webservices/docs/1.6/api/javax/servlet/http/HttpServletRequest.html[+HttpServletRequest+]` object). From `HttpServletRequest`, the `getQueryString()` method is called to obtain the value of the request's query string.
[start=4]
. Make sure to add the JSTL `core` and `sql` `taglib` directives to the top of the page. (This is done automatically when using the editor's code suggestion and completion facilities.)
@@ -825,7 +825,7 @@
image::images/category-page-bakery.png[title="Select categories by clicking category buttons in the left column"]
-Also, note that the ID of the selected category is displayed in the page's URL. (In the above image, the bakery category is selected, and '`3`' is appended to the URL in the browser's navigation toolbar.)
+Also, note that the ID of the selected category is displayed in the page's URL. (In the above image, the bakery category is selected, and `3` is appended to the URL in the browser's navigation toolbar.)
Your servlet container (i.e., GlassFish) converts JSP pages into servlets before running them as part of a project. You can view the generated servlet for a JSP page by right-clicking the page node in the Projects window and choosing View Servlet. Of course, you first need to run the project so that the servlet is generated. Taking the `index.jsp` file as an example, when you choose View Servlet, the IDE displays a read-only copy of the generated servlet, `index_jsp.java`, in the editor. The servlet exists on the server at: `_<gf-install-dir>_/glassfish/domains/domain1/generated/jsp/AffableBean/org/apache/jsp/index_jsp.java`.
@@ -849,13 +849,13 @@
. In the IDE's main toolbar, click the Debug Project ( image:images/debug-project-btn.png[] ) button. A debugging session is activated for the project, and the application's index page opens in the browser.
[start=3]
-. Click the bakery category in the index page. (You know that the ID for the bakery category is '`3`').
+. Click the bakery category in the index page. (You know that the ID for the bakery category is `3`).
[start=4]
. Return to the IDE, and note that the debugger is suspended on the line containing the breakpoint. When suspended, the margin shows a green arrow on the breakpoint ( image:images/debugger-suspended-icon.png[] ), and the line displays with green background.
[start=5]
-. Open the Variables window (Ctrl-Shift-1) and expand the Implicit Objects > pageContext > request > queryString node. Inspect the variable value and note that the value is '`3`', corresponding to the category ID from your selection.
+. Open the Variables window (Ctrl-Shift-1) and expand the Implicit Objects > pageContext > request > queryString node. Inspect the variable value and note that the value is `3`, corresponding to the category ID from your selection.
[start=6]
. Press the Finish Debugger Session ( image:images/finish-debugger-session-btn.png[] ) button to terminate the debugger session.
@@ -887,7 +887,7 @@
<p id="categoryTitle">*${selectedCategory.rows[0].name}*</p>
----
-Since the result from the `selectedCategory` query contains only one item (i.e., user can select only one category), you can retrieve the first row of the result set using '`selectedCategory*.rows[0]*`'. If a user selects the 'meats' category for example, the returned expression would be '`{name=meats}`'. You could then access the category name with '`${selectedCategory.rows[0]*.name*}`'.
+Since the result from the `selectedCategory` query contains only one item (i.e., user can select only one category), you can retrieve the first row of the result set using `selectedCategory*.rows[0]*`. If a user selects the 'meats' category for example, the returned expression would be `{name=meats}`. You could then access the category name with `${selectedCategory.rows[0]*.name*}`.
[start=3]
. Save (Ctrl-S; ⌘-S on Mac) changes made to the file.
@@ -967,7 +967,7 @@
class="${((iter.index % 2) == 0) ? 'lightBlue' : 'white'}"
----
-The API documentation for the `link:http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/c/forEach.html[+<c:forEach>+]` tag indicates that the `varStatus` attribute represents an object that implements the `link:http://java.sun.com/products/jsp/jstl/1.1/docs/api/javax/servlet/jsp/jstl/core/LoopTagStatus.html[+LoopTagStatus+]` interface. Therefore, `iter.index` retrieves the index of the current round of the iteration. Continuing with the expression, `(iter.index % 2) == 0)` evaluates the remainder when `iter.index` is divided by `2`, and returns a boolean value based on the outcome. Finally, an EL conditional operator (`? :`) is used to set the returned value to '`lightBlue`' if true, '`white`' otherwise.
+The API documentation for the `link:http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/c/forEach.html[+<c:forEach>+]` tag indicates that the `varStatus` attribute represents an object that implements the `link:http://java.sun.com/products/jsp/jstl/1.1/docs/api/javax/servlet/jsp/jstl/core/LoopTagStatus.html[+LoopTagStatus+]` interface. Therefore, `iter.index` retrieves the index of the current round of the iteration. Continuing with the expression, `(iter.index % 2) == 0)` evaluates the remainder when `iter.index` is divided by `2`, and returns a boolean value based on the outcome. Finally, an EL conditional operator (`? :`) is used to set the returned value to `lightBlue` if true, `white` otherwise.
For a description of JSP Expression Language operators, see the Java EE 5 Tutorial: link:http://download.oracle.com/docs/cd/E17477_01/javaee/5/tutorial/doc/bnahq.html#bnaik[+JavaServer Pages Technology > Unified Expression Language > Operators+].
@@ -1000,7 +1000,7 @@
org.apache.jasper.JasperException: PWC6188: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
----
-This is a link:https://bz.apache.org/netbeans/show_bug.cgi?id=188406[+known issue+] for NetBeans IDE 6.9. Try to deploy the project, then access the file by typing its URL in the browser. For example, if you are trying to view `testDataSource.jsp` in a browser, enter '`http://localhost:8080/AffableBean/test/testDataSource.jsp`' in the browser's URL field directly. Otherwise, add the IDE's JSTL 1.1 library to the project. In the Projects window, right-click the Libraries node and choose Add Library. Select JSTL 1.1. For more information, see: link:http://forums.netbeans.org/topic28571.html[+http://forums.netbeans.org/topic28571.html+].
+This is a link:https://bz.apache.org/netbeans/show_bug.cgi?id=188406[+known issue+] for NetBeans IDE 6.9. Try to deploy the project, then access the file by typing its URL in the browser. For example, if you are trying to view `testDataSource.jsp` in a browser, enter `link:http://localhost:8080/AffableBean/test/testDataSource.jsp` in the browser's URL field directly. Otherwise, add the IDE's JSTL 1.1 library to the project. In the Projects window, right-click the Libraries node and choose Add Library. Select JSTL 1.1. For more information, see: link:http://forums.netbeans.org/topic28571.html[+http://forums.netbeans.org/topic28571.html+].
* You receive the following exception:
[source,java]
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/design.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/design.adoc
index 59c4e5d..9b206d3 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/design.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/design.adoc
@@ -108,45 +108,44 @@
In this scenario, we've produced _mockups_ of the primary pages the user expects see when navigating through the website. When we later discuss the MVC design pattern, you'll note that these pages map to the _views_ used by the application.
+
+[cols="1,1"]
|===
-|[.feature]
+a|
+
+[.feature]
--
-image::images/mockup-index-small.png[role="left", link="images/mockup-index.png"]
+image:images/mockup-index-small.png[role="left", link="images/mockup-index.png"]
--
- |
-
+a|
==== welcome page
The welcome page is the website's home page, and entry point for the application. It introduces the business and service to the user, and enables the user to navigate to any of the four product categories.
-
-|[.feature]
+a|
+[.feature]
--
-image::images/mockup-category-small.png[role="left", link="images/mockup-category.png"]
+image:images/mockup-category-small.png[role="left", link="images/mockup-category.png"]
--
- |
-
-
+a|
==== category page
The category page provides a listing of all products within the selected category. From this page, a user is able to view all product information, and add any of the listed products to his or her shopping cart. A user can also navigate to any of the provided categories.
-
-
-|[.feature]
+a|
+[.feature]
--
-image::images/mockup-cart-small.png[role="left", link="images/mockup-cart.png"]
+image:images/mockup-cart-small.png[role="left", link="images/mockup-cart.png"]
--
- |
-
+a|
==== cart page
@@ -160,30 +159,30 @@
* Proceed to checkout
-|[.feature]
+
+a|
+[.feature]
--
image::images/mockup-checkout-small.png[role="left", link="images/mockup-checkout.png"]
--
- |
-
-
+a|
==== checkout page
The checkout page collects information from the customer using a form. This page also displays purchase conditions, and summarizes the order by providing calculations for the total cost.
The user is able to send personal details over a secure channel.
-
-|[.feature]
+a|
+[.feature]
--
image::images/mockup-confirmation-small.png[role="left", link="images/mockup-confirmation.png"]
--
- |
+a|
==== confirmation page
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/entity-session.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/entity-session.adoc
index 9d8701e..3b62121 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/entity-session.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/entity-session.adoc
@@ -65,7 +65,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
This tutorial unit introduces the link:http://java.sun.com/products/ejb/[+Enterprise JavaBeans+] (EJB) and link:http://java.sun.com/javaee/technologies/persistence.jsp[+Java Persistence+] (JPA) technologies. In it, you use two of the IDE's wizards that are essential to Java EE development. These are:
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/images/netbeans-stamp-68-69.png b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/images/netbeans-stamp-68-69.png
new file mode 100644
index 0000000..82ee2c1
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/images/netbeans-stamp-68-69.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/intro.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/intro.adoc
index 26d4ad1..dbdafe9 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/intro.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/intro.adoc
@@ -78,7 +78,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
Welcome to the NetBeans E-commerce Tutorial. In this multi-part tutorial, you learn how to create a simple yet effective e-commerce application that demonstrates various important features of Java web and EE development. In doing so, you'll familiarize yourself with the NetBeans IDE and become capable of applying it to your own development purposes.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/manage-sessions.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/manage-sessions.adoc
index 7045c2a..df49ce6 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/manage-sessions.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/manage-sessions.adoc
@@ -62,7 +62,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
Every e-commerce application that offers some form of shopping cart functionality needs to be able to remember user-specific data as users click through the website. Unfortunately for you the developer, the HTTP protocol, over which communication on the Internet takes place, is a _stateless_ protocol. Each request received by your server is an independent piece of information that has no relation to previously received requests. Therefore, if a customer clicks a button to add an item to his or her shopping cart, your application must take measures to ensure not only that the state of the user's cart is updated, but that the action doesn't affect the cart of another user who happens to be browsing the site at the same time.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/page-views-controller.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/page-views-controller.adoc
index 7e46d96..3d2a326 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/page-views-controller.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/page-views-controller.adoc
@@ -70,7 +70,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
This tutorial unit demonstrates how to create project files in the IDE, and introduces you to some of the facilities available for HTML and CSS development. After creating necessary project files, you begin organizing the front-end of the application. That is, you'll place JSP files in their proper locations within the project structure, create a header and footer which will be applied to all views, and set up the controller servlet to handle incoming requests.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/security.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/security.adoc
index 10f1dcc..c374775 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/security.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/security.adoc
@@ -56,7 +56,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
This tutorial unit focuses on web application security. When securing web applications, there are two primary concerns that need to be addressed:
@@ -246,7 +246,7 @@
image::images/projects-window-jsp.png[title="New JSP file nodes displayed in Projects window"]
[start=4]
-. Open the project's web deployment descriptor. Press Alt-Shift-O (Ctrl-Shift-O on Mac) and in the Go to File dialog, type '`web`', then click OK.
+. Open the project's web deployment descriptor. Press Alt-Shift-O (Ctrl-Shift-O on Mac) and in the Go to File dialog, type `web`, then click OK.
image::images/go-to-file.png[title="Use the Go to File dialog to quickly open files in the editor"]
@@ -267,7 +267,7 @@
----
This step ensures that when these two pages are returned to a client, they will be prepended and appended with the defined `header.jspf` and `footer.jspf` fragments, respectively.
-You can equally configure the `<jsp-property-group>` entry from the `web.xml`'s visual editor. Click the Pages tab along the top of the editor, and enter the URL patterns into the respective JSP Property Group.
+You can equally configure the `<jsp-property-group>` entry from the `web.xml`s visual editor. Click the Pages tab along the top of the editor, and enter the URL patterns into the respective JSP Property Group.
[start=6]
@@ -679,7 +679,7 @@
[start=10]
. Click the 'log out' link provided in the administration console. The `nbuser` is logged out of the administration console, and you are returned to the login page.
-The `AdminServlet` handles the '`/logout`' URL pattern by invalidating the user session:
+The `AdminServlet` handles the `/logout` URL pattern by invalidating the user session:
[source,java]
----
@@ -743,7 +743,7 @@
The following optional steps demonstrate how you can identify this security support in the GlassFish Administration Console.
[start=5]
-. Open the GlassFish Administration Console in the browser. (Either type '`http://localhost:4848/`' in your browser, or click the '`go to the Administration Console`' link in the GlassFish server's welcome page, as displayed in the <<serverWelcomePage,image above>>.)
+. Open the GlassFish Administration Console in the browser. (Either type `http://localhost:4848/` in your browser, or click the `go to the Administration Console` link in the GlassFish server's welcome page, as displayed in the <<serverWelcomePage,image above>>.)
[start=6]
. In the Tree which displays in the left column of the Administration Console, expand the Configuration > Network Config nodes, then click the Network Listeners node.
@@ -787,7 +787,7 @@
image::images/add-web-resource2.png[title="Specify which resources need to be protected using the Add Web Resource dialog"]
-*Note:* Recall that the `/checkout` URL pattern is handled by the `ControllerServlet`'s `doGet` method, and forwards the user to the checkout page.
+*Note:* Recall that the `/checkout` URL pattern is handled by the `ControllerServlet`s `doGet` method, and forwards the user to the checkout page.
[start=4]
@@ -820,7 +820,7 @@
Configuration for the customer checkout process is now complete. To ensure that a secure connection is applied for access to the administration console, simply specify that any requests handled by the `AdminServlet` are transmitted over a secure channel.
[start=6]
-. Open the `AdminServlet`. Press Alt-Shift-O (Ctrl-Shift-O on Mac) and in the Go to File dialog, type '`admin`', then click OK.
+. Open the `AdminServlet`. Press Alt-Shift-O (Ctrl-Shift-O on Mac) and in the Go to File dialog, type `admin`, then click OK.
[start=7]
. Use the link:http://download.oracle.com/javaee/6/api/javax/servlet/annotation/HttpConstraint.html[+`@HttpConstraint`+] annotation's `transportGuarantee` element to specify a `CONFIDENTIAL` security constraint. Make the following change (in *bold*).
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup-dev-environ.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup-dev-environ.adoc
index a3883b4..1eaae0b 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup-dev-environ.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup-dev-environ.adoc
@@ -70,7 +70,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
The following steps describe how to set up your development environment. In the process, you'll learn about some of the primary windows of the IDE and understand how the IDE uses an link:https://ant.apache.org/[+Ant+] build script to perform common actions on your project. By the end of this tutorial unit, you'll have created a web application project, and confirmed that you can successfully build the project, deploy it to your development server, and run it from the IDE.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup.adoc
index b368420..1ea9781 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/setup.adoc
@@ -46,7 +46,7 @@
12. xref:test-profile.adoc[+Testing and Profiling+]
13. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
If you want to follow a tutorial unit without having completed previous units, you need to perform some preliminary steps in order to set up your development environment.
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/test-profile.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/test-profile.adoc
index d9c4347..1aabc9c 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/test-profile.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/test-profile.adoc
@@ -53,7 +53,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
Before delivering any application, it is important to ensure that it functions properly, and that it can perform acceptably for the demands expected of it. Web applications, especially e-commerce applications, by their very nature provide concurrent access to shared resources. In other words, the servers on which they are hosted must be able to respond to multiple users requesting the same resources over the same period of time. Be mindful of this fact when during development your application appears to behave correctly as you click through web pages in your browser. How will the application perform when handling 100 users simultaneously? Are there memory leaks that will degrade the server's performance after the application has been running for long periods of time? What steps can you take to ensure that your production server best handles traffic to your application?
diff --git a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/transaction.adoc b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/transaction.adoc
index de0b09d..2259909 100644
--- a/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/transaction.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javaee/ecommerce/transaction.adoc
@@ -65,7 +65,7 @@
[start=13]
. xref:conclusion.adoc[+Conclusion+]
-image::../../../../images_www/articles/68/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
+image::images/netbeans-stamp-68-69.png[title="Content on this page applies to NetBeans IDE, versions 6.8 and 6.9"]
The purpose of this tutorial unit is to demonstrate how you can use the object-relational mapping (ORM) capabilities provided by EJB and JPA technologies to gather data from a web request and write to a back-end database. Of particular interest is EJB's support for _container-managed_ transactions (refer to the xref:entity-session.adoc#gf-java-ee-container[+GlassFish v3 Java EE Container diagram+]). By applying several non-intrusive annotations, you can transform your EJB class into a transaction manager, thereby ensuring the integrity of the data contained in the database. In other words, the transaction manager handles multiple write actions to the database as a single unit of work. It ensures that the work-unit is performed either in its entirety or, if failure occurs at some point during the process, any changes made are rolled back to the database's pre-transaction state.
diff --git a/netbeans.apache.org/src/content/kb/docs/javame/images/netbeans-stamp.gif b/netbeans.apache.org/src/content/kb/docs/javame/images/netbeans-stamp.gif
new file mode 100644
index 0000000..0070e9a
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/javame/images/netbeans-stamp.gif
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/javame/index.adoc b/netbeans.apache.org/src/content/kb/docs/javame/index.adoc
index b952ca2..19b18f1 100644
--- a/netbeans.apache.org/src/content/kb/docs/javame/index.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javame/index.adoc
@@ -27,10 +27,8 @@
:description: JavaME Tutorials
- xref:imp-ng.adoc[Creating, Debugging, and Profiling a Mobile Embedded Application]
-- xref:java-card.adoc[Java Card Development Quick Start Guide]
- xref:javacard.adoc[Java Card Development Quick Start Guide]
- xref:index.adoc[JavaME Tutorials]
-- xref:section.adoc[]
- xref:nb_me_plugins_screencast.adoc[Video of Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE]
- xref:nb_me8_screencast.adoc[Video of NetBeans IDE Support for Java ME 8]
diff --git a/netbeans.apache.org/src/content/kb/docs/javame/javacard.adoc b/netbeans.apache.org/src/content/kb/docs/javame/javacard.adoc
index 210483c..69ced54 100644
--- a/netbeans.apache.org/src/content/kb/docs/javame/javacard.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/javame/javacard.adoc
@@ -45,7 +45,7 @@
*To complete this tutorial, you need the following software and resources:*
-image::../../../images_www/articles/69/netbeans-stamp.gif[title="Content on this page applies to the NetBeans IDE 6.8 and 6.9"]
+image::images/netbeans-stamp.gif[title="Content on this page applies to the NetBeans IDE 6.8 and 6.9"]
|===
|Software or Resource |Version Required
diff --git a/netbeans.apache.org/src/content/kb/docs/mobility.adoc b/netbeans.apache.org/src/content/kb/docs/mobility.adoc
index 9fe5c66..54b3374 100644
--- a/netbeans.apache.org/src/content/kb/docs/mobility.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/mobility.adoc
@@ -37,7 +37,7 @@
== Getting Started
* xref:javame/imp-ng.adoc[+Creating, Debugging, and Profiling a Mobile Embedded Application+]
-* xref:javame/java-card.adoc[+NetBeans Java Card Development Quick Start Guide+]
+* xref:javame/javacard.adoc[+NetBeans Java Card Development Quick Start Guide+]
== Tutorials and Articles
@@ -50,7 +50,7 @@
* xref:javame/nb_me8_screencast.adoc[+Demo: NetBeans IDE Support for Java ME 8+]
* xref:javame/nb_me_plugins_screencast.adoc[+Demo: Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE+]
-* YouTube: link:http://youtu.be/_1PPSt2AwpM[+ Introduction into Java Micro Edition (ME) 8+] (_by Terrence Bar_)
+* YouTube: video::_1PPSt2AwpM[Introduction into Java Micro Edition (ME) 8] (_by Terrence Bar_)
== Community-Contributed Docs
diff --git a/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-mac-os.adoc b/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-mac-os.adoc
index 497ab2c..a1bb51e 100644
--- a/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-mac-os.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-mac-os.adoc
@@ -160,7 +160,7 @@
. Note that the remote port specified for Xdebug in the previous step is: 9000. This is the default debugger port used in NetBeans. To verify this, choose NetBeans > Preferences from the main menu, then select PHP in the Options window.
- image::images/php-options68.png[title="The debugging port can be set in the PHP Options window"]
+image::images/php-options68.png[title="The debugging port can be set in the PHP Options window"]
If needed, you can change the debugger port here.
diff --git a/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-windows.adoc b/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-windows.adoc
index 639061a..033593e 100644
--- a/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-windows.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/php/configure-php-environment-windows.adoc
@@ -51,7 +51,7 @@
|===
-Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in xref:remote-hosting-and-ftp-account.adoc[+ Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE+]. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly link:http://httpd.apache.org/download.cgi[+Apache HTTP Server+] is used. Apache HTTP server is included in the XAMPP AMP package used in this tutorial. For information on installing and configuring Apache HTTP server standalone, click link:http://httpd.apache.org/docs/2.2/install.html[+here+].
+Typically, development and debugging is performed on a local web server, while the production environment is located on a remote web server. Setting up a remote web server is described in xref:remote-hosting-and-ftp-account.adoc[Deploying a PHP Application on a Remote Web Server Using the NetBeans IDE]. This tutorial has you set up a local web server. PHP support can be added to a number of local web servers (IIS, Xitami, and so on), but most commonly link:http://httpd.apache.org/download.cgi[+Apache HTTP Server+] is used. Apache HTTP server is included in the XAMPP AMP package used in this tutorial. For information on installing and configuring Apache HTTP server standalone, click link:http://httpd.apache.org/docs/2.2/install.html[+here+].
=== Required Software
@@ -254,7 +254,7 @@
----
. If the lines are missing, add them, save ``httpd.conf`` , and restart Apache.
-. Refresh the pass:[http://localhost:<port>/test.php] page.
+. Refresh the ``http://localhost:<port>/test.php`` page.
==== MySQL Database Server
diff --git a/netbeans.apache.org/src/content/kb/docs/php/phpunit.adoc b/netbeans.apache.org/src/content/kb/docs/php/phpunit.adoc
index 961281d..d122d99 100644
--- a/netbeans.apache.org/src/content/kb/docs/php/phpunit.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/php/phpunit.adoc
@@ -108,7 +108,9 @@
NOTE: You can use annotation code completion to add `@assert` annotations. Navigate between parameters with the Tab key, or click Enter after filling in a parameter value.
-image::images/assert-cc.png[]image::images/assert-cc-complete.png[]
+image::images/assert-cc.png[]
+
+image::images/assert-cc-complete.png[]
diff --git a/netbeans.apache.org/src/content/kb/docs/php/wish-list-lesson2.adoc b/netbeans.apache.org/src/content/kb/docs/php/wish-list-lesson2.adoc
index 15d6069..8a731ed 100644
--- a/netbeans.apache.org/src/content/kb/docs/php/wish-list-lesson2.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/php/wish-list-lesson2.adoc
@@ -258,7 +258,9 @@
NOTE: You can use NetBeans IDE's code completion for either mysqli or OCI8 functions.
-image::images/codecompletion.png[]image::images/codecompletion-oci.png[]
+image::images/codecompletion.png[]
+
+image::images/codecompletion-oci.png[]
diff --git a/netbeans.apache.org/src/content/kb/docs/web/js-toolkits-dojo.adoc b/netbeans.apache.org/src/content/kb/docs/web/js-toolkits-dojo.adoc
index 6833355..a156039 100644
--- a/netbeans.apache.org/src/content/kb/docs/web/js-toolkits-dojo.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/web/js-toolkits-dojo.adoc
@@ -377,7 +377,7 @@
. Open the Javadoc on the `getIndiansAsJSONObject()` method. You can do this by returning to the Navigator (Ctrl-7; ⌘-7 on Mac) and hovering over the method. Otherwise, choose Window > Other > Javadoc from the main menu, then click on the method signature in the editor.
- image::images/javadoc-window.png[title="The Javadoc for TribeDataManager provides an example of JSON data"]
+image::images/javadoc-window.png[title="The Javadoc for TribeDataManager provides an example of JSON data"]
. Examine the example of JSON data that is provided in the Javadoc. Note that the format of the data conforms to the examples provided in the link:http://o.dojotoolkit.org/book/dojo-book-0-9/part-3-programmatic-dijit-and-dojo/what-dojo-data/available-stores/dojo-data-item[+Dojo documentation+].
diff --git a/netbeans.apache.org/src/content/kb/docs/web/mysql-webapp.adoc b/netbeans.apache.org/src/content/kb/docs/web/mysql-webapp.adoc
index a555b4b..6a2d2f9 100644
--- a/netbeans.apache.org/src/content/kb/docs/web/mysql-webapp.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/web/mysql-webapp.adoc
@@ -72,7 +72,7 @@
The application you build in this tutorial involves the creation of two JSP pages. In each of these pages you use HTML and CSS to implement a simple interface, and apply JSTL technology to perform the logic that directly queries the database and inserts the retrieved data into the two pages. The two database tables, `Subject` and `Counselor`, are contained in the MySQL database, `MyNewDatabase`, which you create by completing the xref:../ide/mysql.adoc[+Connecting to a MySQL Database+] tutorial. Consider the following two-tier scenario.
- image::images/ifpwafcad-structure.png[title="Sample structure of a two-tier web application"]
+image::images/ifpwafcad-structure.png[title="Sample structure of a two-tier web application"]
The welcome page (`index.jsp`) presents the user with a simple HTML form. When a browser requests `index.jsp`, the JSTL code within the page initiates a query on `MyNewDatabase`. It retrieves data from the `Subject` database table, and inserts it into to the page before it is sent to the browser. When the user submits his or her selection in the welcome page's HTML form, the submit initiates a request for the response page (`response.jsp`). Again, the JSTL code within the page initiates a query on `MyNewDatabase`. This time, it retrieves data from both the `Subject` and `Counselor` tables and inserts it into to the page, allowing the user to view data based upon his or her selection when the page is returned to the browser.
diff --git a/netbeans.apache.org/src/content/kb/docs/web/quickstart-webapps-wicket.adoc b/netbeans.apache.org/src/content/kb/docs/web/quickstart-webapps-wicket.adoc
index 82541c1..270c441 100644
--- a/netbeans.apache.org/src/content/kb/docs/web/quickstart-webapps-wicket.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/web/quickstart-webapps-wicket.adoc
@@ -94,7 +94,7 @@
4.
In the Frameworks panel, choose Wicket, as shown here:
-image::https://blogs.oracle.com/geertjan_images/resource/wicket-160-nb.png[]
+// image is not found in webarchive image::https://blogs.oracle.com/geertjan_images/resource/wicket-160-nb.png[]
*Note:* Depending on the modules installed into the IDE, you may see more or less items in the Frameworks list shown in the screenshot above.
@@ -112,7 +112,7 @@
The IDE creates the ``MyFirstWicketApp `` project. The project contains all of your sources and project metadata, such as the project's Ant build script. The project opens in the IDE. You can view its logical structure in the Projects window (Ctrl-1):
-image::https://blogs.oracle.com/geertjan_images/resource/wicket-160-nb-2.png[]
+// image is not found in webarchive image::https://blogs.oracle.com/geertjan_images/resource/wicket-160-nb-2.png[]
==== Scenario 2: Creating a Maven Based Wicket Application from Scratch
diff --git a/netbeans.apache.org/src/content/kb/docs/web/security-webapps.adoc b/netbeans.apache.org/src/content/kb/docs/web/security-webapps.adoc
index d8a5f83..289a3ba 100644
--- a/netbeans.apache.org/src/content/kb/docs/web/security-webapps.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/web/security-webapps.adoc
@@ -249,7 +249,9 @@
*Note:* You can find your CATALINA_BASE location by right-clicking the Tomcat server node in the Services window and selecting Properties. The Server Properties opens. The location of CATALINA_BASE is in the Connection tab.
-image::images/tomcat-properties.png[] image::images/catalina-base.png[]
+image::images/tomcat-properties.png[]
+
+image::images/catalina-base.png[]
*Note:* If you use Tomcat 6 bundled with earlier versions of the IDE, this server has the ``ide`` user defined with a password and the administrator and manager roles. The password for the user ``ide`` is generated when Tomcat 6 is installed. You can change the password for the user ``ide`` , or copy the password in ``tomcat-users.xml`` .
diff --git a/netbeans.apache.org/src/content/kb/docs/webclient/html5-js-support.adoc b/netbeans.apache.org/src/content/kb/docs/webclient/html5-js-support.adoc
index 67fc74c..bb5ac51 100644
--- a/netbeans.apache.org/src/content/kb/docs/webclient/html5-js-support.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/webclient/html5-js-support.adoc
@@ -232,7 +232,7 @@
[start=11]
-. Right-click the Karma node and choose Set Configuration > ``karma.conf.js`` to confirm that the correct configuration file is selected. image:../../../images_www/articles/80/webclient/html5-js/karma-node.png[title="Configure jsTest Driver node in Services window"]
+. Right-click the Karma node and choose Set Configuration > ``karma.conf.js`` to confirm that the correct configuration file is selected. image:images/karma-node.png[title="Configure jsTest Driver node in Services window"]
[start=12]
. Disable any breakpoints that you set in the project.
diff --git a/netbeans.apache.org/src/content/kb/docs/webclient/images/karma-node.png b/netbeans.apache.org/src/content/kb/docs/webclient/images/karma-node.png
new file mode 100644
index 0000000..b5061c1
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/webclient/images/karma-node.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/webclient/images/newhtml5project-7.png b/netbeans.apache.org/src/content/kb/docs/webclient/images/newhtml5project-7.png
new file mode 100644
index 0000000..acf0df3
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/webclient/images/newhtml5project-7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/webclient/ojet-gettingstarted.adoc b/netbeans.apache.org/src/content/kb/docs/webclient/ojet-gettingstarted.adoc
index fc380b8..223e1c1 100644
--- a/netbeans.apache.org/src/content/kb/docs/webclient/ojet-gettingstarted.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/webclient/ojet-gettingstarted.adoc
@@ -80,7 +80,7 @@
You now have a new HTML5/JavaScript project created from the Oracle JET QuickStart Basic template.
-image::../../../images_www/articles/82/web/oraclejet-gettingstarted/newhtml5project-7.png[]
+image::images/newhtml5project-7.png[]
Spend some time exploring the project structure of the application. For example, look in *js/libs* and you will see the JavaScript libraries that constitute Oracle JET, while *js/viemodels* contains the JavaScript files, with their matching views in *js/views*.
diff --git a/netbeans.apache.org/src/content/kb/docs/webclient/ojet-porting.adoc b/netbeans.apache.org/src/content/kb/docs/webclient/ojet-porting.adoc
index dac0bf1..886b75f 100644
--- a/netbeans.apache.org/src/content/kb/docs/webclient/ojet-porting.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/webclient/ojet-porting.adoc
@@ -80,7 +80,7 @@
You now have a new HTML5/JavaScript project created from the Oracle JET QuickStart Basic template.
-image::../../../images_www/articles/82/web/oraclejet-gettingstarted/newhtml5project-7.png[]
+image::images/newhtml5project-7.png[]
Spend some time exploring the project structure of the application. For example, look in *js/libs* and you will see the JavaScript libraries that constitute Oracle JET, while *js/viemodels* contains the JavaScript files, with their matching views in *js/views*.
diff --git a/netbeans.apache.org/src/content/kb/docs/websvc/images/configure-test-client.png b/netbeans.apache.org/src/content/kb/docs/websvc/images/configure-test-client.png
new file mode 100644
index 0000000..94566b0
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/websvc/images/configure-test-client.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/websvc/images/entity-classes.png b/netbeans.apache.org/src/content/kb/docs/websvc/images/entity-classes.png
new file mode 100644
index 0000000..57a72d7
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/websvc/images/entity-classes.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/websvc/images/test-rest1.png b/netbeans.apache.org/src/content/kb/docs/websvc/images/test-rest1.png
new file mode 100644
index 0000000..fd43c4e
--- /dev/null
+++ b/netbeans.apache.org/src/content/kb/docs/websvc/images/test-rest1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/kb/docs/websvc/jax-ws.adoc b/netbeans.apache.org/src/content/kb/docs/websvc/jax-ws.adoc
index 93b5b9c..2a62be5 100644
--- a/netbeans.apache.org/src/content/kb/docs/websvc/jax-ws.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/websvc/jax-ws.adoc
@@ -177,7 +177,9 @@
[start=8]
. Click Source and view the code that you generated in the previous steps. It differs whether you created the service as an Java EE stateless bean or not. Can you see the difference in the screenshots below? (A Java EE 6 or Java EE 7 service that is not implemented as a stateless bean resembles a Java EE 5 service.)
-image::images/jaxws-60-source.png[] image::images/stateless-ejb-code1.png[]
+image::images/jaxws-60-source.png[]
+
+image::images/stateless-ejb-code1.png[]
*Note.* In NetBeans IDE 7.3 and 7.4 you will notice that in the generated ``@WebService`` annotation the service name is specified explicitly:
``@WebService(serviceName = "CalculatorWS")`` .
diff --git a/netbeans.apache.org/src/content/kb/docs/websvc/rest.adoc b/netbeans.apache.org/src/content/kb/docs/websvc/rest.adoc
index c0098a0..fdd3568 100644
--- a/netbeans.apache.org/src/content/kb/docs/websvc/rest.adoc
+++ b/netbeans.apache.org/src/content/kb/docs/websvc/rest.adoc
@@ -200,7 +200,7 @@
*Note:* The RESTful Web Services from Database wizard automatically generates JAXB annotations. If you generate entity classes for a Java EE application with the Entity Classes from Database wizard, and you might later want to create RESTful web services from those entity classes, make sure the Generate JAXB Annotations box is checked. You can also add JAXB annotations by hand to entity classes before running the RESTful Web Services from Entity Classes wizard. For more information, see link:http://netbeans.dzone.com/nb-generate-simpler-rest[+NetBeans to Generate Simpler RESTful Web Services+].
-image::../../../images_www/articles/71/websvc/rest/entity-classes.png[]
+image::images/entity-classes.png[]
[start=5]
. Click Next. A panel opens in which you can set the name and location of generated service classes and packages. For Java EE projects, you have the option of changing the name and location of the REST application configuration class.
@@ -222,7 +222,7 @@
4. Select GlassFish Server as the target server and Java EE 6 Web or Java EE 7 Web as the Java EE version. Click Finish.
5. Right-click the ``CustomerDB`` project node and choose Test RESTful Web Services. A dialog opens asking if you want to generate the test client inside the service project or in another Java web project. This option lets you work around security restrictions in some browsers. You can use any Web project, as long as it is configured to deploy in the same server domain as the CustomerDB project.
-image::../../../images_www/articles/71/websvc/rest/configure-test-client.png[]
+image::images/configure-test-client.png[]
[start=6]
. Select *Web Test Client in Project* and click Browse.
@@ -241,7 +241,7 @@
[start=9]
. Open your browser to link:http://localhost:8080/WebServicesTest/test-resbeans.html[+http://localhost:8080/WebServicesTest/test-resbeans.html+]
-image::../../../images_www/articles/71/websvc/rest/test-rest1.png[title="RESTful web service tester landing page in browser"]
+image::images/test-rest1.png[title="RESTful web service tester landing page in browser"]
On the left-hand side is the set of root resources. Here they are named ``entities.customer`` , ``entities.discountCodes`` and ``entities.microMarket`` .
diff --git a/netbeans.apache.org/src/content/tutorials/images/Maltego3-small.png b/netbeans.apache.org/src/content/tutorials/images/Maltego3-small.png
new file mode 100644
index 0000000..7cc220e
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/Maltego3-small.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/db_cancelGlyph.png b/netbeans.apache.org/src/content/tutorials/images/db_cancelGlyph.png
index f9fcdbf..6c5cb43 100644
--- a/netbeans.apache.org/src/content/tutorials/images/db_cancelGlyph.png
+++ b/netbeans.apache.org/src/content/tutorials/images/db_cancelGlyph.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/db_command_16.png b/netbeans.apache.org/src/content/tutorials/images/db_command_16.png
index 1ee0cc9..b8d6ac7 100644
--- a/netbeans.apache.org/src/content/tutorials/images/db_command_16.png
+++ b/netbeans.apache.org/src/content/tutorials/images/db_command_16.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/db_custom_displayable_16.png b/netbeans.apache.org/src/content/tutorials/images/db_custom_displayable_16.png
index 428ac9f..636d677 100644
--- a/netbeans.apache.org/src/content/tutorials/images/db_custom_displayable_16.png
+++ b/netbeans.apache.org/src/content/tutorials/images/db_custom_displayable_16.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/db_item_16.png b/netbeans.apache.org/src/content/tutorials/images/db_item_16.png
index 55b3058..5320612 100644
--- a/netbeans.apache.org/src/content/tutorials/images/db_item_16.png
+++ b/netbeans.apache.org/src/content/tutorials/images/db_item_16.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/db_postCodeGlyph.png b/netbeans.apache.org/src/content/tutorials/images/db_postCodeGlyph.png
index aa9f88f..16f6632 100644
--- a/netbeans.apache.org/src/content/tutorials/images/db_postCodeGlyph.png
+++ b/netbeans.apache.org/src/content/tutorials/images/db_postCodeGlyph.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/db_preCodeGlyph.png b/netbeans.apache.org/src/content/tutorials/images/db_preCodeGlyph.png
index 33f743b..467e7a0 100644
--- a/netbeans.apache.org/src/content/tutorials/images/db_preCodeGlyph.png
+++ b/netbeans.apache.org/src/content/tutorials/images/db_preCodeGlyph.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript1.jpg b/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript1.jpg
new file mode 100755
index 0000000..2dbf4b5
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript1.jpg
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript2.jpg b/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript2.jpg
new file mode 100755
index 0000000..2dbf4b5
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript2.jpg
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript2.png b/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript2.png
new file mode 100755
index 0000000..5f18087
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_dukescript2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_install.png b/netbeans.apache.org/src/content/tutorials/images/dukescript_install.png
new file mode 100644
index 0000000..9b8afa7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_install.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_repos.png b/netbeans.apache.org/src/content/tutorials/images/dukescript_repos.png
new file mode 100755
index 0000000..f3347b3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_repos.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_subprojects.png b/netbeans.apache.org/src/content/tutorials/images/dukescript_subprojects.png
new file mode 100755
index 0000000..11acf37
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_subprojects.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_wizard_4.png b/netbeans.apache.org/src/content/tutorials/images/dukescript_wizard_4.png
new file mode 100755
index 0000000..b6348a7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_wizard_4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/dukescript_wizard_5.png b/netbeans.apache.org/src/content/tutorials/images/dukescript_wizard_5.png
new file mode 100755
index 0000000..b4c544c
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/dukescript_wizard_5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/freemarker-in-nb-2.png b/netbeans.apache.org/src/content/tutorials/images/freemarker-in-nb-2.png
new file mode 100755
index 0000000..90c6082
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/freemarker-in-nb-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_google-result.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_google-result.png
new file mode 100755
index 0000000..2895ce5
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_google-result.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_google.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_google.png
new file mode 100755
index 0000000..28cadaf
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_google.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_google24.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_google24.png
new file mode 100755
index 0000000..e502ce2
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_google24.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-0.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-0.png
new file mode 100755
index 0000000..a654b83
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-0.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-1.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-1.png
new file mode 100755
index 0000000..8f91411
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-2.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-2.png
new file mode 100755
index 0000000..ff90bae
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-3.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-3.png
new file mode 100755
index 0000000..ab8d827
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-4.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-4.png
new file mode 100755
index 0000000..306befd
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-5.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-5.png
new file mode 100755
index 0000000..12acde0
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-action-5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-0.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-0.png
new file mode 100755
index 0000000..46a20e7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-0.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-1.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-1.png
new file mode 100755
index 0000000..515c5ca
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-2.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-2.png
new file mode 100755
index 0000000..80b809d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-3.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-3.png
new file mode 100755
index 0000000..2a34e1d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-project-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-0.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-0.png
new file mode 100755
index 0000000..7ef1ff3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-0.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-1.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-1.png
new file mode 100755
index 0000000..fbb9c3f
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-2.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-2.png
new file mode 100755
index 0000000..e65f871
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-3.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-3.png
new file mode 100755
index 0000000..4cbd94a
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-4.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-4.png
new file mode 100755
index 0000000..c366fb7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-5.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-5.png
new file mode 100755
index 0000000..19cbc46
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-6.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-6.png
new file mode 100755
index 0000000..8d231f3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-7.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-7.png
new file mode 100755
index 0000000..8528abf
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_new-toolbar-7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_result-1.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_result-1.png
new file mode 100755
index 0000000..5fc6561
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_result-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_result-2.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_result-2.png
new file mode 100755
index 0000000..9b9f309
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_result-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/googlebar_result-3.png b/netbeans.apache.org/src/content/tutorials/images/googlebar_result-3.png
new file mode 100755
index 0000000..8f357e9
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/googlebar_result-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/install.png b/netbeans.apache.org/src/content/tutorials/images/install.png
new file mode 100644
index 0000000..9b8afa7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/install.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-1.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-1.png
new file mode 100755
index 0000000..f3067dc
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-2.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-2.png
new file mode 100755
index 0000000..aabea1d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-3.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-3.png
new file mode 100755
index 0000000..2889cfd
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_action-display-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-1.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-1.png
new file mode 100755
index 0000000..e0a957d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-2.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-2.png
new file mode 100755
index 0000000..d2fed81
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-3.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-3.png
new file mode 100755
index 0000000..6cd4251
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_html-display-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-display-1.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-display-1.png
new file mode 100755
index 0000000..44a1158
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-display-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-display-2.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-display-2.png
new file mode 100755
index 0000000..26d6a43
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-display-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-in-files.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-in-files.png
new file mode 100755
index 0000000..159e843
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-in-files.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-in-project.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-in-project.png
new file mode 100755
index 0000000..aa92463
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon-in-project.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon.png
new file mode 100755
index 0000000..3eb1828
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_icon.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-1.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-1.png
new file mode 100755
index 0000000..96977ed
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-2.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-2.png
new file mode 100755
index 0000000..a195070
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-3.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-3.png
new file mode 100755
index 0000000..e4fd977
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-4.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-4.png
new file mode 100755
index 0000000..a6e3d52
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-5.png b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-5.png
new file mode 100755
index 0000000..5f3828d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/nodesapi2_prop-display-5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/property-editors_date-editor-10.png b/netbeans.apache.org/src/content/tutorials/images/property-editors_date-editor-10.png
new file mode 100755
index 0000000..8975568
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/property-editors_date-editor-10.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/property-editors_date-editor-11.png b/netbeans.apache.org/src/content/tutorials/images/property-editors_date-editor-11.png
new file mode 100755
index 0000000..a7c471c
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/property-editors_date-editor-11.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module1.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module1.png
new file mode 100755
index 0000000..5eca0e5
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module2.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module2.png
new file mode 100755
index 0000000..ffa557e
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module3.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module3.png
new file mode 100755
index 0000000..824020f
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module4.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module4.png
new file mode 100755
index 0000000..e34332a
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module5.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module5.png
new file mode 100755
index 0000000..835e30c
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module6.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module6.png
new file mode 100755
index 0000000..7be5091
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module7.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module7.png
new file mode 100755
index 0000000..175cfd3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_custom_module7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project1.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project1.png
new file mode 100755
index 0000000..bc97928
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project2.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project2.png
new file mode 100755
index 0000000..cac82b0
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project3.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project3.png
new file mode 100755
index 0000000..1ab333c
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project4.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project4.png
new file mode 100755
index 0000000..a42b2a2
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project5.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project5.png
new file mode 100755
index 0000000..c68e64c
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project6.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project6.png
new file mode 100755
index 0000000..f68db0f
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project7.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project7.png
new file mode 100755
index 0000000..af65be6
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project8.png b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project8.png
new file mode 100755
index 0000000..48d0714
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/runtime-container_new_project8.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api.png
new file mode 100755
index 0000000..abba5c9
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api1.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api1.png
new file mode 100755
index 0000000..841de4a
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api2.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api2.png
new file mode 100755
index 0000000..b22198e
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api3.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api3.png
new file mode 100755
index 0000000..97535fb
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api4.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api4.png
new file mode 100755
index 0000000..2a8a170
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api5.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api5.png
new file mode 100755
index 0000000..abba5c9
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api6.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api6.png
new file mode 100755
index 0000000..e136134
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_api7.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_api7.png
new file mode 100755
index 0000000..49d43b9
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_api7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_editor1.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor1.png
new file mode 100755
index 0000000..6fc0695
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_editor2.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor2.png
new file mode 100755
index 0000000..c3d7740
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_editor3.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor3.png
new file mode 100755
index 0000000..c66eadd
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_editor4.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor4.png
new file mode 100755
index 0000000..947e552
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_editor4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_module_structure.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_module_structure.png
new file mode 100755
index 0000000..453782d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_module_structure.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project1.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project1.png
new file mode 100755
index 0000000..bc97928
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project2.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project2.png
new file mode 100755
index 0000000..8d1f83f
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project3.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project3.png
new file mode 100755
index 0000000..63d99e6
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project4.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project4.png
new file mode 100755
index 0000000..4abc05b
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project5.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project5.png
new file mode 100755
index 0000000..bd6c4db
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project6.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project6.png
new file mode 100755
index 0000000..1611fd0
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project7.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project7.png
new file mode 100755
index 0000000..37b258d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_new-project7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_replace1.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_replace1.png
new file mode 100755
index 0000000..c0e14c1
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_replace1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_replace2.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_replace2.png
new file mode 100755
index 0000000..52678cf
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_replace2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_replace3.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_replace3.png
new file mode 100755
index 0000000..7d9b76f
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_replace3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_result1.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_result1.png
new file mode 100755
index 0000000..c10c7e3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_result1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_result2.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_result2.png
new file mode 100755
index 0000000..c10c7e3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_result2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer1.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer1.png
new file mode 100755
index 0000000..8866a3a
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer2.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer2.png
new file mode 100755
index 0000000..d80d136
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer3.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer3.png
new file mode 100755
index 0000000..a9a9700
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer4.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer4.png
new file mode 100755
index 0000000..7de84e3
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer5.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer5.png
new file mode 100755
index 0000000..dc671d7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer6.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer6.png
new file mode 100755
index 0000000..488e3fc
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer7.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer7.png
new file mode 100755
index 0000000..41e9ef9
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer8.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer8.png
new file mode 100755
index 0000000..8b1587b
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer8.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer9.png b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer9.png
new file mode 100755
index 0000000..b1e5af9
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-1_viewer9.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_explorer1.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_explorer1.png
new file mode 100644
index 0000000..2c69747
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_explorer1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_multiselect1.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_multiselect1.png
new file mode 100644
index 0000000..0d9a383
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_multiselect1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result1.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result1.png
new file mode 100644
index 0000000..18e7e03
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result2.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result2.png
new file mode 100644
index 0000000..d6f7dde
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result2.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result3.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result3.png
new file mode 100644
index 0000000..a1d0afc
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result4.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result4.png
new file mode 100644
index 0000000..d5fb9a7
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result5.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result5.png
new file mode 100644
index 0000000..1cd36bc
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result6.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result6.png
new file mode 100644
index 0000000..3624493
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result6.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/selection-2_result7.png b/netbeans.apache.org/src/content/tutorials/images/selection-2_result7.png
new file mode 100644
index 0000000..6dcb25c
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/selection-2_result7.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/stock-trader-client-nb.pnh.png b/netbeans.apache.org/src/content/tutorials/images/stock-trader-client-nb.pnh.png
new file mode 100644
index 0000000..b3c6a0a
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/stock-trader-client-nb.pnh.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/sudokugame-1.png b/netbeans.apache.org/src/content/tutorials/images/sudokugame-1.png
new file mode 100644
index 0000000..67f2e64
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/sudokugame-1.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/sudokugame-3.png b/netbeans.apache.org/src/content/tutorials/images/sudokugame-3.png
new file mode 100644
index 0000000..0588b14
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/sudokugame-3.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/sudokugame-4.png b/netbeans.apache.org/src/content/tutorials/images/sudokugame-4.png
new file mode 100644
index 0000000..d2312a4
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/sudokugame-4.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/sudokugame-5.png b/netbeans.apache.org/src/content/tutorials/images/sudokugame-5.png
new file mode 100644
index 0000000..655bdb6
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/sudokugame-5.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/images/sudokugame-6_0.png b/netbeans.apache.org/src/content/tutorials/images/sudokugame-6_0.png
new file mode 100644
index 0000000..aa8484d
--- /dev/null
+++ b/netbeans.apache.org/src/content/tutorials/images/sudokugame-6_0.png
Binary files differ
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-code-completion.adoc b/netbeans.apache.org/src/content/tutorials/nbm-code-completion.adoc
index ee029de..a83db36 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-code-completion.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-code-completion.adoc
@@ -252,7 +252,7 @@
//and assign each country display name
//to a CompletionResultSet:
Locale[] locales = Locale.getAvailableLocales();
- for (int i = 0; i < locales.length; i++) {
+ for (int i = 0; i < locales.length; i++) {
final Locale locale = locales[i];
final String country = locale.getDisplayCountry();
if (!country.equals("")) {
@@ -410,7 +410,7 @@
final char[] line = bDoc.getText(lineStartOffset, caretOffset - lineStartOffset).toCharArray();
final int whiteOffset = indexOfWhite(line);
filter = new String(line, whiteOffset + 1, line.length - whiteOffset - 1);
- if (whiteOffset > 0) {
+ if (whiteOffset > 0) {
startOffset = lineStartOffset + whiteOffset + 1;
} else {
startOffset = lineStartOffset;
@@ -423,11 +423,11 @@
//and assign each country display name
//to a CompletionResultSet:
Locale[] locales = Locale.getAvailableLocales();
- for (int i = 0; i < locales.length; i++) {
+ for (int i = 0; i < locales.length; i++) {
final Locale locale = locales[i];
final String country = locale.getDisplayCountry();
//Here we test whether the country starts with the filter defined above:
- if (!country.equals("") && country.startsWith(filter)) {
+ if (!country.equals("") && country.startsWith(filter)) {
//Here we include the start offset, so that we'll be able to figure out
//the number of characters that we'll need to remove:
completionResultSet.addItem(new CountriesCompletionItem(country, startOffset, caretOffset));
@@ -451,7 +451,7 @@
throws BadLocationException {
Element lineElement = doc.getParagraphElement(offset);
int start = lineElement.getStartOffset();
- while (start + 1 < lineElement.getEndOffset()) {
+ while (start + 1 < lineElement.getEndOffset()) {
try {
if (doc.getText(start, 1).charAt(0) != ' ') {
break;
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-copyfqn.adoc b/netbeans.apache.org/src/content/tutorials/nbm-copyfqn.adoc
index 09f2b91..82cb5df 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-copyfqn.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-copyfqn.adoc
@@ -35,11 +35,6 @@
// NOTE: If you are using an earlier version of Apache NetBeans, see link:74/nbm-copyfqn.html[the previous version of this document].
-
-
-
-
-
For troubleshooting purposes, you are welcome to download the link:http://web.archive.org/web/20170409072842/http://java.net/projects/nb-api-samples/show/versions/8.0/tutorials/CopyFQN[completed tutorial source code].
@@ -452,7 +447,7 @@
[source,java,subs="quotes"]
----
-private class MemberVisitor extends TreePathScanner<Void, Void> {
+private class MemberVisitor extends TreePathScanner<Void, Void> {
private CompilationInfo info;
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-crud.adoc b/netbeans.apache.org/src/content/tutorials/nbm-crud.adoc
index dc66f4e..5c09761 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-crud.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-crud.adoc
@@ -422,7 +422,7 @@
EntityManager entityManager = Persistence.createEntityManagerFactory("CustomerLibraryPU").createEntityManager();
Query query = entityManager.createNamedQuery("Customer.findAll");
-List<Customer> resultList = query.getResultList();
+List<Customer> resultList = query.getResultList();
*em.setRootContext(new AbstractNode(Children.create(new CustomerChildFactory(resultList), true)));*
//for (Customer c : resultList) {
// jTextArea1.append(c.getName() + " (" + c.getCity() + ")" + "\n");
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-dukescript.adoc b/netbeans.apache.org/src/content/tutorials/nbm-dukescript.adoc
index e0c7879..975b8e7 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-dukescript.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-dukescript.adoc
@@ -175,8 +175,9 @@
[start=1]
-1. Go to Tools/Plugins, refresh the catalog, select available plugins tab and install *DukeScript Project Wizard*.
-image::images/install.png[] This will require a restart of the IDE.
+1. Go to Tools/Plugins, refresh the catalog, select available plugins tab and install *DukeScript Project Wizard*.
+
+image:images/dukescript_install.png[] This will require a restart of the IDE.
After that, you'll have a handy wizard that helps you create a new project. We'll use it to create our demo project in the next section.
Under the hood this wizard uses Maven to create a project from an Archetype. Alternatively you can also use the Maven Archetypes directly from the command line:
@@ -208,26 +209,30 @@
[start=1]
1. Now create new project (*File | New Project...*). In the New Project Wizard switch to category *DukeScript*. Choose the template *DukeScript Application*:
-image::images/dukescript1.jpg[] Click Next.
+
+image:images/dukescript_dukescript1.jpg[] Click Next.
[start=2]
1. In Step 2 you need to specify the location where to create your project and the Maven coordinates.
-image::images/dukescript2.png[] Click Next.
+
+image:images/dukescript_dukescript2.png[] Click Next.
[start=3]
1. The next wizard steps ask to what platforms you would like to deploy. The options are Android, iOS, Browser and NetBeans Plugin. In addition to that a Desktop Client will automatically created for you. This is the one that is used for testing and debugging. Select "Run as NetBeans Plugin" in this step:
-image::images/wizard_4.png[]
+
+image:images/dukescript_wizard_4.png[]
[start=4]
1. In Step 4 you can choose between the available project templates. Let's go for the simplest one *Knockout 4 Java Maven Archetype*. In this step you can also choose to install some sample code. But for this tutorial we'll start from scratch:
-image::images/wizard_5.png[] Click Finish.
+
+image:images/dukescript_wizard_5.png[] Click Finish.
The Maven archetype will create a parent project, that contains several subprojects. There's always the "General Client Code". This is the project that contains the actual source Java code. Use this to develop, test and debug your project. There's also a separate project for JavaScript Libraries. The code in here makes calls to JavaScript and back, which is sometimes necessary to achieve what you want.
-image::images/subprojects.png[]
+image::images/dukescript_subprojects.png[]
A "project" is a NetBeans IDE compilation/deployment unit. It contains a Maven POM file, which on disk is named "pom.xml". This is a configuration file that contains all information required for compiling and running the project. The project contains all of your sources. The project opens in the IDE. You can view its logical structure in the Projects window (Ctrl+1) and its file structure in the Files window (Ctrl+2).
@@ -527,7 +532,7 @@
1. Now run your application. When it runs enter a valid username in the input field. The ui will display a list of their repositories:
-image::images/repos.png[]
+image::images/dukescript_repos.png[]
[start=5]
1.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-emf.adoc b/netbeans.apache.org/src/content/tutorials/nbm-emf.adoc
index 49b13a4..53d7804 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-emf.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-emf.adoc
@@ -89,7 +89,7 @@
1. Choose File | New Project and choose to create a NetBeans Platform application atop Equinox, via the Equinox template:
-image::http://netbeans.dzone.com/sites/all/files/sudokugame-5.png[]
+image::images/sudokugame-5.png[]
Click Next.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-feedreader.adoc b/netbeans.apache.org/src/content/tutorials/nbm-feedreader.adoc
index 9ce5cd6..772f179 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-feedreader.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-feedreader.adoc
@@ -475,7 +475,7 @@
@Override
public Action[] getActions(boolean bln) {
- List<? extends Action> rootActions = Utilities.actionsForPath("Actions/RootActions");
+ List<? extends Action> rootActions = Utilities.actionsForPath("Actions/RootActions");
return rootActions.toArray(new Action[rootActions.size()]);
}
@@ -523,7 +523,7 @@
@Override
protected Node[] createNodes(Node n) {
FileObject fo = n.getLookup().lookup(FileObject.class);
- if (fo != null && fo.isFolder()) {
+ if (fo != null && fo.isFolder()) {
try {
return new Node[]{new RootNode(n)};
} catch (DataObjectNotFoundException ex) {
@@ -658,7 +658,7 @@
import org.openide.util.Exceptions;
import org.openide.util.NbCollections;
-public class FeedChildFactory extends link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/ChildFactory.html[ChildFactory<SyndEntry>] {
+public class FeedChildFactory extends link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/ChildFactory.html[ChildFactory<SyndEntry>] {
private final SyndFeed feed;
@@ -667,7 +667,7 @@
}
@Override
- protected boolean createKeys(List<SyndEntry> list) {
+ protected boolean createKeys(List<SyndEntry> list) {
list.addAll(link:https://bits.netbeans.org/dev/javadoc/org-openide-util/org/openide/util/NbCollections.html[NbCollections].checkedListByCopy(feed.getEntries(), SyndEntry.class, true));
return true;
}
@@ -728,7 +728,7 @@
private final SyndEntry entry;
public OneEntryNode(SyndEntry entry) throws IntrospectionException {
- super( new BeanNode<SyndEntry>(entry),
+ super( new BeanNode<SyndEntry>(entry),
Children.LEAF,
Lookups.fixed(new EntryOpenCookie(entry)));
this.entry = entry;
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-filetemplates.adoc b/netbeans.apache.org/src/content/tutorials/nbm-filetemplates.adoc
index 414ec40..6ce9abd 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-filetemplates.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-filetemplates.adoc
@@ -316,7 +316,7 @@
1. Go to the Tools menu. Choose Templates. Open the Java | Java Class template in the editor:
-image::http://blogs.oracle.com/geertjan/resource/freemarker-in-nb-2.png[]
+image::images/freemarker-in-nb-2.png[]
[start=2]
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-filetype.adoc b/netbeans.apache.org/src/content/tutorials/nbm-filetype.adoc
index 9d56a42..b872a75 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-filetype.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-filetype.adoc
@@ -122,7 +122,7 @@
image::images/filetype_72_new-filetype-3.png[]
*Note:* You can use any icon of a 16x16 pixel dimension. If you like, you can right-click on this one and save it locally, and then specify it in the wizard step above:
-image::images/filetype_Datasource.gif[]
+image:images/filetype_Datasource.gif[]
[start=4]
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-google.adoc b/netbeans.apache.org/src/content/tutorials/nbm-google.adoc
index ea50225..8480d9b 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-google.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-google.adoc
@@ -39,7 +39,7 @@
The toolbar you create in this tutorial will look as follows:
-image::images/nbm-googlebar/google-result.png[]
+image::images/googlebar_google-result.png[]
The concept is that the user enters some text, presses kbd:Enter, and the IDE's default browser opens and the text in the toolbar is sent to a Google search, with the results available in the open browser.
@@ -57,7 +57,7 @@
[start=1]
1. Choose menu:File[New Project] (kbd:[Ctrl+Shift+N]). Under Categories, expand Java with Ant, and select NetBeans Modules. Under Projects, select Module:
-image::images/nbm-googlebar/new-project-0.png[]
+image::images/googlebar_new-project-0.png[]
The difference between the 4 templates above is as follows:
@@ -75,7 +75,7 @@
It should look similar to this:
-image::images/nbm-googlebar/new-project-1.png[]
+image::images/googlebar_new-project-1.png[]
Click btn:[Next].
@@ -86,14 +86,14 @@
It should look similar to this:
-image::images/nbm-googlebar/new-project-2.png[]
+image::images/googlebar_new-project-2.png[]
Click btn:[Finish].
The IDE creates the ``GoogleToolbar`` project:
-image::images/nbm-googlebar/new-project-3.png[]
+image::images/googlebar_new-project-3.png[]
A "project" is a NetBeans IDE compilation/deployment unit. It contains a Build Script, as shown above, which on disk is named "build.xml" file. This is an Ant script for compiling and running the project. The project contains all of your sources. The project opens in the IDE. You can view its logical structure in the Projects window (Ctrl+1) and its file structure in the Files window (Ctrl+2).
@@ -131,11 +131,11 @@
[start=1]
1. Right-click the GoogleToolbar project node and choose New > Action:
-image::images/nbm-googlebar/new-action-0.png[]
+image::images/googlebar_new-action-0.png[]
If Action is not displayed, access it by choosing Other, then in the New File wizard under Categories, select Module Development and then Action.
-image::images/nbm-googlebar/new-action-1.png[]
+image::images/googlebar_new-action-1.png[]
Click btn:[Next].
@@ -143,7 +143,7 @@
1. In the Action Type panel:
* Keep the default setting, which will let the Action be unconditionally enabled, as shown below.
-image::images/nbm-googlebar/new-action-2.png[]
+image::images/googlebar_new-action-2.png[]
Click btn:[Next].
@@ -153,7 +153,7 @@
* Deselect Global Menu Item because we will not need a menu item.
* Select Global Toolbar Button. In the Toolbar drop-down list, select File, then in the Position drop-down list, select the toolbar button's position within the toolbar as "Save All - HERE" as shown below.
-image::images/nbm-googlebar/new-action-3.png[]
+image::images/googlebar_new-action-3.png[]
Click btn:[Next].
@@ -169,22 +169,22 @@
* 16x16:
-image::images/nbm-googlebar/google.png[]
+image::images/googlebar_google.png[]
* 24x24:
-image::images/nbm-googlebar/google24.png[]
+image::images/googlebar_google24.png[]
However, note that by the end of this tutorial you will not use the icon at all once you have created the toolbar. Instead, you will display the JPanel that you create in the next section.
The Name, Icon, and Location panel of the New Action wizard should now look like this:
-image::images/nbm-googlebar/new-action-4.png[]
+image::images/googlebar_new-action-4.png[]
[start=5]
1. Click btn:[Finish]. The module source structure is now as follows:
-image::images/nbm-googlebar/new-action-5.png[]
+image::images/googlebar_new-action-5.png[]
Additional dependencies have been included in the Libraries section, and additional sources have been added.
@@ -227,11 +227,11 @@
[start=6]
1. In the Projects window, right-click the ``GoogleToolbar`` project node and choose Run. The module is built and installed in a new instance of the IDE (which is currently set to be the target platform). By default, the default target platform is the version of the IDE you are currently working in. The target platform opens so that you can try out the new module. You should be able to see your button and click it:
-image::images/nbm-googlebar/result-1.png[]
+image::images/googlebar_result-1.png[]
Close the target platform instance:
-image::images/nbm-googlebar/result-2.png[]
+image::images/googlebar_result-2.png[]
=== Creating the Toolbar
@@ -241,18 +241,18 @@
[start=1]
1. Right-click the project node and choose New > Other.
-image::images/nbm-googlebar/new-toolbar-0.png[]
+image::images/googlebar_new-toolbar-0.png[]
Under Categories, select Swing GUI Forms. Under File Types, select JPanel Form:
-image::images/nbm-googlebar/new-toolbar-1.png[]
+image::images/googlebar_new-toolbar-1.png[]
Click btn:[Next].
[start=2]
1. In the Name and Location panel, type ``GooglePanel`` as the Class Name and select the package from the drop-down list:
-image::images/nbm-googlebar/new-toolbar-2.png[]
+image::images/googlebar_new-toolbar-2.png[]
Click btn:[Finish].
@@ -262,7 +262,7 @@
[start=3]
1. Place the cursor at the bottom right-hand corner of the JPanel, then select the JPanel and drag the cursor to resize it, so that its width and length resemble that of a toolbar, as shown below:
-image::images/nbm-googlebar/new-toolbar-3.png[]
+image::images/googlebar_new-toolbar-3.png[]
[start=4]
1. Drag a Label (``JLabel``) item and a Text Field (``JTextField``) item from the Palette (Ctrl+Shift+8) directly into the ``JPanel`` , then resize the ``JPanel`` and the other two items so that they fit snugly together. Finally, press F2 on the ``JLabel`` and change its text to ``Google:`` , then delete the default text in the ``JTextField`` .
@@ -271,7 +271,7 @@
Your ``JPanel`` should now resemble the image shown below:
-image::images/nbm-googlebar/new-toolbar-4.png[]
+image::images/googlebar_new-toolbar-4.png[]
You can set other UI properties as required.
@@ -296,7 +296,7 @@
[start=6]
1. Right-click in the Source Editor and choose Fix Imports (Ctrl+Shift+I). The Fix All Imports dialog displays, listing suggested paths for unrecognized classes:
-image::images/nbm-googlebar/new-toolbar-5.png[]
+image::images/googlebar_new-toolbar-5.png[]
Click btn:[OK].
@@ -364,11 +364,11 @@
[start=8]
1. Click near to the relevant `import` statement, and select Search Module Dependency for org.openide.util.actions.Presenter:
-image::images/nbm-googlebar/new-toolbar-6.png[]
+image::images/googlebar_new-toolbar-6.png[]
The matching dependency is shown:
-image::images/nbm-googlebar/new-toolbar-6.png[]
+image::images/googlebar_new-toolbar-7.png[]
Click menu:[OK] to add the library module, which appears in the Project view.
@@ -376,7 +376,7 @@
1. Run the module again. This time, instead of a ``JButton`` , you should see your ``JPanel`` . Type a search string in the text field:
-image::images/nbm-googlebar/result-3.png[]
+image::images/googlebar_result-3.png[]
Press Enter. The IDE's default browser starts up, if you have set one in the Options window. The Google URL and your search string are sent to the browser and a search is performed. When the search results are returned, you can view them in the browser.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-htmleditor.adoc b/netbeans.apache.org/src/content/tutorials/nbm-htmleditor.adoc
index d509b45..83a0789 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-htmleditor.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-htmleditor.adoc
@@ -91,7 +91,7 @@
Right-click the application and choose Run. The application starts and looks as follows:
-image::/tutorials/htmleditor/81/pic3a.png[]
+// never added to former site appears as webdav link in web archive image::images/htmleditor_81_pic3a.png[]
Close the application.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-javacc-lexer.adoc b/netbeans.apache.org/src/content/tutorials/nbm-javacc-lexer.adoc
index b21372c..68390b0 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-javacc-lexer.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-javacc-lexer.adoc
@@ -115,7 +115,7 @@
image::images/javacc_72_code-3.png[]
*Note:* You can use any icon of a 16x16 pixel dimension. If you like, you can right-click on this one and save it locally, and then specify it in the wizard step above:
-image::images/javacc_71_JavaIcon.gif[]
+image:images/javacc_71_JavaIcon.gif[]
[start=4]
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-javacc-parser.adoc b/netbeans.apache.org/src/content/tutorials/nbm-javacc-parser.adoc
index 4ec5f0d..2b3f4c1 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-javacc-parser.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-javacc-parser.adoc
@@ -593,9 +593,9 @@
public void run (Result result, SchedulerEvent event) {
try {
SJParserResult sjResult = (SJParserResult) result;
- List<ParseException> syntaxErrors = sjResult.getJavaParser ().syntaxErrors;
+ List<ParseException> syntaxErrors = sjResult.getJavaParser ().syntaxErrors;
Document document = result.getSnapshot ().getSource ().getDocument (false);
- List<ErrorDescription> errors = new ArrayList<ErrorDescription> ();
+ List<ErrorDescription> errors = new ArrayList<ErrorDescription> ();
for (ParseException syntaxError : syntaxErrors) {
Token token = syntaxError.currentToken;
int start = NbDocument.findLineOffset ((StyledDocument) document, token.beginLine - 1) + token.beginColumn - 1;
@@ -928,14 +928,14 @@
public void initFolds(FoldHierarchyTransaction transaction) {
FoldHierarchy hierarchy = operation.getHierarchy();
Document document = hierarchy.getComponent().getDocument();
- TokenHierarchy<Document> hi = TokenHierarchy.get(document);
- TokenSequence<SJTokenId> ts = (TokenSequence<SJTokenId>) hi.tokenSequence();
+ TokenHierarchy<Document> hi = TokenHierarchy.get(document);
+ TokenSequence<SJTokenId> ts = (TokenSequence<SJTokenId>) hi.tokenSequence();
FoldType type = null;
int start = 0;
int offset = 0;
while (ts.moveNext()) {
offset = ts.offset();
- Token<SJTokenId> token = ts.token();
+ Token<SJTokenId> token = ts.token();
SJTokenId id = token.id();
if (id.name().equals("FORMAL_COMMENT") && type == null) {
type = COMMENT_FOLD_TYPE;
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-javafx.adoc b/netbeans.apache.org/src/content/tutorials/nbm-javafx.adoc
index effe306..15e88cf 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-javafx.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-javafx.adoc
@@ -33,7 +33,7 @@
This tutorial provides step-by-step instructions for integrating JavaFX features into a NetBeans Platform application. Since the NetBeans Platform is typically used as a basis for corporate applications, the JavaFX chart components are ideal candidates for integration into NetBeans Platform applications. JavaFX, as a whole, is focused on bringing special effects to Java. In the context of charts, JavaFX provides a set of predefined charts, each of which can be animated, which is particularly useful to show changes in values presented in a chart.
-image::https://blogs.oracle.com/geertjan_images/resource/stock-trader-client-nb.pnh.png[]
+image::images/stock-trader-client-nb.pnh.png[]
At the end of this tutorial, you will have various JavaFX charts in a NetBeans Platform application, as can be seen above, together with instructions and an API for plugging in additional charts.
@@ -53,19 +53,27 @@
[start=1]
-1. Choose File > New Project (Ctrl+Shift+N). Under Categories, select Samples | JavaFX. Under Projects, select SwingInterop.
-image::images/javafx_72_swinginterop-1.png[] Click Next.
+1. Choose File > New Project (Ctrl+Shift+N). Under Categories, select Samples | JavaFX. Under Projects, select SwingInterop.
+
+image::images/javafx_72_swinginterop-1.png[]
+
+Click Next.
[start=2]
1. In the Name and Location panel, specify where the project should be stored:
-image::images/javafx_72_swinginterop-2.png[] Click Finish.
+
+image::images/javafx_72_swinginterop-2.png[]
+
+Click Finish.
[start=3]
1. Browse through the structure of your new application:
+
image::images/javafx_72_swinginterop-3.png[]
[start=4]
1. Right-click the application and choose Run. You should now see the following:
+
image::images/javafx_72_swinginterop-4.png[]
Change the first value in the 2008 table and press Enter. Notice that the chart is animated while the value changes.
@@ -141,7 +149,10 @@
[start=1]
1. Choose File > New Project (Ctrl+Shift+N). Under Categories, select NetBeans Modules. Under Projects, select NetBeans Platform Application:
-image::images/javafx_72_new-app-1.png[] Click Next.
+
+image::images/javafx_72_new-app-1.png[]
+
+Click Next.
[start=2]
1. In the Name and Location panel:
@@ -175,14 +186,14 @@
[start=1]
1. Right-click the Modules node and choose Add New. The module we're creating is going to contain the core functionality of the application. Ultimately, there'll be many modules that will be optional, such as a range of charting windows, while this module will always remain essential to the application. Hence, we will name this module ``Core`` :
-image::images/javafx_72_new-module-2.png[]
+image:images/javafx_72_new-module-2.png[]
Click Next.
[start=2]
1. We imagine that we own a URL ``stocktrader.org`` , which means that that URL is unique. Turning the URL around, we arrive at the prefix of the code base for all our functionality modules. Next, in this particular case, we add ``core`` , since that is the name of our module and so we have ``org.stocktrader.core`` as the unique identifier of our module:
-image::images/javafx_72_new-module-3.png[]
+image:images/javafx_72_new-module-3.png[]
Click Finish. We now have a new module in our application, named ``Core`` .
@@ -194,6 +205,7 @@
[start=1]
1. Right-click the ``org.stocktrader.core`` package and choose New | Other. In the Module Development category, choose Window:
+
image::images/javafx_72_new-window-1.png[]
Click Next.
@@ -201,6 +213,7 @@
[start=2]
1. In the Window Position drop-down, choose "editor". Select "Open on Application Start":
+
image::images/javafx_72_new-window-2.png[]
Click Next.
@@ -208,6 +221,7 @@
[start=3]
1. Type "Core" as class name prefix:
+
image::images/javafx_72_new-window-3.png[]
Click Finish. We now have a new window in our application, named ``CoreTopComponent`` , together with libraries that are the dependencies required by ``CoreTopComponent`` .
@@ -248,6 +262,7 @@
[start=6]
1. Right-click the application, choose Run, and the application starts up, showing the JavaFX chart, together with the ``JTable`` that controls it:
+
image::images/javafx_72_result-1.png[]
Change the first value in the 2008 table and press Enter. Notice that the chart is animated while the value changes.
@@ -385,6 +400,7 @@
[start=5]
1. Right-click the application, choose Run, and the application starts up, showing the JavaFX chart, together with the ``JTable`` that controls it. This time, however, the table and the chart are in separate windows, though they're able to interact because they share a common table model:
+
image::images/javafx_72_result-2.png[]
Change a value in the table and press Enter. Notice that the chart is animated while the value changes.
@@ -459,6 +475,7 @@
[start=5]
1. Run the application and notice that you now have a pie chart and that, when you make changes to the table, the pie chart animates together with the bar chart:
+
image::images/javafx_72_result-4.png[]
@@ -503,6 +520,7 @@
[start=3]
1. Run the application and notice that you now have three charts that, when you make changes to the table, all change simultaneously:
+
image::images/javafx_72_result-5.png[]
The tutorial is complete. You have created a modular application on the NetBeans Platform, while making use of JavaFX chart technology.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-mark-occurrences.adoc b/netbeans.apache.org/src/content/tutorials/nbm-mark-occurrences.adoc
index 1ea738d..4dc26d5 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-mark-occurrences.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-mark-occurrences.adoc
@@ -214,7 +214,7 @@
private final OffsetsBag bag;
private JTextComponent comp;
- private final WeakReference<Document> weakDoc;
+ private final WeakReference<Document> weakDoc;
private final RequestProcessor rp;
private final static int REFRESH_DELAY = 100;
@@ -223,12 +223,13 @@
public MarkHTMLOccurrencesHighlighter(Document doc) {
rp = new RequestProcessor(MarkHTMLOccurrencesHighlighter.class);
bag = new OffsetsBag(doc);
- weakDoc = new WeakReference<Document>((Document) doc);
+ weakDoc = new WeakReference<Document>((Document) doc);
+
DataObject dobj = NbEditorUtilities.getDataObject(weakDoc.get());
if (dobj != null) {
EditorCookie pane = dobj.getLookup().lookup(EditorCookie.class);
JEditorPane[] panes = pane.getOpenedPanes();
- if (panes != null && panes.length > 0) {
+ if (panes != null && panes.length > 0) {
comp = panes[0];
comp.addCaretListener(this);
}
@@ -280,7 +281,7 @@
[start=2]
1. The module is built and installed in a new instance of the IDE. Open an HTML file or an XML file, double-click on a word, and notice that all matching words are automatically highlighted:
-image::images/mark-occs_72_result-3.png[]
+image:images/mark-occs_72_result-3.png[]
[start=3]
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-maven-crud.adoc b/netbeans.apache.org/src/content/tutorials/nbm-maven-crud.adoc
index 7aa7f07..4cc234f 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-maven-crud.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-maven-crud.adoc
@@ -101,14 +101,10 @@
The project structure above is explained here:
-*
-image::images/maven-crud_72_Maven2Icon.gif[] *NetBeans Platform Application.* This project is a Maven reactor project for the NetBeans Platform application, which lists the modules to include and the location of the project's repositories. This project does not contain any sources. The IDE generates the modules containing the sources and resources in sub-directories of this project.
-*
-image::images/maven-crud_72_suiteicon.png[] *NetBeans Platform based application.* The NetBeans Platform application project enumerates included modules; permits interactive runs; produces various kinds of packaging, such as ZIP by default, but optionally JNLP, NBMs; holds functional tests. Each module project specifies its own compile dependencies, while the app project's dependencies are anything additional that should be present at runtime. For example, that includes, by default, the whole platform cluster, that is, the set of modules constituting the "platform" cluster. The app project could include other clusters, or subsets of clusters, or whatever plugins you want included in your app which are not used as compilation dependencies. At a minimum, core.startup and its transitive dependencies are included.
-*
-image::images/maven-crud_72_nbmicon.png[] *Platform application branding resources.* This project contains the global resources used for branding the application, such as the splash screen.
-*
-image::images/maven-crud_72_nbmicon.png[] *sample NetBeans Module.* The project that contains the source code for accessing the database and displaying it in a window.
+* image:images/maven-crud_72_Maven2Icon.gif[] *NetBeans Platform Application.* This project is a Maven reactor project for the NetBeans Platform application, which lists the modules to include and the location of the project's repositories. This project does not contain any sources. The IDE generates the modules containing the sources and resources in sub-directories of this project.
+* image:images/maven-crud_72_suiteicon.png[] *NetBeans Platform based application.* The NetBeans Platform application project enumerates included modules; permits interactive runs; produces various kinds of packaging, such as ZIP by default, but optionally JNLP, NBMs; holds functional tests. Each module project specifies its own compile dependencies, while the app project's dependencies are anything additional that should be present at runtime. For example, that includes, by default, the whole platform cluster, that is, the set of modules constituting the "platform" cluster. The app project could include other clusters, or subsets of clusters, or whatever plugins you want included in your app which are not used as compilation dependencies. At a minimum, core.startup and its transitive dependencies are included.
+* image:images/maven-crud_72_nbmicon.png[] *Platform application branding resources.* This project contains the global resources used for branding the application, such as the splash screen.
+* image:images/maven-crud_72_nbmicon.png[] *sample NetBeans Module.* The project that contains the source code for accessing the database and displaying it in a window.
[start=5]
1.
@@ -122,7 +118,7 @@
[start=6]
1. Right-click the NetBeans Platform based application (
-image::images/maven-crud_72_suiteicon.png[]) and choose Run. The application starts up and should show the following:
+image:images/maven-crud_72_suiteicon.png[]) and choose Run. The application starts up and should show the following:
image::images/maven-crud_72_sample-6.png[title="screenshot"]
@@ -183,14 +179,10 @@
The above project structure is explained here:
-*
-image::images/maven-crud_72_Maven2Icon.gif[] *app.* This project is a Maven reactor project for the NetBeans Platform application, which lists the modules to include and the location of the project's repositories. This project does not contain any sources. The IDE generates the modules containing the sources and resources in sub-directories of this project.
-*
-image::images/maven-crud_72_nbmicon.png[] *branding.* This project contains the global resources used for branding the application, such as the splash screen.
-*
-image::images/maven-crud_72_nbmicon.png[] *dbaccess.* The project that will contain the Java sources you will create in the next section.
-*
-image::images/maven-crud_72_suiteicon.png[] *parent.* The NetBeans Platform application project enumerates included modules; permits interactive runs; produces various kinds of packaging, such as ZIP by default, but optionally JNLP, NBMs; holds functional tests. Each module project specifies its own compile dependencies, while the app project's dependencies are anything additional that should be present at runtime. For example, that includes, by default, the whole platform cluster, that is, the set of modules constituting the "platform" cluster. The app project could include other clusters, or subsets of clusters, or whatever plugins you want included in your app which are not used as compilation dependencies. At a minimum, core.startup and its transitive dependencies are included.
+* image:images/maven-crud_72_Maven2Icon.gif[] *app.* This project is a Maven reactor project for the NetBeans Platform application, which lists the modules to include and the location of the project's repositories. This project does not contain any sources. The IDE generates the modules containing the sources and resources in sub-directories of this project.
+* image:images/maven-crud_72_nbmicon.png[] *branding.* This project contains the global resources used for branding the application, such as the splash screen.
+* image:images/maven-crud_72_nbmicon.png[] *dbaccess.* The project that will contain the Java sources you will create in the next section.
+* image:images/maven-crud_72_suiteicon.png[] *parent.* The NetBeans Platform application project enumerates included modules; permits interactive runs; produces various kinds of packaging, such as ZIP by default, but optionally JNLP, NBMs; holds functional tests. Each module project specifies its own compile dependencies, while the app project's dependencies are anything additional that should be present at runtime. For example, that includes, by default, the whole platform cluster, that is, the set of modules constituting the "platform" cluster. The app project could include other clusters, or subsets of clusters, or whatever plugins you want included in your app which are not used as compilation dependencies. At a minimum, core.startup and its transitive dependencies are included.
[start=5]
1.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-maven-modulesingle.adoc b/netbeans.apache.org/src/content/tutorials/nbm-maven-modulesingle.adoc
index 6dc737f..aabb2d5 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-maven-modulesingle.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-maven-modulesingle.adoc
@@ -173,8 +173,7 @@
[start=3]
1. Type *Abc* as the Class Name Prefix. Click Browse and select a 16x16 pixel image file as the new file type's icon.
-If you don't have an image available, just save this image `` link:images/maven-crud_abc16.png[abc16.png]`` (
-image::images/maven-crud_abc16.png[title="16x16"] ) to your system and select the image after clicking Browse.
+If you don't have an image available, just save this image `` link:images/maven-crud_abc16.png[abc16.png]`` (image:images/maven-crud_abc16.png[title="16x16"]) to your system and select the image after clicking Browse.
image::images/maven-single_71_pic6.png[title="Module wizard 1"]
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-maven-quickstart.adoc b/netbeans.apache.org/src/content/tutorials/nbm-maven-quickstart.adoc
index 373e63b..ad3f8ef 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-maven-quickstart.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-maven-quickstart.adoc
@@ -133,7 +133,7 @@
[start=2]
1. In the Basic tab, modify the Application Title to *My Maven Platform Word App*.
-image::images/maven-quickstart_72_brand-1.png[title="Screenshot of New Project wizard"]
+image:images/maven-quickstart_72_brand-1.png[title="Screenshot of New Project wizard"]
[start=3]
1. Click the Splash Screen tab and click the Browse button next to the default splash screen image to locate a different image. Click OK.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-nodesapi2.adoc b/netbeans.apache.org/src/content/tutorials/nbm-nodesapi2.adoc
index 9f2b006..0c68e27 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-nodesapi2.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-nodesapi2.adoc
@@ -163,7 +163,7 @@
[start=2]
1. Run the Event Manager again and you should see the following:
-image::images/nbm-nodesapi2/html-display-1.png[]
+image::images/nodesapi2_html-display-1.png[]
NOTE: There are two reasons for `getDisplayName()` and `getHtmlDisplayName()` being separate methods. First, it is an optimization; second, as you will see later, it makes it possible to compose HTML strings together, without needing to strip `<html>` marker tags.
@@ -191,7 +191,7 @@
[start=2]
1. Run the Event Manager again and now you should see the following:
-image::images/nbm-nodesapi2/html-display-2.png[]
+image::images/nodesapi2_html-display-2.png[]
One minor thing we can do to improve appearance here: we are currently using hard-coded colors in your HTML. Yet the NetBeans Platform can run under various look and feels, and there's no guarantee that your hard-coded color will not be the same as or very close to the background color of the tree or other UI component your Node appears in.
@@ -219,7 +219,7 @@
[start=2]
1. Run the Event Manager again and now you should see the following:
-image::images/nbm-nodesapi2/html-display-3.png[]
+image::images/nodesapi2_html-display-3.png[]
NOTE: You got rid of the blue color and switched to plain old black. Using the value of `UIManager.getColor("textText")` guarantees us text that will always be readable under any look and feel, which is valuable; also, color should be used sparingly in user interfaces, to avoid the link:http://www.catb.org/jargon/html/A/angry-fruit-salad.html[angry fruit salad] effect. If you really want to use wilder colors in your UI, the best bet is to either find a UIManager key/value pair that consistently gets what you want, or create a xref:../wiki/DevFaqModulesGeneral.adoc[ModuleInstall] class and link:https://github.com/apache/netbeans/blob/master/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/util/RelativeColor.java[ _derive the color_] _from a color you can get from UIManager_, or if you are sure you know the color theme of the look and feel, hard-code it on a per-look and feel basis (``if ("aqua".equals(UIManager.getLookAndFeel().getID())...``).
@@ -230,7 +230,7 @@
Providing an icon is quite simple—you just load an image and set it. You will need to have a GIF or PNG file to use. If you do not have one easily available, here is one you can use:
-image::images/nbm-nodesapi2/icon.png[]
+image::images/nodesapi2_icon.png[]
[start=1]
@@ -238,11 +238,11 @@
In the Projects view, it should look like this:
-image::images/nbm-nodesapi2/icon-in-project.png[]
+image::images/nodesapi2_icon-in-project.png[]
In the Files view, it should look like this:
-image::images/nbm-nodesapi2/icon-in-files.png[]
+image::images/nodesapi2_icon-in-files.png[]
[start=2]
1. Add the following method to the `EventNode` class:
@@ -263,7 +263,7 @@
[start=3]
1. If you run the code now, you will notice that the icon is used for some nodes but not others!
-image::images/nbm-nodesapi2/icon-display-1.png[]
+image::images/nodesapi2_icon-display-1.png[]
The reason for this is that it is common to use a different icon for an unexpanded versus an expanded `Node`. All you need to do to fix this is to override another method. Add the following additional method to the `EventNode` class:
@@ -278,7 +278,7 @@
Now if you run the Event Manager, all of the Nodes will have the correct icon, as shown below:
-image::images/nbm-nodesapi2/icon-display-2.png[]
+image::images/nodesapi2_icon-display-2.png[]
== Actions and Nodes
@@ -341,11 +341,11 @@
[start=3]
1. Run the EventManager again and notice that when you right-click on a node, a menu item is shown:
-image::images/nbm-nodesapi2/action-display-1.png[]
+image::images/nodesapi2_action-display-1.png[]
When you select the menu item, the action is invoked:
-image::images/nbm-nodesapi2/action-display-2.png[]
+image::images/nodesapi2_action-display-2.png[]
== Presenters
@@ -384,7 +384,7 @@
[start=3]
1. Run the Event Manager again and notice that you now have the following:
-image::images/nbm-nodesapi2/action-display-3.png[]
+image::images/nodesapi2_action-display-3.png[]
The result is not too exciting - you now have a submenu called "Submenu" with two identical menu items which work as before. However you should get the idea of what is possible here: if you want to return a `JCheckBoxMenuItem` or some other kind of menu item, it is possible to do that.
@@ -437,7 +437,7 @@
[start=3]
1. Move the selection between different nodes, and notice the property sheet updating, just as your `MyViewer` component does, as shown below:
-image::images/nbm-nodesapi2/prop-display-1.png[]
+image::images/nodesapi2_prop-display-1.png[]
The above code makes use of a very convenient class: `PropertySupport.Reflection`, which may simply be passed an object, a type, and getter and setter method names, and it will create a Property object that can read (and optionally write) that property of the object in question. So you use `PropertySupport.Reflection` as a simple way to wire one `Property` object up to the `getIndex()` method of `Event`.
@@ -482,7 +482,7 @@
[start=6]
1. Build and run the application. You should now see the date displayed:
-image::images/nbm-nodesapi2/prop-display-2.png[]
+image::images/nodesapi2_prop-display-2.png[]
== Read-Write Properties
@@ -546,7 +546,7 @@
[start=6]
1. Build and run the EventManager, and notice that you can now select an instance of `EventNode` in `MyEditor` and actually edit the date value, as shown below:
-image::images/nbm-nodesapi2/prop-display-3.png[]
+image::images/nodesapi2_prop-display-3.png[]
However, there is still one bug in this code: when you change the Date property, you should also update the display name of your node. So you will make one more change to `EventNode` and have it listen for property changes on `Event`.
@@ -591,7 +591,7 @@
[start=11]
1. Build and Run again, select a `EventNode` in the `MyEditor` window and change its `Date` property. Notice that the display name of the `Node` is now updated correctly, as shown below, where the day number is set to 25 and is now reflected both on the node and in the property sheet:
-image::images/nbm-nodesapi2/prop-display-4.png[]
+image::images/nodesapi2_prop-display-4.png[]
== Grouping Property Sets
@@ -645,7 +645,7 @@
[start=3]
1. Run the Event Manager again, and notice that there are now buttons at the top of the property sheet, and there is one property under each, as seen here:
-image::images/nbm-nodesapi2/prop-display-5.png[]
+image::images/nodesapi2_prop-display-5.png[]
== General Property Sheet Caveats
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-nodesapi3.adoc b/netbeans.apache.org/src/content/tutorials/nbm-nodesapi3.adoc
index bbc6812..2181431 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-nodesapi3.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-nodesapi3.adoc
@@ -243,7 +243,7 @@
protected void link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/Children.html#addNotify%28%29[addNotify()] {
super.addNotify();
Category[] objs = new Category[Categories.length];
- for (int i = 0; i < objs.length; i++) {
+ for (int i = 0; i < objs.length; i++) {
Category cat = new Category();
cat.setName(Categories[i]);
objs[i] = cat;
@@ -285,11 +285,11 @@
DnDConstants.ACTION_COPY_OR_MOVE+NodeTransfer.CLIPBOARD_CUT );
if( null != dropNode ) {
final Movie movie = (Movie)dropNode.getLookup().lookup( Movie.class );
- if( null != movie && !this.equals( dropNode.getParentNode() )) {
+ if( null != movie && !this.equals( dropNode.getParentNode() )) {
return new PasteType() {
public Transferable paste() throws IOException {
getChildren().add( new Node[] { new MovieNode(movie) } );
- if( (action & DnDConstants.ACTION_MOVE) != 0 ) {
+ if( (action & DnDConstants.ACTION_MOVE) != 0 ) {
dropNode.getParentNode().getChildren().remove( new Node[] {dropNode} );
}
return null;
@@ -415,9 +415,9 @@
this.category = Category;
}
- protected java.util.List<Node> link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/Index.ArrayChildren.html#initCollection()[initCollection()] {
+ protected java.util.List<Node> link:https://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/Index.ArrayChildren.html#initCollection()[initCollection()] {
ArrayList childrenNodes = new ArrayList( items.length );
- for( int i=0; i < items.length; i++ ) {
+ for( int i=0; i < items.length; i++ ) {
if( category.getName().equals( items[i][1] ) ) {
Movie item = new Movie();
item.setNumber(new Integer(items[i][0]));
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-osgi-quickstart.adoc b/netbeans.apache.org/src/content/tutorials/nbm-osgi-quickstart.adoc
index eddef93..da038b7 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-osgi-quickstart.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-osgi-quickstart.adoc
@@ -35,7 +35,7 @@
The focus of the tutorial is a "hello world" scenario based on the link:http://www.aqute.biz/Code/Download#sudoku[Sudoku Game by Peter Kriens]. You import the OSGi bundles constituting the Sudoku Game, together with the related required Equinox bundles. When the application is deployed, the following application is available in the web browser:
-image::http://netbeans.dzone.com/sites/all/files/sudokugame-4.png[]
+image::images/sudokugame-4.png[]
Once you have gone through this simple scenario, more useful scenarios are listed in the Further Reading section at the end of this tutorial.
@@ -82,7 +82,7 @@
1. Choose File | New Project and choose to create a NetBeans Platform application atop Equinox, via the Equinox template:
-image::http://netbeans.dzone.com/sites/all/files/sudokugame-5.png[]
+image::images/sudokugame-5.png[]
Click Next.
@@ -91,7 +91,7 @@
1. Specify a name for the application, as shown below.
-image::http://netbeans.dzone.com/sites/all/files/sudokugame-3.png[]
+image::images/sudokugame-3.png[]
Click Finish.
@@ -109,7 +109,7 @@
1. Right-click the application in the Projects window, choose Properties, go to the Libraries tab, click "Add Cluster" and then browse to the folder where the above JARs are found. Then a wizard opens that lets you convert the JARs to a 'cluster', i.e., a set of related modules/bundles that will be incorporated into your application:
-image::http://netbeans.dzone.com/sites/all/files/sudokugame-1.png[]
+image::images/sudokugame-1.png[]
[start=2]
@@ -172,7 +172,7 @@
1. Run the application! All the OSGi bundles and NetBeans modules in your application will be deployed. The application for viewing the deployed OSGi bundles and NetBeans modules is deployed too, giving you a desktop application to monitor what is currently deployed, which is quite handy:
-image::http://netbeans.dzone.com/sites/all/files/sudokugame-6_0.png[]
+image::images/sudokugame-6_0.png[]
Alternatively, delete the whole module that provides the window above. Then remove all the modules that are required by the above window, i.e., remove the window system, actions system, and everything else... except for the few JARs required by the OSGi integration: bootstrap, startup, filesystems, module system, utilities, and lookup.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-povray-3.adoc b/netbeans.apache.org/src/content/tutorials/nbm-povray-3.adoc
index 860cf88..448f3b7 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-povray-3.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-povray-3.adoc
@@ -671,7 +671,7 @@
[.feature]
--
imageone
-image::images/povray_scenes.gif[role="left", link="images/povray_scenes.gif"]
+image:images/povray_scenes.gif[role="left", link="images/povray_scenes.gif"]
--
. Create a new java package "resources" underneath `org.netbeans.examples.modules.povproject`, and copy or save the image file there, modifying the file name in the source code if necesary.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-povray-8.adoc b/netbeans.apache.org/src/content/tutorials/nbm-povray-8.adoc
index 2c50030..dba43d5 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-povray-8.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-povray-8.adoc
@@ -645,11 +645,11 @@
1. Create the necessary image files in the `org.netbeans.examples.modules.povfile` package—here are the ones used in the tutorial:
* *hasImageBadge.png*
-image::images/povray_hasImageBadge.png[]
+image:images/povray_hasImageBadge.png[]
* *hasNoImageBadge.png*
-image::images/povray_hasNoImageBadge.png[]
+image:images/povray_hasNoImageBadge.png[]
* *needsRenderBadge.png*
-image::images/povray_needsRenderBadge.png[]
+image:images/povray_needsRenderBadge.png[]
[start=6]
1.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-projectextension.adoc b/netbeans.apache.org/src/content/tutorials/nbm-projectextension.adoc
index 6576e2d..f33a8dd 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-projectextension.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-projectextension.adoc
@@ -318,7 +318,7 @@
[start=3]
1. Right-click this icon and save it in the main package of your module:
-image::images/projectextensions_webPagesBadge.gif[]
+image:images/projectextensions_webPagesBadge.gif[]
Run the module and you will notice that web applications have your newly defined node, exposing the project's "nbproject" folder:
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-projecttype.adoc b/netbeans.apache.org/src/content/tutorials/nbm-projecttype.adoc
index b92a42e..bdbbbf3 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-projecttype.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-projecttype.adoc
@@ -572,13 +572,13 @@
public class TextsNodeFactory implements link:https://bits.netbeans.org/dev/javadoc/org-netbeans-modules-projectuiapi/org/netbeans/spi/project/ui/support/NodeFactory.html[NodeFactory] {
@Override
- public NodeList<?> createNodes(Project project) {
+ public NodeList<?> createNodes(Project project) {
CustomerProject p = project.getLookup().lookup(CustomerProject.class);
assert p != null;
return new TextsNodeList(p);
}
- private class TextsNodeList implements NodeList<Node> {
+ private class TextsNodeList implements NodeList<Node> {
CustomerProject project;
@@ -587,10 +587,10 @@
}
@Override
- public List<Node> keys() {
+ public List<Node> keys() {
FileObject textsFolder =
project.getProjectDirectory().getFileObject("texts");
- List<Node> result = new ArrayList<Node>();
+ List<Node> result = new ArrayList<Node>();
if (textsFolder != null) {
for (FileObject textsFolderFile : textsFolder.getChildren()) {
try {
@@ -879,7 +879,7 @@
}
@Override
- public Set<? extends Project> getSubprojects() {
+ public Set<? extends Project> getSubprojects() {
return loadProjects(project.getProjectDirectory());
}
@@ -951,24 +951,24 @@
public static final String SUB_ICON = "org/customer/project/sub/icon.png";
@Override
- public NodeList<?> createNodes(Project project) {
+ public NodeList<?> createNodes(Project project) {
ReportsSubprojectProvider rsp = project.getLookup().
lookup(ReportsSubprojectProvider.class);
assert rsp != null;
return new ReportsNodeList(rsp.getSubprojects());
}
- private class ReportsNodeList implements NodeList<Project> {
+ private class ReportsNodeList implements NodeList<Project> {
- Set<? extends Project> subprojects;
+ Set<? extends Project> subprojects;
- public ReportsNodeList(Set<? extends Project> subprojects) {
+ public ReportsNodeList(Set<? extends Project> subprojects) {
this.subprojects = subprojects;
}
@Override
- public List<Project> keys() {
- List<Project> result = new ArrayList<Project>();
+ public List<Project> keys() {
+ List<Project> result = new ArrayList<Project>();
for (Project oneReportSubProject : subprojects) {
result.add(oneReportSubProject);
}
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-projecttypeant.adoc b/netbeans.apache.org/src/content/tutorials/nbm-projecttypeant.adoc
index 6840f19..ef6d7a2 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-projecttypeant.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-projecttypeant.adoc
@@ -41,7 +41,7 @@
You will also make use of this icon, which you can right-click here and download:
-image::images/projecttypes_icon1.png[]
+image:images/projecttypes_icon1.png[]
Optionally, for troubleshooting purposes, you can link:http://kenai.com/projects/nb-antprojectsample[download the completed sample] and inspect the sources.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-propertyeditors-integration.adoc b/netbeans.apache.org/src/content/tutorials/nbm-propertyeditors-integration.adoc
index 88e7d99..aebf683 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-propertyeditors-integration.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-propertyeditors-integration.adoc
@@ -37,18 +37,19 @@
The Java Beans specification defines how components should interact with an integrated development environment (IDE), and various classes that both an IDE and a component vendor will use to communicate with the IDE and vice-versa. The fundamental problem with the beans specification is that, when it was created and cast in stone, _there were no Java IDEs_. The specification tends to be in some cases naively defined (BeanInfo), and in other cases woefully underspecified (PropertyEditor) with respect to what an IDE or a component will actually need to provide a good user experience.
-It is possible to create generic property editors that will integrate with an IDE without depending on that IDE — and where this makes sense, it is encouraged to do that. However, there are many cases where that is not sufficient. For example, the specification for `java.beans.PropertyEditor` simply allows a property editor to return a `java.awt.Component` to provide a custom editor dialog. In practice, that component will be shown to the user in a dialog - and if it is possible for the user to provide invalid input, good UI design dictates that the OK button for that dialog should be disabled when the input is not usable. But there is no communication path for a component to tell an IDE about such a situation. Similarly, a property editor that lets the user supply an image needs to allow the user to choose a file on disk to use. If the image is not on the classpath of the project, it needs to be copied into some directory where it can be found at runtime — but there is no way for an IDE to communicate to a third party property editor anything about files or directories or classpaths.
+It is possible to create generic property editors that will integrate with an IDE without depending on that IDE -- and where this makes sense, it is encouraged to do that. However, there are many cases where that is not sufficient. For example, the specification for `java.beans.PropertyEditor` simply allows a property editor to return a `java.awt.Component` to provide a custom editor dialog. In practice, that component will be shown to the user in a dialog - and if it is possible for the user to provide invalid input, good UI design dictates that the OK button for that dialog should be disabled when the input is not usable. But there is no communication path for a component to tell an IDE about such a situation. Similarly, a property editor that lets the user supply an image needs to allow the user to choose a file on disk to use. If the image is not on the classpath of the project, it needs to be copied into some directory where it can be found at runtime -- but there is no way for an IDE to communicate to a third party property editor anything about files or directories or classpaths.
For these cases, NetBeans provides APIs that fill some of the gaps in the beans spec. NetBeans also provides sophisticated user interface controls that can save time and create a better user experience if used.
image::images/property-editors_borderCustomEditor.png[]
+
_ NetBeans' custom editor for Borders uses NetBeans'
Nodes and Explorer API to provide the list of available
borders in an embedded property sheet. _
-== [[Step 1: Creating Some Beans]]
+== Step 1: Creating Some Beans
The first step in packaging up some components is creating some components, so we will start by creating a simple Java project.
@@ -63,7 +64,7 @@
1. Add the following code to it (it will use a class that does not exist yet, so don't worry about warnings for `ColorValue`):
-=== [[Listing 1: Bean1.java]]
+=== Listing 1: Bean1.java
[source,java]
@@ -119,7 +120,7 @@
1. Populate it as shown in <<listing2,Listing 2>>.
-=== [[Listing 2: ColorValue]]
+=== Listing 2: ColorValue
[source,java]
@@ -228,7 +229,7 @@
----
-== [[Creating the Plug-In]]
+== Creating the Plug-In
Now we need to create a NetBeans plug-in (module) which will do three things:
@@ -258,12 +259,12 @@
1. On the third page of the wizard, enter `org.netbeans.demo.form.beanlib` for the *Code Name Base*, and `Bean Library Module` for the display name. Check the *Generate XML Layer* checkbox and click *Finish*.
-== [[Setting The Module To Require an IDE Restart]]
+== Setting The Module To Require an IDE Restart
-Modules which install Java libraries — particuarly ones which add components to the component palette should always require a restart of the IDE. There are two reasons for this:
+Modules which install Java libraries -- particuarly ones which add components to the component palette should always require a restart of the IDE. There are two reasons for this:
-* _MS Windows File Locking_—The IDE can reload a module without restarting. However, on the Windows platform, if something is using a JAR file, it will be locked at the operating system level, so updating the module may fail with an exception if the old JAR file cannot be overwritten with the new one.
-* _Form Editor Reloading_—If the user has a form open, which is using a component from the JAR file, the component will not be replaced with one from the new JAR file (this could be very complicated if the file is modified but not saved). For the updated component to be used, we need to be sure both that the form is reloaded, and also that any cached class data from the JAR is discarded.
+* _MS Windows File Locking_-- The IDE can reload a module without restarting. However, on the Windows platform, if something is using a JAR file, it will be locked at the operating system level, so updating the module may fail with an exception if the old JAR file cannot be overwritten with the new one.
+* _Form Editor Reloading_ -- If the user has a form open, which is using a component from the JAR file, the component will not be replaced with one from the new JAR file (this could be very complicated if the file is modified but not saved). For the updated component to be used, we need to be sure both that the form is reloaded, and also that any cached class data from the JAR is discarded.
Causing a module to request that the IDE restart itself before it is installed is as simple as checking a checkbox:
@@ -275,13 +276,13 @@
1. When the *Project Properties* dialog appears, click the *Build > Packaging* item in the category list to show the Packaging page of the dialog; check the *Needs Restart on Install* checkbox and click *OK* to save this setting.
-== [[Modifying the Plug-In's Build Script]]
+== Modifying the Plug-In's Build Script
We now have a plug-in. However, we will want it to bundle the `Bean` project. So before going further, it would be useful to do the following:
[start=1]
-1. Modify the module's build script to recompile the Bean project — this way, the module will always contain the latest version of the project
+1. Modify the module's build script to recompile the Bean project -- this way, the module will always contain the latest version of the project
[start=2]
1. Modify the build script to copy the Bean project into the place it needs to be to bundle `Bean.jar` into our module.
@@ -296,7 +297,7 @@
1. Add the code found in xref:nbm-propertyeditors-integration.adoc#listing3[Listing 3] to the build script, below the line `<import file="nbproject/build-impl.xml"/>`.
[[listing3]]
-=== [[Listing 3: Module Build Script Changes]]
+===Listing 3: Module Build Script Changes
[source,xml]
@@ -316,7 +317,7 @@
</target>
----
-Most of the targets in the `build.xml` for a module project are in other files — specifically, in `nbproject/build-impl.xml` and in `$HARNESS/build.xml` and `$HARNESS/common.xml` (`$HARNESS` is a directory under the copy of NetBeans you are building against, which may or may not be your IDE). To find out what file a target you are calling or overriding is in, find the `build.xml` in the *Files* tab in the IDE. Expand its node and you will see all of the targets (even ones in other files). Right click the target you are wondering about and choose *Open* to open the file which contains that target in the IDE. The path on disk to the file will be shown in the tooltip of its tab in the editor.
+Most of the targets in the `build.xml` for a module project are in other files -- specifically, in `nbproject/build-impl.xml` and in `$HARNESS/build.xml` and `$HARNESS/common.xml` (`$HARNESS` is a directory under the copy of NetBeans you are building against, which may or may not be your IDE). To find out what file a target you are calling or overriding is in, find the `build.xml` in the *Files* tab in the IDE. Expand its node and you will see all of the targets (even ones in other files). Right click the target you are wondering about and choose *Open* to open the file which contains that target in the IDE. The path on disk to the file will be shown in the tooltip of its tab in the editor.
This code will build the `Bean` project, and copy the resulting JAR file to `BeanLibraryModule/release/libs`. The build script will bundle anything under the `release` subdir of a module into the NBM file you will deliver to your users (for example, via an update server found via *Tools > Plugins*).
@@ -325,17 +326,17 @@
== Adding Bean.jar to Tools > Libraries
-Now we need to add some metadata to our module — no code yet — to make `Bean.jar` appear in the list of libraries for users who have installed our module. This involves two steps:
+Now we need to add some metadata to our module -- no code yet -- to make `Bean.jar` appear in the list of libraries for users who have installed our module. This involves two steps:
[start=1]
-1. Open the module's _layer file_ — you can find it under the *Important Files* node below the module project's node in the *Projects* tab (if you don't see it, you did not check the *Generate XML Layer* button when you created the module project). This file provides declarative metadata to NetBeans at runtime. One of the things it can do is tell NetBeans about a library a module is installing.
+1. Open the module's _layer file_ -- you can find it under the *Important Files* node below the module project's node in the *Projects* tab (if you don't see it, you did not check the *Generate XML Layer* button when you created the module project). This file provides declarative metadata to NetBeans at runtime. One of the things it can do is tell NetBeans about a library a module is installing.
[start=2]
1. Between the `<filesystem>` tags, add the XML from <<listing4,listing 4>>.
-=== [[Listing 4: Adding Library Metadata to a Module's XML Layer]]
+===Listing 4: Adding Library Metadata to a Module's XML Layer
[source,xml]
@@ -349,7 +350,7 @@
----
-The `url` attribute of the `file` tag is important — the XML we have entered defines a _virtual file_ — but a file name is usually useless without some content. The URL attribute is a path, relative to the layer file, in the location where it really lives on disk. The next step is to actually create a file called `Bean.xml`.
+The `url` attribute of the `file` tag is important -- the XML we have entered defines a _virtual file_ -- but a file name is usually useless without some content. The URL attribute is a path, relative to the layer file, in the location where it really lives on disk. The next step is to actually create a file called `Bean.xml`.
[start=1]
@@ -365,7 +366,7 @@
1. Populate the file with the XML content in <<listing5,listing 5>>.
-=== [[Listing 5: An XML Library Definition for Bean.jar]]
+===Listing 5: An XML Library Definition for Bean.jar
[source,xml]
@@ -396,7 +397,7 @@
== Localizing Library and Other Names
-All user-visible strings in NetBeans are localized — put into resource-bundle files, so they can be translated into other human languages. Things which are installed declaratively via `layer.xml` files are no exception. You may have noticed that a _localizing bundle_ is mentioned in some of the XML we have already entered. This is a pointer to a file named `Bundle.properties`, which should live in the package `org.netbeans.demo.form.beanlib` alongside our other files. If it does not exist, create it as follows:
+All user-visible strings in NetBeans are localized -- put into resource-bundle files, so they can be translated into other human languages. Things which are installed declaratively via `layer.xml` files are no exception. You may have noticed that a _localizing bundle_ is mentioned in some of the XML we have already entered. This is a pointer to a file named `Bundle.properties`, which should live in the package `org.netbeans.demo.form.beanlib` alongside our other files. If it does not exist, create it as follows:
[start=1]
@@ -412,7 +413,7 @@
1. Add the content in <<listing6,listing 6>> to the newly created resource bundle file (the content includes entries for files we are about to create in order to add `Bean1` to the Component Palette).
-=== [[Listing 6: Localized Names for Library and Component Palette Items]]
+=== Listing 6: Localized Names for Library and Component Palette Items
[source,java]
@@ -430,7 +431,7 @@
== Including `Bean.jar` on the Module's Class Path
-We are bundling the JAR file as a library. However, if we want property editors which can talk to both our Java Bean classes and to NetBeans itself, we will need to put `Bean.jar` onto our module's classpath as well. NetBeans is very strict about what JARs a module can see classes from, and by default, a library is for use in the projects a user creates, not for loading in to the VM NetBeans is running in. So we need to explicitly include `Beans.jar` in our module's classpath if we want to be able to use classes from it in our module — and if we want to provide _NetBeans-aware property editors_ we need to do that.
+We are bundling the JAR file as a library. However, if we want property editors which can talk to both our Java Bean classes and to NetBeans itself, we will need to put `Bean.jar` onto our module's classpath as well. NetBeans is very strict about what JARs a module can see classes from, and by default, a library is for use in the projects a user creates, not for loading in to the VM NetBeans is running in. So we need to explicitly include `Beans.jar` in our module's classpath if we want to be able to use classes from it in our module -- and if we want to provide _NetBeans-aware property editors_ we need to do that.
Not everybody needs property editors that interact with the IDE beyond the very limited ways the Java Beans specification allows. If you are writing ordinary property editors, you can simply skip the rest of this step, then follow the later steps to add your beans to the component palette and stop there:
@@ -469,7 +470,7 @@
1. Shut down and restart the IDE (module projects are not terribly intelligent about rescanning the classpath when the project metadata is manually modified, so you need to do this to have code-completion and parsing work in the editor later, when you use classes from `Bean.jar` in your module. This may be improved in future release of NetBeans).
-=== [[Listing 7: Adding Bean.jar to our Module's Classpath]]
+=== Listing 7: Adding Bean.jar to our Module's Classpath
[source,xml]
@@ -481,12 +482,12 @@
</class-path-extension>
----
-The “runtime relative path” is the path to Bean.jar from the location of the module JAR at runtime. The NBM file which is created when you right click the module project and choose *Create NBM* is unpacked onto disk when the user installs it. You can build the NBM and then expand in the *Files* tab in the IDE to browse its contents. You will find the module JAR under the `modules/` folder in the NBM. You will also find `modules/ext/Bean.jar` there — Bean.jar is added to the module's classpath using the standard Java mechanism of including `Class-Path: ext/Bean.jar` in the module's JAR manifest.
+The "runtime relative path" is the path to Bean.jar from the location of the module JAR at runtime. The NBM file which is created when you right click the module project and choose *Create NBM* is unpacked onto disk when the user installs it. You can build the NBM and then expand in the *Files* tab in the IDE to browse its contents. You will find the module JAR under the `modules/` folder in the NBM. You will also find `modules/ext/Bean.jar` there -- Bean.jar is added to the module's classpath using the standard Java mechanism of including `Class-Path: ext/Bean.jar` in the module's JAR manifest.
== Adding Bean1 to the Component Palette
-We have our library embedded in our module — next we need to put our component on the Component Palette, so users will be able to drag and drop it into their user interfaces. Doing that is quite simple, and very similar to the way we added `Bean.jar` as a library — it will again involve editing the `layer.xml` file, adding a reference to an external XML file and then creating that file.
+We have our library embedded in our module -- next we need to put our component on the Component Palette, so users will be able to drag and drop it into their user interfaces. Doing that is quite simple, and very similar to the way we added `Bean.jar` as a library -- it will again involve editing the `layer.xml` file, adding a reference to an external XML file and then creating that file.
[start=1]
@@ -502,7 +503,7 @@
1. Replace the new XML file's contents with the XML code in <<listing9,listing 9>>.
-=== [[Listing 8: Adding a `palette_item` file to the layer.xml]]
+=== Listing 8: Adding a `palette_item` file to the layer.xml
[source,xml]
@@ -516,8 +517,7 @@
</folder>
----
-
-=== [[Listing 9: XML File Defining a Component on the Palette]]
+=== Listing 9: XML File Defining a Component on the Palette
[source,xml]
@@ -536,13 +536,13 @@
----
-At this point, the work of embedding our library and our component is done. Run the module now to try out the result — create a new project in the copy of NetBeans that starts, then use *New > JPanel Form* to show the form editor (aka “Matisse”). There will be a new category, *Beans!* on the Component Palette. Expand it, and you will see `Bean1`, listed as *The Bean* (these are the strings we defined in our `Bundle.properties` file). Drag it onto the form to use it.
+At this point, the work of embedding our library and our component is done. Run the module now to try out the result -- create a new project in the copy of NetBeans that starts, then use *New > JPanel Form* to show the form editor (aka "Matisse"). There will be a new category, *Beans!* on the Component Palette. Expand it, and you will see `Bean1`, listed as *The Bean* (these are the strings we defined in our `Bundle.properties` file). Drag it onto the form to use it.
Notice also that, after you add a `Bean1` to a form, if you expand the *Libraries* node under the project, the `Bean` library has automatically been added to the project's classpath.
The Java Beans specification allows a `BeanInfo` class for a component to define a localized name for it, along with icons. In the example above, we defined the localized name in the `palette_item` file's definition and the `Bundle.properties` file. You can use either one (just leave out the line about the resource bundle in the XML file to use the BeanInfo); if you are going to need a `BeanInfo` anyway, you can just define it there. However, since they are Java classes, BeanInfos use memory and are an inefficient way to define this sort of thing. If possible, avoid having a `BeanInfo` and just use this mechanism.
-If you want to provide icons via the `palette_item` XML file, you can do that too — just add the following lines inside the `<palette_item>` tags in the file, replacing the file name with a .gif or .png file name, and the path with the path in your module to the package they are in:
+If you want to provide icons via the `palette_item` XML file, you can do that too -- just add the following lines inside the `<palette_item>` tags in the file, replacing the file name with a .gif or .png file name, and the path with the path in your module to the package they are in:
[source,java]
@@ -555,7 +555,7 @@
== Creating A Property Editor
-Now we are ready to create a property editor. We will put our editors in another package, `org.netbeans.demo.form.beanlib.editors` — in accordance with the Java Beans specification, that package will be registered with `java.beans.PropertyEditorManager`. We don't need `PropertyEditorManager` to be able to find other classes that are part of our module, but are not our property editors or classes our property editors use. So keeping unrelated classes invisible to our property editors is good sense both from a perfomance and a security perspective.
+Now we are ready to create a property editor. We will put our editors in another package, `org.netbeans.demo.form.beanlib.editors` -- in accordance with the Java Beans specification, that package will be registered with `java.beans.PropertyEditorManager`. We don't need `PropertyEditorManager` to be able to find other classes that are part of our module, but are not our property editors or classes our property editors use. So keeping unrelated classes invisible to our property editors is good sense both from a perfomance and a security perspective.
[start=1]
@@ -568,7 +568,7 @@
1. Replace the template code that initially appears in the new Java file with the code in <<listing10,listing 10>>.
-=== [[Listing 10: A PropertyEditor for ColorValue Objects]]
+=== Listing 10: A PropertyEditor for ColorValue Objects
[source,java]
@@ -662,9 +662,9 @@
We now have a property editor for `ColorValue` objects. The next step is to register our property editor package, so that, when our module is run in the IDE, `java.beans.PropertyEditorManager` can find our editor and it will be used in the Property Sheet of the Form Editor.
-While most of the time, the way you install things in NetBeans, so that the IDE can find your module's classes at runtime, is declarative — using the `layer.xml` file and similar mechanisms — `PropertyEditorManager` is not part of NetBeans, it is part of the JDK. It expects registration to be done programmatically, via Java code that runs during IDE startup. Running code during startup is generally to be avoided, since it means the user will be looking at the startup splash-screen for longer, but in this case there is no other way.
+While most of the time, the way you install things in NetBeans, so that the IDE can find your module's classes at runtime, is declarative -- using the `layer.xml` file and similar mechanisms -- `PropertyEditorManager` is not part of NetBeans, it is part of the JDK. It expects registration to be done programmatically, via Java code that runs during IDE startup. Running code during startup is generally to be avoided, since it means the user will be looking at the startup splash-screen for longer, but in this case there is no other way.
-To register our property editor, we need to create a subclass of `org.openide.modules.ModuleInstall`, and add a reference to it to our module's JAR manifest. Fortunately, there is a file template built into NetBeans' module-writing tools that will take care of creating the subclass and adding the manifest entry — we can use that and then just add the code we need to the resulting `ModuleInstall`. To do that:
+To register our property editor, we need to create a subclass of `org.openide.modules.ModuleInstall`, and add a reference to it to our module's JAR manifest. Fortunately, there is a file template built into NetBeans' module-writing tools that will take care of creating the subclass and adding the manifest entry -- we can use that and then just add the code we need to the resulting `ModuleInstall`. To do that:
[start=1]
@@ -677,7 +677,7 @@
1. Replace the `restored()` method with the contents of <<listing11,listing 11>>
-=== [[Listing 11: Registering The Property Editors Package At IDE Startup]]
+=== Listing 11: Registering The Property Editors Package At IDE Startup
[source,java]
@@ -698,18 +698,18 @@
== NetBeans Form Editor Classloader Black Magic
-At this point we are almost ready to run our module with our property editor. There is one bit of arcana left to take care of. As mentioned earlier, NetBeans does various tricks with classloaders — in particular, limiting classes a module can see to only those ones it says it needs access to.
+At this point we are almost ready to run our module with our property editor. There is one bit of arcana left to take care of. As mentioned earlier, NetBeans does various tricks with classloaders -- in particular, limiting classes a module can see to only those ones it says it needs access to.
-A Swing GUI and its libraries are classes that belong to the user — they are not parts of NetBeans. The form editor takes a similar approach — Java classes used in a Swing UI _are_ loaded into the Java Virtual Machine NetBeans is running in; however, they are loaded in their own classloader, which normally does not allow random components access to classes from a module. This has two beneficial effects:
+A Swing GUI and its libraries are classes that belong to the user -- they are not parts of NetBeans. The form editor takes a similar approach -- Java classes used in a Swing UI _are_ loaded into the Java Virtual Machine NetBeans is running in; however, they are loaded in their own classloader, which normally does not allow random components access to classes from a module. This has two beneficial effects:
[start=1]
1. A foreign Swing component cannot interfere with the operation of the rest of the IDE, just because a user dropped it on a form.
[start=2]
-1. Misbehaving or memory-leaking components can be discarded when the form is closed and the classloader it used is discarded — limiting the potential damage a buggy component can do.
+1. Misbehaving or memory-leaking components can be discarded when the form is closed and the classloader it used is discarded -- limiting the potential damage a buggy component can do.
-We have already set up the classpath so that our module can see classes from `Bean.jar`. We need to set up the reverse situation — allow our properties to call into classes in our module and the rest of NetBeans when they are loaded inside the sandbox of the classloader the form editor uses for loading the user's components.
+We have already set up the classpath so that our module can see classes from `Bean.jar`. We need to set up the reverse situation -- allow our properties to call into classes in our module and the rest of NetBeans when they are loaded inside the sandbox of the classloader the form editor uses for loading the user's components.
This is accomplished via a bit of black magic with the form editor's classloader. The form editor allows us to define a special text file in our `layer.xml` file, which contains a list of classes and/or packages that should be visible to components living inside a Swing form. To accomplish this:
@@ -727,13 +727,13 @@
1. In the New File Wizard, choose *Other > Empty File* and click *Next*.
[start=5]
-1. In the second page of the New File Wizard, name the file `BeanClasses.txt` (note that because we are using the *Empty File* template, we need to specify the file extension — normally you do not do this or you end up with file names such as `Foo.xml.xml`).
+1. In the second page of the New File Wizard, name the file `BeanClasses.txt` (note that because we are using the *Empty File* template, we need to specify the file extension -- normally you do not do this or you end up with file names such as `Foo.xml.xml`).
[start=6]
1. Paste the contents of <<listing13,listing 13>> into the new text file.
-=== [[Listing 12: Registering Classes That Should Be Visible in layer.xml]]
+=== Listing 12: Registering Classes That Should Be Visible in layer.xml
[source,xml]
@@ -751,7 +751,7 @@
If your property editors or components also need to be able to see classes or resources (such as images) that are part of the user's project, you can register the class list in the folder `system_with_project` instead of `system`. If some do and some do not, register two lists, including only those that really need to see classes from the user's project in `system_with_project`.
-=== [[Listing 13: Listing Module Classes That Should Be Visible to Components in the Form Editor]]
+=== Listing 13: Listing Module Classes That Should Be Visible to Components in the Form Editor
[source,java]
@@ -781,8 +781,8 @@
[start=3]
1. In the newly created JPanel form, add the following components from the Component Palette, arranging the UI as shown in <<figure2,figure 2>> and setting the variable names as shown below (to set the name, slow-double-click the name of each component in the *Inspector* window, then type the new name; component type shown in parentheses):
- [[
-image::images/property-editors_colorValueCustomEditorUI.png[]]]
+image::images/property-editors_colorValueCustomEditorUI.png[]
+
_Figure 2: Color Value Custom Editor User Interface_
|===
@@ -814,7 +814,7 @@
1. Add the code in xref:nbm-propertyeditors-integration.adoc#listing16[listing 16] to `ColorValueCustomEditor` to implement the listener interfaces and handle events.
-=== [[Listing 14: ColorValueCustomEditor Constructor]]
+=== Listing 14: ColorValueCustomEditor Constructor
[source,java]
@@ -839,7 +839,7 @@
----
-=== [[Listing 15: Changing the Class Signature of ColorValueCustomEditor to Implement Listeners]]
+=== Listing 15: Changing the Class Signature of ColorValueCustomEditor to Implement Listeners
[source,java]
@@ -849,7 +849,7 @@
----
[[listing16]]
-=== [[Listing 16: Listener Interface Implementation for ColorValueCustomEditor]]
+=== Listing 16: Listener Interface Implementation for ColorValueCustomEditor
[source,java]
@@ -923,7 +923,7 @@
1. Update the `supportsCustomEditor()` and `getCustomEditor()` to look like <<listing17,listing 17>>
-=== [[Listing 17: Creating Our Custom Editor]]
+=== Listing 17: Creating Our Custom Editor
[source,java]
@@ -945,7 +945,7 @@
You may have noticed that `ColorValueEditor` implements a NetBeans interface, `org.openide.explorer.propertysheet.ExPropertyEditor`, in addition to the standard JDK `PropertyEditor` interface. This interface, or more importantly the `PropertyEnv` object that is passed to it is the path for our property editor to escape the prison of the Java Beans spec and interact with the environment (the IDE) that instantiated it.
-`PropertyEnv` is an enigmatic little class, but it offers a lot of power. In our case, we are using it very simply, just to let our custom editor control the OK button of the dialog it appears in. To do that, we call `env.setState(PropertyEnv.STATE_INVALID)` to disable the OK button, and `env.setState(PropertyEnv.STATE_VALID)` to reënable it. Here are some of the other things we could do with it:
+`PropertyEnv` is an enigmatic little class, but it offers a lot of power. In our case, we are using it very simply, just to let our custom editor control the OK button of the dialog it appears in. To do that, we call `env.setState(PropertyEnv.STATE_INVALID)` to disable the OK button, and `env.setState(PropertyEnv.STATE_VALID)` to renable it. Here are some of the other things we could do with it:
* Delay figuring out if the user's input is good or not until the user presses enter, by calling `env.setState(PropertyEnv.STATE_NEEDS_VALIDATION)` and attaching a `VetoableChangeListener` which can veto a change to `STATE_VALID` which will happen when the user presses OK
* Get the `Node.Property` object which created the property editor and represents the property being useful, using `env.getFeatureDescriptor()`. This is useful for passing hints to the property sheet about how an editor should behave when in the property sheet. Two useful hints are
@@ -968,7 +968,7 @@
----
and use that to
-* Get the file that is being edited — `n.getLookup().lookup(DataObject.class).getPrimaryFile()`
+* Get the file that is being edited - `n.getLookup().lookup(DataObject.class).getPrimaryFile()`
* Find the project that owns the file being edited and interrogate its classpath (for example, to list possible directories the user might want to save an icon file to):
[source,java]
@@ -988,7 +988,7 @@
The last thing we may want to do is more about plumbing than anything the user sees directly: When you are editing a Swing form in the NetBeans Form Editor, you are really editing two files (though you only see the Java file in the projects tab). The form editor is really an editor for an invisible (in NetBeans) XML file that sits next to the Java source file. The form editor is really an editor of that XML file. Whenever you make a change in the form editor, the data about how components are positioned and their properties is saved in that file. That file is then used to generate the `initComponents()` method and other code inside the non-editable blue code blocks in your Java source. Whenever the XML file changes (because you made a change in the form editor and saved the file), those blue _guarded blocks_ are regenerated into the Java source file.
-It is worth taking a look at the `.form` file after you have modified a `ColorValue` and saved the form (make sure you save it!). To do this, you will need to go outside of NetBeans and use a text editor (if on Windows, use a text editor that understands lines that end with just a carriage return character — WordPad, usually located in `C:\Program Files\Windows NT\Accessories` on Windows will do). What you will see is something like this:
+It is worth taking a look at the `.form` file after you have modified a `ColorValue` and saved the form (make sure you save it!). To do this, you will need to go outside of NetBeans and use a text editor (if on Windows, use a text editor that understands lines that end with just a carriage return character -- WordPad, usually located in `C:\Program Files\Windows NT\Accessories` on Windows will do). What you will see is something like this:
[source,xml]
@@ -1007,13 +1007,13 @@
[start=1]
-1. It's inefficent — it takes up a lot of space in the file, and takes longer to read and write
+1. It's inefficent -- it takes up a lot of space in the file, and takes longer to read and write
[start=2]
-1. It's not human-readable — If a form were corrupted in some way, the user doesn't have any chance to figure out what the value of this object actually was
+1. It's not human-readable -- If a form were corrupted in some way, the user doesn't have any chance to figure out what the value of this object actually was
[start=3]
-1. It's fragile — the data structure depends on the JVM's in-memory data structure for the class. If you add a field or a method to `ColorValue` in the future, the data in all existing `.form` files will be unusable. That means users will lose their components and have to recreate them, or they must never edit a form with a `Bean1` on it again.
+1. It's fragile -- the data structure depends on the JVM's in-memory data structure for the class. If you add a field or a method to `ColorValue` in the future, the data in all existing `.form` files will be unusable. That means users will lose their components and have to recreate them, or they must never edit a form with a `Bean1` on it again.
There is another way. Although nobody truly loves writing DOM code, you can implement XMLPropertyEditor. What happens then is:
@@ -1037,7 +1037,7 @@
1. Implement the methods of `XMLPropertyEditor` as shown in <<listing18,listing 18>>.
-=== [[Listing 18: Implementing XMLPropertyEditor]]
+=== Listing 18: Implementing XMLPropertyEditor
[source,java]
@@ -1059,7 +1059,7 @@
}
}
-public Node storeToXML(Document doc) {
+public Node storeToXML(Document doc) {"
Element el = doc.createElement("ColorValue");
if (value != null) {
el.setAttribute("red", "" + value.getRed());
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-ribbonbar.adoc b/netbeans.apache.org/src/content/tutorials/nbm-ribbonbar.adoc
index 66d28bb..636ebe5 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-ribbonbar.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-ribbonbar.adoc
@@ -53,7 +53,7 @@
Chris Bohme extrapolated the NetBeans ribbon bar from an application named link:http://netbeans.dzone.com/news/intelligence-gathering[Maltego], created by himself and others at PinkMatter Solutions. Maltego is an artificial intelligence application. Take note of the toolbar in the screenshot of Maltego below:
-image::http://netbeans.dzone.com/sites/all/files/Maltego3-small.png[]
+image::images/Maltego3-small.png[]
Now, watch Chris Bohme's introduction to the NetBeans ribbon bar integration here:
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-runtime-container.adoc b/netbeans.apache.org/src/content/tutorials/nbm-runtime-container.adoc
index 6d14e55..f0ca894 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-runtime-container.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-runtime-container.adoc
@@ -61,7 +61,7 @@
[start=1]
1. Choose menu:File[New Project] (kbd:[Ctrl+Shift+N]). Under Categories, expand Java with Ant, and select NetBeans Modules. Under Projects, select Module:
-image::images/nbm-runtime-container/new_project1.png[]
+image::images/runtime-container_new_project1.png[]
Click btn:[Next].
@@ -69,21 +69,21 @@
[start=2]
1. Name your application 'HelloWorld' and specify where to store it:
-image::images/nbm-runtime-container/new_project2.png[]
+image::images/runtime-container_new_project2.png[]
Click btn:[Finish]. You now have a minimal NetBeans Platform application:
-image::images/nbm-runtime-container/new_project3.png[]
+image::images/runtime-container_new_project3.png[]
[start=3]
1. Right-click the main project node in the Projects window (`HelloWorld`), choose Properties:
-image::images/nbm-runtime-container/new_project4.png[]
+image::images/runtime-container_new_project4.png[]
The Project Properties dialog appears. Go to the Libraries tab. There you can see all the modules that are part of this application:
-image::images/nbm-runtime-container/new_project5.png[]
+image::images/runtime-container_new_project5.png[]
NOTE: The template you used in step 1 above preselected several modules for you, all of which come from the "platform" cluster.
@@ -93,17 +93,17 @@
[start=4]
1. Click the checkbox next to "platform" to deselect it. There are now no modules in the application.
-image::images/nbm-runtime-container/new_project6.png[]
+image::images/runtime-container_new_project6.png[]
[start=5]
1. Next, scroll down the list, find "Startup", and click the corresponding checkbox, as shown below:
-image::images/nbm-runtime-container/new_project7.png[]
+image::images/runtime-container_new_project7.png[]
Click btn:[Resolve], because the Startup module depends on code found in eight other modules that make up the runtime container. Now you should see that the Resolve button disappears, together with the warning messages:
-image::images/nbm-runtime-container/new_project8.png[]
+image::images/runtime-container_new_project8.png[]
Scroll up and down the list and notice that ONLY the nine modules that make up the runtime container are included.
@@ -122,13 +122,13 @@
[start=1]
1. Right-click the application's Modules node and choose 'Add New...'.
-image::images/nbm-runtime-container/custom_module1.png[]
+image::images/runtime-container_custom_module1.png[]
[start=2]
1. Give your module a project name, such as 'HelloModule' and specify a location to store the module:
-image::images/nbm-runtime-container/custom_module2.png[]
+image::images/runtime-container_custom_module2.png[]
Click btn:[Next].
@@ -136,21 +136,21 @@
[start=3]
1. Specify a code name base (e.g. `org.myorg.hellomodule`), which is a unique string that identifies the module:
-image::images/nbm-runtime-container/custom_module3.png[]
+image::images/runtime-container_custom_module3.png[]
Click btn:[Finish]. You now have a new module:
-image::images/nbm-runtime-container/custom_module4.png[]
+image::images/runtime-container_custom_module4.png[]
[start=4]
1. Right-click the module, choose New > Other:
-image::images/nbm-runtime-container/custom_module5.png[]
+image::images/runtime-container_custom_module5.png[]
Then choose Module Development > Installer/Activator:
-image::images/nbm-runtime-container/custom_module6.png[]
+image::images/runtime-container_custom_module6.png[]
Click btn:[Next].
@@ -158,7 +158,7 @@
[start=5]
1. The module activator details are shown:
-image::images/nbm-runtime-container/custom_module7.png[]
+image::images/runtime-container_custom_module7.png[]
Click btn:[Finish] to create the class.
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-selection-1.adoc b/netbeans.apache.org/src/content/tutorials/nbm-selection-1.adoc
index cde4564..4ff29bc 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-selection-1.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-selection-1.adoc
@@ -50,7 +50,7 @@
The loosely-coupled modular example used in this tutorial will contain three modules constituting a NetBeans Platform application, as illustrated below:
-image::images/nbm-selection-1/module_structure.png[]
+image::images/selection-1_module_structure.png[]
Start by creating the NetBeans Platform application that will contain all three modules:
@@ -58,7 +58,7 @@
[start=1]
1. Choose menu:File[New Project] (kbd:[Ctrl+Shift+N]). Under Categories, expand Java with Ant, and select NetBeans Modules. Under Projects, select NetBeans Platform Application:
-image::images/nbm-selection-1/new-project1.png[]
+image::images/selection-1_new-project1.png[]
Click btn:[Next].
@@ -66,13 +66,13 @@
[start=2]
1. In the Name and Location panel, type ``EventManager`` in Project Name. Change the Project Location to any directory on your computer:
-image::images/nbm-selection-1/new-project2.png[]
+image::images/selection-1_new-project2.png[]
Click btn:[Finish].
You now have a NetBeans Platform application project, which is the container for the modules that you will be creating throughout this tutorial:
-image::images/nbm-selection-1/new-project3.png[]
+image::images/selection-1_new-project3.png[]
Via the configuration files shown in the screenshot above, the NetBeans Platform application project provides a set of pre-defined modules, such as modules that give your application a window system and an action system. The configuration files also set up the application to be built via the Ant build system. In the next steps, you will be adding three custom modules to the application. The first module will provide an API class, while the other two will share that API module between them. That will ensure that the other two modules do not depend on each other, making them loosely coupled.
@@ -80,7 +80,7 @@
[start=3]
1. Choose menu:File[New Project] (kbd:[Ctrl+Shift+N]) again. If not already open, under Categories, expand Java with Ant, and select NetBeans Modules. Under Projects, select Module:
-image::images/nbm-selection-1/new-project4.png[]
+image::images/selection-1_new-project4.png[]
Click btn:[Next].
@@ -90,7 +90,7 @@
[start=4]
1. In the Name and Location panel, type ``MyAPI`` in Project Name. Now look at the Project Location field and the Project Folder field. As you can see, the default in the wizard is to create the module within the directory where you just created the "EventManager" application, which means that the module's sources will be organized within the folder where the application is defined. That is the standard way to organize NetBeans Platform application sources.
-image::images/nbm-selection-1/new-project5.png[]
+image::images/selection-1_new-project5.png[]
Click btn:[Next].
@@ -105,7 +105,7 @@
The result should be as follows:
-image::images/nbm-selection-1/new-project6.png[]
+image::images/selection-1_new-project6.png[]
Click btn:[Finish].
@@ -115,7 +115,7 @@
At the end of this step, the structure of the application should be as follows:
-image::images/nbm-selection-1/new-project7.png[]
+image::images/selection-1_new-project7.png[]
The reason you are creating three modules in the application is that you are creating a modular application, where the viewer and editor modules will be loosely coupled from each other, only sharing the API module between them. The usefulness of this approach will become clearer as you continue with this tutorial.
@@ -128,11 +128,11 @@
[start=1]
1. Right click the `org.myorg.myapi` package and choose New > Java Class.
-image::images/nbm-selection-1/api1.png[]
+image::images/selection-1_api1.png[]
Name the class `Event`:
-image::images/nbm-selection-1/api2.png[]
+image::images/selection-1_api2.png[]
Click btn:[Finish].
@@ -175,7 +175,7 @@
[start=2]
1. The next step is to have your API module export the `org.myorg.myapi` package so other modules can see the Event class in it. By default, all packages are hidden from all other modules in the application. Right click the My API project and choose Properties. In the API Versioning page in the Project Properties dialog box, check the checkbox for `org.myorg.myapi` in the Public Packages list, as shown below:
-image::images/nbm-selection-1/api3.png[]
+image::images/selection-1_api3.png[]
Click btn:[OK].
@@ -194,13 +194,13 @@
[start=3]
1. Now you need to set up some dependencies between your modules. The other two modules, My Editor and My Viewer, will use the `Event` class, so each of them needs to say that they _depend on_ the API module. Right-click on the My Editor project node, and choose Properties. The Project Properties dialog will appear. Select the Libraries tab.
-image::images/nbm-selection-1/api4.png[]
+image::images/selection-1_api4.png[]
Click btn:[Add Dependency...]
In the Filter text box, type `Event`, which will refine the list of all available modules. Locate the "My API" module and select it:
-image::images/nbm-selection-1/api5.png[]
+image::images/selection-1_api5.png[]
TIP: Using the Cluster combo-box will provide more filtering.
@@ -208,7 +208,7 @@
You should see the following:
-image::images/nbm-selection-1/api6.png[]
+image::images/selection-1_api6.png[]
Click btn:[OK] to close the Project Properties dialog.
@@ -235,7 +235,7 @@
When this is done, the new contract between the modules is represented in the Project window as follows:
-image::images/nbm-selection-1/api7.png[]
+image::images/selection-1_api7.png[]
== Creating the Viewer Component
@@ -251,11 +251,11 @@
[start=1]
1. Right click the `org.myorg.myviewer` package and choose New > Other.
-image::images/nbm-selection-1/viewer1.png[]
+image::images/selection-1_viewer1.png[]
In the resulting New File dialog, select Module Development > Window, as shown below:
-image::images/nbm-selection-1/viewer2.png[]
+image::images/selection-1_viewer2.png[]
Click btn:[Next] (or press Enter).
@@ -263,19 +263,19 @@
[start=2]
1. On the "Basic Settings" page of the wizard, select `explorer` as the location in which to place your viewer component, and check the "Open on Application Start" checkbox to cause the window to open on startup, as shown below:
-image::images/nbm-selection-1/viewer3.png[]
+image::images/selection-1_viewer3.png[]
Click btn:[Next].
[start=3]
1. The "Name, Icon and Location" page of the wizard will appear. Set `MyViewer` as the class name prefix:
-image::images/nbm-selection-1/viewer4.png[]
+image::images/selection-1_viewer4.png[]
[start=4]
1. Click btn:[Finish] and you should see the following:
-image::images/nbm-selection-1/viewer5.png[]
+image::images/selection-1_viewer5.png[]
You now have a skeleton `TopComponent` - a singleton component called `MyViewerTopComponent`. The wizard created the Java class, and added the required module dependencies (under Libraries).
@@ -319,11 +319,11 @@
[start=1]
1. Drag two Labels (javax.swing.JLabel) to the form from the Palette (kbd:[Ctrl+Shift+8]), one below the other, as shown below:
-image::images/nbm-selection-1/viewer6.png[]
+image::images/selection-1_viewer6.png[]
Press F2 on the first label and then change the text as shown above, so that by default it displays "[Nothing selected]".
-image::images/nbm-selection-1/viewer7.png[]
+image::images/selection-1_viewer7.png[]
[start=2]
@@ -338,11 +338,11 @@
Put the cursor over the lightbulb icon should appear in the editor margin. A popup hint should appear, as shown below:
-image::images/nbm-selection-1/viewer8.png[]
+image::images/selection-1_viewer8.png[]
Left click on the lightbulb icon in the editor margin, and when the popup appears, select the text "Implement all abstract methods".
-image::images/nbm-selection-1/viewer9.png[]
+image::images/selection-1_viewer9.png[]
You now have a class that implements `LookupListener` (i.e. the `resultChanged` method). Now it needs something to listen to.
@@ -421,7 +421,7 @@
You should end up with six dependencies (the MyAPI dependency from the earlier part of this tutorial, plus the five you just added), as shown below:
-image::images/nbm-selection-1/editor1.png[]
+image::images/selection-1_editor1.png[]
You can also see these in the Libraries node of the My Editor project.
@@ -429,7 +429,7 @@
[start=2]
1. Right-click the `org.myorg.myeditor` package in the My Editor project, and choose New > Other. When the New File dialog appears, select Swing GUI Forms from the Category selection, and JPanel Form from the File Types selection.
-image::images/nbm-selection-1/editor2.png[]
+image::images/selection-1_editor2.png[]
Click btn:[Next].
@@ -438,12 +438,12 @@
You should see `MyEditor.java` open in with the Design view (form editor) open:
-image::images/nbm-selection-1/editor3.png[]
+image::images/selection-1_editor3.png[]
[start=4]
1. When the form editor opens, drop two Text Fields (javax.swing.JTextField) on the form, one above the other.
-image::images/nbm-selection-1/editor4.png[]
+image::images/selection-1_editor4.png[]
On the property sheet, set the "editable" property (checkbox) to `false` for both text fields.
@@ -509,11 +509,11 @@
Now you're ready to run the tutorial. Simply right click `EventManager`, the application which contains your three modules, and choose Run from the popup menu. When the IDE opens, simply choose Window > Open Editor to invoke your action. Do this a couple of times, so that there are several of your editor components open. Your singleton `MyViewer` window should also be open. Notice how the `MyViewer` window's contents change as you click different tabs, as shown here:
-image::images/nbm-selection-1/result1.png[]
+image::images/selection-1_result1.png[]
If you click in the Viewer window, or close all of the editor windows, note that the text changes to "[no selection]", as shown below:
-image::images/nbm-selection-1/result2.png[]
+image::images/selection-1_result2.png[]
NOTE: If you do not see the `MyViewer` window, you probably did not check the checkbox in the wizard to open it on system start - simply go to the Window menu and choose MyViewer to display it.
@@ -540,12 +540,12 @@
[start=2]
1. Set the `text` property of the JButton to "Replace".
-image::images/nbm-selection-1/replace1.png[]
+image::images/selection-1_replace1.png[]
[start=3]
1. Right click the `JButton` and choose Events > Action > actionPerformed.
-image::images/nbm-selection-1/replace2.png[]
+image::images/selection-1_replace2.png[]
This will cause the code editor to open with the cursor in an event handler method. Make that method call `updateContent()`.
@@ -624,7 +624,7 @@
When you click the Replace button, all of the components update, including the instance of `MyViewer` - everything.
-image::images/nbm-selection-1/replace3.png[]
+image::images/selection-1_replace3.png[]
== Providing More Than One Object
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-selection-2.adoc b/netbeans.apache.org/src/content/tutorials/nbm-selection-2.adoc
index 72139c9..f720ae3 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-selection-2.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-selection-2.adoc
@@ -68,7 +68,7 @@
[start=1]
1. First, bring up the properties dialog for the My Editor project by right-clicking the My Editor project and choosing Properties. On the Libraries tab, click the Add Dependency button, and type "BeanTreeView" in Filter text box:
-image::images/nbm-selection-2/explorer1.png[]
+image::images/selection-2_explorer1.png[]
Select the "Explorer & Property Sheet API", and click btn:[OK] to add this dependency so you can use classes from it.
@@ -240,11 +240,11 @@
You are now ready to run, so right-click `EventManager` and choose Clean and Build, and then right-click again and choose Run from the popup menu. When the application starts, you should be able to browse the `Events`, as shown below:
-image::images/nbm-selection-2/result1.png[]
+image::images/selection-2_result1.png[]
If you open the property sheet (From the Window menu, select IDE Tools and then Properties), then you should see your viewer and the property sheet update themselves to show the `Event` belonging to each node, as shown below:
-image::images/nbm-selection-2/result2.png[]
+image::images/selection-2_result2.png[]
== Exploring Explorer
@@ -255,23 +255,23 @@
* *OutlineView* - a tree-table - a table that has a tree as the leftmost column:
-image::images/nbm-selection-2/result3.png[]
+image::images/selection-2_result3.png[]
* *IconView* - a component that shows Node children in equally spaced icons, similar to Windows Explorer
-image::images/nbm-selection-2/result4.png[]
+image::images/selection-2_result4.png[]
* *ListView* - display nodes in a JList (you can set how deep into the Node hierarchy it should go)
-image::images/nbm-selection-2/result5.png[]
+image::images/selection-2_result5.png[]
* *ChoiceView* - a combo-box view of a Node and its children (typically used in combination with other elements, rather than being the primary view)
-image::images/nbm-selection-2/result6.png[]
+image::images/selection-2_result6.png[]
* *MenuView* - a `JButton` that pops up a menu of a Node and its children
-image::images/nbm-selection-2/result7.png[]
+image::images/selection-2_result7.png[]
== Handling Multi-Selection
@@ -318,7 +318,7 @@
So you can see that the `Lookup` created by `ExplorerUtils` handle not only proxies the `Lookup` of whatever `Node` is selected; it also correctly proxies the `Lookup` for multiple selected entries.
-image::images/nbm-selection-2/multiselect1.png[]
+image::images/selection-2_multiselect1.png[]
== Review of Concepts
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-server-plugin.adoc b/netbeans.apache.org/src/content/tutorials/nbm-server-plugin.adoc
index c13e4a4..554bda8 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-server-plugin.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-server-plugin.adoc
@@ -113,7 +113,7 @@
1. Select "My Server" and type a name, such as "Test Server", in the Name textfield:
-image::/tutorials/myserver/add-server-instance2.png[]
+// never added to former site appears as webdav link in web archive image::/tutorials/myserver/add-server-instance2.png[]
[start=3]
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-visual_library2.adoc b/netbeans.apache.org/src/content/tutorials/nbm-visual_library2.adoc
index 5e9095c..eee1c88 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-visual_library2.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-visual_library2.adoc
@@ -537,10 +537,8 @@
xref:../community/mailing-lists.adoc[Send Us Your Feedback]
-[[
== Next Steps
-]]
For more information on working with the Visual Library API, see:
diff --git a/netbeans.apache.org/src/content/tutorials/nbm-workflow.adoc b/netbeans.apache.org/src/content/tutorials/nbm-workflow.adoc
index afa6d5c..8986f55 100644
--- a/netbeans.apache.org/src/content/tutorials/nbm-workflow.adoc
+++ b/netbeans.apache.org/src/content/tutorials/nbm-workflow.adoc
@@ -75,7 +75,7 @@
[start=1]
1. Choose File > New Project (Ctrl+Shift+N). Under Categories, select NetBeans Modules. Under Projects, select NetBeans Platform Application:
-image::images/javafx_72_new-app-1.png[] Click Next.
+image:images/javafx_72_new-app-1.png[] Click Next.
[start=2]
1. In the Name and Location panel:
@@ -91,7 +91,7 @@
[start=3]
1. Right-click the application and choose Run. The application starts up, showing a default splash screen. Once the application has started, open some windows, browse through the menu bar and toolbar, and generally investigate the features that your application already has.
-image::images/workflow_72_new-app-2.png[]
+image:images/workflow_72_new-app-2.png[]
You now have a basic application containing a lot of functionality. In the next section, we create the canvases.
@@ -109,20 +109,20 @@
[start=1]
1. Right-click the application's Modules node and choose Add New:
-image::images/workflow_72_new-canvas-1.png[] Click Next.
+image:images/workflow_72_new-canvas-1.png[] Click Next.
[start=2]
1. Set ``Specify`` as the project name and leave the other values unchanged:
-image::images/workflow_72_new-canvas-2.png[] Click Next.
+image:images/workflow_72_new-canvas-2.png[] Click Next.
[start=3]
1. Set ``org.prediction.specify`` as the module's code name base and set ``Specify`` as the display name:
-image::images/workflow_72_new-canvas-3.png[] Click Finish. You now have your first custom module, named "Specify", for the code relating to the specify step:
-image::images/workflow_72_new-canvas-4.png[]
+image:images/workflow_72_new-canvas-3.png[] Click Finish. You now have your first custom module, named "Specify", for the code relating to the specify step:
+image:images/workflow_72_new-canvas-4.png[]
[start=4]
1. Repeat the three steps above twice, to create modules for the steps "diagnose" and "forecast":
-image::images/workflow_72_new-canvas-5.png[]
+image:images/workflow_72_new-canvas-5.png[]
You now have a modular structure on top of the NetBeans Platform. Each module will provide the code for one step in the workflow.
@@ -134,16 +134,16 @@
[start=1]
1. Right-click the ``org.prediction.specify`` package and choose New | Other | Module Development and then choose Window:
-image::images/workflow_72_new-window-1.png[] Click Next.
+image:images/workflow_72_new-window-1.png[] Click Next.
[start=2]
1. Choose a window position, that is, the place in the application frame where the window will be displayed, and set Open on Application Start so that the window will open as soon as the application has started up:
-image::images/workflow_72_new-window-2.png[] Click Next.
+image:images/workflow_72_new-window-2.png[] Click Next.
[start=3]
1. Set ``SpecifyOne`` (or another suitable name) as the class name prefix:
-image::images/workflow_72_new-window-3.png[] Click Finish. You now have your first window, named "SpecifyOneTopComponent", for the code relating to one of the windows in the specify step:
-image::images/workflow_72_new-window-4.png[]
+image:images/workflow_72_new-window-3.png[] Click Finish. You now have your first window, named "SpecifyOneTopComponent", for the code relating to one of the windows in the specify step:
+image:images/workflow_72_new-window-4.png[]
[start=4]
1.
@@ -159,7 +159,7 @@
[start=5]
1. Repeat the four steps above several times, to create several windows in each module, each window registered to the role for which you created the module. Each canvas is defined by multiple windows, some canvases will have more windows, while others have less. Dependending on the needs of each canvas, create the required windows accordingly, with appropriate names:
-image::images/workflow_72_new-window-5.png[]
+image:images/workflow_72_new-window-5.png[]
You now have three modules, each containing a canvas defined by one or more windows. In the next section, we create a controler mechanism so that the user can switch from canvas to canvas.
@@ -172,14 +172,14 @@
[start=1]
1. As before, create a module in the application. Name it ``Control`` :
-image::images/workflow_72_new-control-1.png[]
+image:images/workflow_72_new-control-1.png[]
Click Next.
[start=2]
1. Set ``org.prediction.control`` as the code name base:
-image::images/workflow_72_new-control-2.png[]
+image:images/workflow_72_new-control-2.png[]
Click Finish. You now have a Control module, together with the three canvas modules you already had:
diff --git a/netbeans.apache.org/src/content/kb/docs/ide/NetBeans_DTrace_GUI_Plugin_0_4.adoc b/netbeans.apache.org/src/old_content/content/kb/docs/ide/NetBeans_DTrace_GUI_Plugin_0_4.adoc
similarity index 100%
rename from netbeans.apache.org/src/content/kb/docs/ide/NetBeans_DTrace_GUI_Plugin_0_4.adoc
rename to netbeans.apache.org/src/old_content/content/kb/docs/ide/NetBeans_DTrace_GUI_Plugin_0_4.adoc
diff --git a/netbeans.apache.org/src/content/kb/docs/ide/section.adoc b/netbeans.apache.org/src/old_content/content/kb/docs/ide/section.adoc
similarity index 100%
rename from netbeans.apache.org/src/content/kb/docs/ide/section.adoc
rename to netbeans.apache.org/src/old_content/content/kb/docs/ide/section.adoc
diff --git a/netbeans.apache.org/src/content/kb/docs/javame/java-card.adoc b/netbeans.apache.org/src/old_content/content/kb/docs/javame/java-card.adoc
similarity index 100%
rename from netbeans.apache.org/src/content/kb/docs/javame/java-card.adoc
rename to netbeans.apache.org/src/old_content/content/kb/docs/javame/java-card.adoc
diff --git a/netbeans.apache.org/src/content/kb/docs/javame/section.adoc b/netbeans.apache.org/src/old_content/content/kb/docs/javame/section.adoc
similarity index 100%
rename from netbeans.apache.org/src/content/kb/docs/javame/section.adoc
rename to netbeans.apache.org/src/old_content/content/kb/docs/javame/section.adoc