<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Создание приложения CRUD на платформе NetBeans с помощью Maven</title>
    <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="AUDIENCE" content="NBUSER"/>
    <meta name="TYPE" content="ARTICLE"/>
    <meta name="EXPIRES" content="N"/>
    <meta name="indexed" content="y"/>
    <meta name="description"
          content="This tutorial demonstrates how to use the the Maven build framework to create a simple
    NetBeans Platform application that can read and write to a database."/>
   <!--      Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. -->
        <!--     Use is subject to license terms.-->
</head>
<body>

   <h1>Создание приложения CRUD на платформе NetBeans с помощью Maven</h1>

   <p>Добро пожаловать в <a href="https://platform.netbeans.org/"><b>платформу NetBeans</b></a>!</p>

    <p>В этом документе описано использование платформы построения Maven для создания простого приложения на платформе NetBeans, позволяющего выполнять операции чтения и записи в базу данных. В этом документе для создания приложения и модуля на платформе NetBeans будут использоваться архетипы Maven, а для создания оконных компонентов - инструментарий Swing UI и конструктор графического интерфейса пользователя Matisse.
    </p>

   <p>Этот документ основан на <a href="nbm-crud_ru.html">Учебном курсе по созданию приложения CRUD на платформе NetBeans</a> на базе Ant и описывает различия между Ant и Maven при создании приложений на платформе NetBeans. После изучения отличий Maven от Ant можно легко пройти другие учебные курсы в <a href="https://netbeans.org/kb/trails/platform_ru.html">Учебной карте по платформе NetBeans</a>.
   </p>

   <p class="tips">Пример приложения CRUD является одним из примеров Maven, доступных в мастере создания проекта.</p>

 <p class="tips">При отсутствии опыта работы с платформой NetBeans можно посмотреть серию демонстрационных роликов <a href="https://platform.netbeans.org/tutorials/nbm-10-top-apis.html">10 лучших интерфейсов API NetBeans</a>.</p>

   <p><b>Содержимое</b></p>
   <p><img src="../images/articles/74/netbeans_stamp_74_73_72.png" class="stamp" width="114" height="114" alt="Содержимое этой страницы относится к среде IDE NetBeans версий 6.5, 6.7, 6.8" title="Содержимое этой страницы относится к среде IDE NetBeans версий 6.5, 6.7, 6.8" /></p>
      <ul class="toc">
        <li><a href="#config">Настройка Maven</a></li>
        <li><a href="#01">Создание проекта приложения на платформе NetBeans</a>
            <ul>
            <li><a href="#01b">Создание модуля</a></li>
            <li><a href="#01c">Добавление модуля в качестве зависимости</a></li>
            <li><a href="#01d">Брэндинг приложения</a></li>
            </ul>
        </li>
        <li><a href="#02">Создание классов сущностей</a>
            <ul>
            <li><a href="#02a">Добавление модуля Derby Client в качестве зависимости</a></li>
            <li><a href="#02b">Создание классов сущностей из базы данных</a></li>
            </ul>
        </li>
        <li><a href="#03">Чтение: считывание и вывод записи</a>
            <ul>
            <li><a href="#03b">Добавление древовидного представления к операционной системе Windows</a></li>
            <li><a href="#03c">Создание класса фабрики</a></li>
            <li><a href="#03d">Изменение зависимостей</a></li>
            </ul>
        </li>
        <li><a href="#04">Обновление: изменение записи</a>
            <ul>
            <li><a href="#04b">Использование LookupListener</a></li>
            <li><a href="#04c">Добавление функций &quot;Отменить&quot; и &quot;Вернуть&quot;</a></li>
            <li><a href="#04d">Добавление функции &quot;Сохранить&quot;</a></li>
            <li><a href="#04e">Сохранение изменений</a></li>
            <li><a href="#04f">Добавление функции &quot;Обновить&quot;</a></li>
            </ul>
        </li>
        <li><a href="#05">Создание: добавление новой записи</a>
            <ul>
            <li><a href="#05b">Создание и сохранение нового объекта</a></li>
            </ul>
        </li>
        <li><a href="#06">Запуск приложения</a></li>
      </ul>
         
<p><b>Для работы с этим учебным курсом требуется программное обеспечение и ресурсы, перечисленные в следующей таблице.</b></p>

    <table>
        <tbody>
            <tr>
                <th class="tblheader" scope="col">Программное обеспечение или ресурс</th>
                <th class="tblheader" scope="col">Требуемая версия</th>
            </tr> 
            <tr>
                <td class="tbltd1"><a href="http://download.netbeans.org/netbeans/6.9/beta/">Среда IDE NetBeans</a></td>
                <td class="tbltd1">Версия 6.9 (Java)</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://java.sun.com/javase/downloads/index.jsp">Комплект для разработчика на языке Java (JDK)</a></td>
                <td class="tbltd1">Версия 6</td>
            </tr>
            <tr>
                <td class="tbltd1"><a href="http://maven.apache.org/">Maven</a></td>
                <td class="tbltd1">Версия 2.0.9 или более поздняя версия</td>
            </tr>
            <tr>
                <td class="tbltd1">Сервер базы данных JavaDB (или другой) и база данных </td>
                <td class="tbltd1">&nbsp;</td>
            </tr>
        </tbody>
    </table>
 
    <p><strong class="notes">Примечание.</strong></p>
    <ul>
        <li>Сервер базы данных JavaDB и демонстрационная база данных поставляются вместе со встроенным сервером приложений GlassFish Server Open Source Edition 3.0.1.</li>
        <li>Для разработки приложений на платформе NetBeans не требуется загружать отдельную версию этой платформы. Как правило, разработка приложений и модулей осуществляется в среде IDE NetBeans, затем необходимо просто включить требуемые модули для выполнения платформы NetBeans и созданного приложения.</li>
</ul>
    <p>Перед изучением этого учебного курса можно ознакомиться со следующей документацией:</p>
    <ul>
        <li><a href="http://wiki.netbeans.org/MavenBestPractices">Практические рекомендации по Apache Maven в NetBeans 6.x</a>;</li>
        <li><a href="http://www.sonatype.com/books/maven-book/reference/introduction.html">Глава 1. Введение в Apache Maven</a> (из книги <a href="http://www.sonatype.com/books/maven-book/reference/public-book.html">Maven: полное руководство</a>)</li>
        <li><a href="https://netbeans.org/kb/docs/java/gui-functionality_ru.html">Введение в разработку графического интерфейса </a></li>
    </ul>
    
 
<!-- =================================================================== -->
<!-- +++++++++++++++ Configuring Maven +++++++++++++++++++++++++++++++++ -->

<h2><a name="config"></a>Настройка Maven</h2>
    <p>Если это первый опыт работы с Maven, следует проверить параметры настройки Maven в окне &quot;Параметры&quot;. Для работы с этим учебным курсом необходимо установить Maven на локальный компьютер. Программу установки можно загрузить с <a href="http://maven.apache.org/">сайта Maven</a>.</p>

    <ol>
        <li>Выберите категорию &quot;Разное&quot; в окне &quot;Параметры&quot; и перейдите на вкладку Maven.</li>
        <li>Укажите папку установки Maven (требуется версия 2.0.9 или более поздняя).</li>
        <li>Проверьте корректность адреса к локальному репозиторию Maven.</li>
        <li>Нажмите кнопку &quot;ОК&quot;.</li>
    </ol>
    <p>В большинстве случаев при использовании типичной настройки Maven данные в окне &quot;Параметры&quot; уже корректны.</p>

    <p>Maven SCM используется в среде IDE для проверки артефактов Maven. Может потребоваться проверка факта установки всех необходимых клиентов для проверки исходных файлов на локальном компьютере и корректности их настройки.</p>
    <p class="tips">Дополнительные сведения о Maven SCM приведены на <a href="http://maven.apache.org/scm/index.html">странице Maven SCM</a>.</p>

    <div class="indent">
        <h3><a name="config1"></a>Просмотр репозиториев Maven</h3>
        <p>Артефакты, используемые Maven для создания всех проектов, сохраняются в локальном репозитории Maven. Если артефакт объявлен как зависимость проекта, он загружается в локальный репозиторий из одного из зарегистрированных удаленных репозиториев.</p>

        <p>Репозиторий NetBeans и некоторые известные индексированные репозитории Maven зарегистрированы и включены в список окна &quot;Обозреватель репозитория&quot; по умолчанию. Репозиторий NetBeans содержит большинство общедоступных артефактов, требуемых для создания проекта. Обозреватель репозиториев Maven можно использовать для просмотра содержимого локальных и удаленных репозиториев. Для просмотра локальных артефактов разверните узел &quot;Локальный репозиторий&quot;. Артефакты, указанные в узлах удаленного репозитория, могут быть добавлены в качестве зависимостей проекта, однако не все из них представлены локально. Они добавляются к локальному репозиторию только в том случае, если объявляются в качестве зависимостей проекта.</p>

        <p>Чтобы открыть обозреватель репозиториев Maven:</p>
        <ul>
            <li>выберите в главном меню &quot;Окно&quot; &gt; &quot;Прочее&quot; &gt; &quot;Обозреватель репозиториев Maven&quot;.<br/>
            <img src="../images/tutorials/maven-quickstart68/maven-nbm-netbeans-repo.png" alt="Снимок экрана: обозреватель репозиториев Maven" title="Снимок экрана: обозреватель репозиториев Maven" class="margin-around b-all"  />
            </li>
        </ul>


        <p>Когда курсор находится над артефактом, среда IDE отображает всплывающую подсказку с координатами артефакта. Посмотреть дополнительные сведения об артефакте можно с помощью двойного щелчка по файлу JAR артефакта в обозревателе.</p>

        <p class="tips">Чтобы выполнить поиск артефакта, нажмите кнопку &quot;Найти&quot; на панели инструментов обозревателя репозиториев Maven или используйте текстовое поле &quot;Быстрый поиск&quot; на главной панели инструментов.</p>
        <p class="tips">Подробные сведения об управлении зависимостями путей классов Maven и работе с репозиториями Maven в среде IDE приведены в разделе <a href="http://wiki.netbeans.org/MavenBestPractices#Dependency_management">Управление зависимостями</a> курса <a href="http://wiki.netbeans.org/MavenBestPractices">Практические рекомендации по Apache Maven в NetBeans 6.x</a>.
        </p>
        <p class="tips">Для просмотра видеоролика по использованию Artifact Viewer обратитесь к демонстрации <a href="https://netbeans.org/kb/docs/java/maven-dependencies-screencast.html">Работа с зависимостями Maven</a>.</p>

</div>

<!-- =================================================================== -->
<!-- +++++++++++++++ Creating the Platform Application +++++++++++++++++ -->

<h2><a name="01">Создание проекта приложения на платформе NetBeans</a></h2>

    <p>В этом разделе для построения приложения на платформе NetBeans из архетипа Maven используется мастер создания проекта. Этот мастер создает проекты модуля Maven, требуемые для разработки приложения на платформе NetBeans. Модуль на платформе NetBeans создается также с помощью мастера создания проекта.
    </p>

    <div class="indent">
        <h3><a name="01a"></a>Создание проекта</h3>

        <p>Чтобы создать приложение на платформе NetBeans с помощью мастера создания проекта, выполните следующие действия:
        </p>
        <ol>
            <li>Выберите в меню &quot;Файл&quot; команду &quot;Новый проект&quot; (CTRL+SHIFT+N), чтобы открыть мастер создания проекта.</li>
            <li>Выберите приложение Maven NetBeans из категории Maven. Нажмите кнопку &quot;Далее&quot;.</li>
            <li>В поле &quot;Имя проекта&quot; введите <strong>MavenPlatformCRUDApp</strong> и укажите местоположение проекта. Нажмите кнопку &quot;Готово&quot;. </li>
        </ol>

        <p class="notes"><strong>Примечание.</strong> При построении приложения на платформе можно нажать кнопку &quot;Далее&quot; и создать проект модуля в мастере создания проекта, однако для наглядности в данном учебном курсе приложение и модуль создаются отдельно.</p>

        <img src="../images/tutorials/maven-crud/mavencrud-new-project.png" alt="Снимок экрана: мастер создания проекта" title="Снимок экрана: мастер создания проекта" class="margin-around b-all"  />
        
        <p>При нажатии кнопки &quot;Готово&quot; в среде IDE по умолчанию создаются следующие типы проектов Maven.</p>
        <ul>
            <li><strong>Приложение на платформе NetBeans.</strong> Данный проект является проектом-контейнером для приложения на платформе. В нем перечисляются включаемые модули и местоположения репозиториев проекта. Данный проект не содержит исходных файлов. В среде IDE создаются модули, содержащие исходные файлы и ресурсы в подкаталогах проекта.</li>
            <li><strong>Приложение на базе платформы NetBeans.</strong> В данном проекте указываются артефакты (исходные файлы), требуемые для компиляции приложения. Необходимые зависимости (артефакты среды IDE, артефакты модуля) указываются в файле проекта <tt>pom.xml</tt>.</li>
            <li><strong>Ресурсы брэндинга приложения на платформе.</strong> Этот проект содержит ресурсы, используемые для брэндинга приложения. </li>
        </ul>
        <img src="../images/tutorials/maven-crud/mavencrud-projects-window1.png" alt="Снимок экрана: структура проекта в окне &quot;Проекты&quot;" title="Структура проекта в окне &quot;Проекты&quot;" class="margin-around b-all"  />

        <p class="notes"><strong>Примечания.</strong></p>
        <ul>
            <li>Первое создание приложения платформы NetBeans с использованием Maven может занять некоторое время, поскольку среде IDE требуется загрузить все необходимые артефакты из репозитория NetBeans.</li>
            <li>После создания этого проекта некоторые из проектов (например, проект приложения на базе платформы NetBeans) отмечаются значком, так как некоторые зависимости в файле <tt>pom.xml</tt> недоступны.</li>
        </ul>



        <h3><a name="01b">Создание модуля</a></h3>
        <p>В этом упражнении будет использоваться мастер создания проекта для создания модуля на платформе NetBeans.
        </p>

        <ol>
            <li>Выберите в меню &quot;Файл&quot; команду &quot;Новый проект&quot; (CTRL+SHIFT+N), чтобы открыть мастер создания проекта.</li>
            <li>Выберите модуль Maven NetBeans из категории Maven. Нажмите кнопку &quot;Далее&quot;.</li>
            <li>В поле &quot;Имя проекта&quot; введите <strong>MavenPlatformCRUDApp-dbaccess</strong>.</li>
            <li>Укажите местоположение проекта, нажав кнопку &quot;Обзор&quot; и выбрав каталог <strong>MavenPlatformCRUDApp</strong>. Нажмите кнопку &quot;Открыть&quot;.<br/>
            <img src="../images/tutorials/maven-crud/mavencrud-select-location.png" alt="Снимок экрана: диалоговое окно &quot;Выбрать местоположение&quot;, в котором отображается местоположение" title="Диалоговое окно &quot;Выбрать местоположение&quot; (для проекта), в котором отображается каталог проекта" class="margin-around b-all"  />
            </li>
            <li>Нажмите кнопку &quot;Готово&quot;.  </li>
        </ol>

        <p>После нажатия кнопки &quot;Готово&quot; мастер создает проект модуля на платформе NetBeans с именем <strong>MavenPlatformCRUDApp-dbaccess</strong>. При сохранении модуля в подкаталоге он автоматически включается в приложение. При открытии POM проекта MavenPlatformCRUDApp объявляется как вышестоящий проект.
        </p>
        <pre class="examplecode">&lt;parent&gt;
    &lt;artifactId&gt;MavenPlatformCRUDApp&lt;/artifactId&gt;
    &lt;groupId&gt;com.mycompany&lt;/groupId&gt;
    &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
&lt;/parent&gt;
&lt;artifactId&gt;MavenPlatformCRUDApp-dbaccess&lt;/artifactId&gt;
&lt;packaging&gt;nbm&lt;/packaging&gt;
&lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
&lt;name&gt;MavenPlatformCRUDApp - dbaccess NetBeans Module&lt;/name&gt;
</pre>

        <p class="tips">Можно изменить отображаемое имя модуля, изменив элемент <tt>&lt;name&gt;</tt> в POM или в окне проекта &quot;Свойства&quot;. Отображаемое имя, заданное по умолчанию, - идентификатор артефакта проекта <tt>MavenPlatformCRUDApp-dbaccess</tt>.</p>

        <p>Обратите внимание на POM приложения на платформе NetBeans в узле &quot;Файлы проекта&quot; в окне &quot;Проекты&quot;: в качестве модулей приложения приводятся три модуля.</p>
<pre class="examplecode">
&lt;modules&gt;
   &lt;module&gt;branding&lt;/module&gt;
   &lt;module&gt;application&lt;/module&gt;
   &lt;module&gt;MavenPlatformCRUDApp-dbaccess&lt;/module&gt;
&lt;/modules&gt;
</pre>
        

        <h3><a name="01c"></a>Добавление модуля в качестве зависимости</h3>
        <p>Теперь необходимо добавить модуль как зависимость приложения на базе платформы NetBeans. Зависимость можно добавить, изменив в редакторе файл <tt>pom.xml</tt> или используя диалоговое окно &quot;Добавить зависимость&quot;.</p>
        <ol>
            <li>Разверните в окне &quot;Проекты&quot; узел <strong>Приложение на базе платформы NetBeans</strong>.</li>
            <li>Щелкните узел &quot;Библиотеки&quot; правой кнопкой мыши и выберите команду &quot;Добавить зависимость&quot;.</li>
            <li>Щелкните вкладку &quot;Открыть проекты&quot; и выберите <strong>MavenPlatformCRUDApp - dbaccess</strong>. Нажмите кнопку &quot;ОК&quot;.<br/>
            <img src="../images/tutorials/maven-crud/mavencrud-add-dependency1.png" alt="Снимок экрана: диалоговое окно &quot;Добавить зависимость&quot;" title="Вкладка &quot;Открыть проекты&quot; в диалоговом окне &quot;Добавить зависимость&quot;" class="margin-around b-all"  />
            </li>
        </ol>


        <p>Разверните в окне &quot;Проекты&quot; узел &quot;Библиотеки&quot; приложения на базе платформы NetBeans: теперь MavenPlatformCRUDApp-dbaccess приводится как зависимость.</p>

        <p>Обратите внимание на POM приложения на базе платформы NetBeans: артефакт модуля <tt>MavenPlatformCRUDApp-dbaccess</tt> приводится как зависимость, требуемая для компиляции приложения. Данный артефакт будет доступен после создания проекта модуля и установки артефакта в локальный репозиторий.</p>

    <pre class="examplecode">&lt;dependency&gt;
    &lt;groupId&gt;${project.groupId}&lt;/groupId&gt;
    &lt;artifactId&gt;<strong>MavenPlatformCRUDApp-dbaccess</strong>&lt;/artifactId&gt;
    &lt;version&gt;${project.version}&lt;/version&gt;
&lt;/dependency&gt;</pre>



        <h3><a name="01d"></a>Брэндинг приложения</h3>
        <p>В модуле брэндинга указываются ресурсы брэндинга, используемые для построения приложения на платформе. В диалоговом окне брэндинга можно простым образом указать имя, заставку и значок приложения, а также изменить значения текстовых элементов.</p>

        <p>В этом упражнении будет выполнена замена изображения заставки, заданного по умолчанию. Модуль брэндинга, созданный средой IDE по умолчанию, содержит изображение, выводимое при запуске приложения на платформе. Чтобы заменить это изображение другим, выполните следующие действия:</p>
        <ol>
            <li>В окне &quot;Проекты&quot; щелкните правой кнопкой мыши модуль <strong>Ресурсы брэндинга приложения на платформе</strong> и выберите команду &quot;Брэндинг&quot;. </li>
            <li>На вкладке &quot;Заставка&quot; укажите изображение для заставки, нажав кнопку &quot;Обзор&quot; рядом с изображением заставки, заданным по умолчанию, и указав местоположение требуемого изображения. Нажмите кнопку &quot;ОК&quot;.</li>
        </ol>

        <p>Например, можно скопировать изображение, приведенное ниже, на локальный компьютер и указать его в диалоговом окне &quot;Брэндинг&quot;.</p>
        <img src="../images/tutorials/maven-crud/splash-crud.gif" alt="Пример изображения заставки, заданного по умолчанию" title="Пример изображения заставки, заданного по умолчанию" class="margin-around b-all"  />

        <p>Новое изображение появится при запуске приложения.</p>
    </div>


<!-- =================================================================== -->
<!-- +++++++++++++++++++++++ Creating the Entity Classes +++++++++++++++++++ -->


    <h2><a name="02"></a>Создание классов сущностей</h2>

    <p>В этом разделе будет создано несколько классов сущностей из таблиц в базе данных Java DB. Чтобы создать классы сущностей и использовать в приложении интерфейс API Java Persistence (JPA), необходимо иметь доступ к серверу базы данных и библиотекам поставщика сохранения состояния JPA. В данном учебном курсе используется сервер базы данных Java DB, однако для работы с приложением можно настроить другой сервер базы данных.</p>

    <p>Сделать ресурсы доступными проще всего, зарегистрировав экземпляр сервера приложений GlassFish Server Open Source Edition 3.0.1, поставляемый в составе среды IDE. Сервер базы данных Java DB, демонстрационная база данных и поставщик сохранения состояния JPA поставляются вместе с сервером GlassFish. Перед созданием классов сущностей запустите Java DB, выполнив следующие действия:</p>

    <ol>
        <li>В окне &quot;Службы&quot; разверните узел &quot;Серверы&quot; и убедитесь в том, что экземпляр сервера приложений GlassFish зарегистрирован.</li>
        <li>Разверните узел базы данных, щелкните правой кнопкой мыши узел подключения к базе данных<strong>app</strong> на Java DB <tt>jdbc:derby://localhost:1527/sample [app on APP]</tt> и выберите команду &quot;Подключить&quot;. </li>
    </ol>

    <p>При нажатии кнопки &quot;Подключить&quot; среда IDE запускает базу данных, если она еще не запущена.</p>
    <div class="indent">
        <h3><a name="02a">Добавление модуля Derby Client в качестве зависимости</a></h3>

        <p>В этом разделе в качестве зависимости будет добавлена библиотека derbyclient-10.5.3.0_1.</p>

        <ol>
            <li>Щелкните правой кнопкой мыши узел &quot;Библиотеки&quot; модуля <strong>dbaccess</strong> и выберите команду &quot;Добавить зависимость&quot;. </li>
            <li>Чтобы добавить библиотеку, введите <strong>org.apache.derby</strong> в поле &quot;Имя группы&quot;, <strong>derbyclient</strong> в поле &quot;Имя артефакта&quot; и <strong>10.5.3.0_1</strong> в поле &quot;Имя версии&quot;.</li>
            <li>Выберите в контекстном меню &quot;Область действия&quot; команду <strong>Выполнить</strong>. Нажмите кнопку &quot;ОК&quot;.<br/>
            <img src="../images/tutorials/maven-crud/mavencrud-add-dependency-derby.png" alt="Пример диалогового окна &quot;Добавить зависимость&quot;" title="Добавление JAR derbyclient в диалоговом окне &quot;Добавить зависимость&quot;" class="margin-around b-all"  />
            </li>
        </ol>

        <p>Разверните узел &quot;Библиотеки выполнения&quot; в окне &quot;Проекты&quot;: библиотека <tt>derbyclient</tt> приводится в качестве зависимости.</p>
        <p class="tips">Также в редакторе можно изменить POM, чтобы указать значение элемента <tt>&lt;scope&gt;</tt> зависимости.</p>

        <pre class="examplecode">&lt;dependency&gt;
            &lt;groupId&gt;org.apache.derby&lt;/groupId&gt;
            &lt;artifactId&gt;derbyclient&lt;/artifactId&gt;
            &lt;version&gt;10.5.3.0_1&lt;/version&gt;
            &lt;scope&gt;runtime&lt;/scope&gt;
        &lt;/dependency&gt;</pre>

        <h3><a name="02b"></a>Создание классов сущностей из базы данных</h3>
        <p>В этом разделе будет использоваться мастер для создания классов сущностей в модуле <strong>dbaccess</strong>.
        </p>

        <ol>
            <li>Щелкните правой кнопкой мыши узел &quot;Исходные файлы&quot; модуля <strong>dbaccess</strong> и выберите &quot;Создать&quot; &gt; &quot;Прочее&quot;. </li>
            <li>Выберите классы сущностей из базы данных в категории &quot;Сохранение состояния&quot;. Нажмите кнопку &quot;Далее&quot;.</li>
            <li>Выберите демонстрационную базу данных Java DB в контекстном меню &quot;Соединение с базой данных&quot;.</li>
            <li>Выберите таблицу Customer из списка &quot;Доступные таблицы&quot; и нажмите кнопку &quot;Добавить&quot;. При нажатии кнопки &quot;Добавить&quot; связанная таблица DiscountCode также добавляется в список &quot;Выбранные таблицы&quot;. Нажмите кнопку &quot;Далее&quot;.</li>
            <li>В поле &quot;Имя пакета&quot; введите <strong>com.mycompany.mavenplatformcrudapp.dbaccess</strong>. Убедитесь, что команды &quot;Создать единицу сохранения состояния&quot; и &quot;Создать аннотации именованных запросов&quot; выбраны. Нажмите кнопку &quot;Готово&quot;. </li>
        </ol>
        <p>При нажатии кнопки &quot;Готово&quot; среда IDE создает классы сущностей Customer и DiscountCode. Также среда IDE создает файл <tt>persistence.xml</tt> в пакете <tt>META-INF</tt> в узле &quot;Другие источники&quot; в каталоге <tt>src/main/resources</tt>.</p>


        


        


    </div>

<!-- =================================================================== -->
<!-- +++++++++++++++++++ Implementing CRUD : READ ++++++++++++++++++++++ -->


    <h2><a name="03"></a>Чтение: считывание и вывод записи</h2>
    <p>В этом разделе будет использоваться мастер для добавления оконного компонента в модуль <strong>dbaccess</strong>. Чтобы просмотреть объекты как узлы, настройте в оконном компоненте древовидное представление. В окне свойств узла можно просмотреть данные по каждой записи.</p>
    
    <div class="indent">

        <h3><a name="03a"></a>Добавление оконного компонента</h3>
        <p>В этом упражнении будет создан оконный компонент.</p>
        <ol>
            <li>В окне &quot;Проекты&quot; щелкните правой кнопкой мыши узел проекта и выберите &quot;Создать&quot; &gt; &quot;Оконный компонент&quot;.</li>
            <li>Задайте в контекстном меню &quot;Позиция окна&quot; значение <strong>editor</strong> и установите флажок <strong>Открывать при запуске приложения</strong>. Нажмите кнопку &quot;Далее&quot;.<br/>
            <img src="../images/tutorials/maven-crud/mavencrud-new-window-customer.png" alt="Снимок экрана: мастер создания оконного компонента" title="Страница основных параметров мастера создания оконного компонента" class="margin-around b-all"  />
            </li>
            <li>В качестве префикса имени класса введите <strong>Customer</strong>.</li>
            <li>В поле &quot;Имя пакета&quot; введите <strong>com.mycompany.mavenplatformcrudapp.viewer</strong>. Нажмите кнопку &quot;Готово&quot;. 
            <p>В мастере отображается список файлов, которые нужно создать или изменить.</p></li>
        </ol>
        <p>При нажатии кнопки &quot;Готово&quot; в окне &quot;Проекты&quot; отображается класс <tt>CustomerTopComponent.java</tt>, созданный средой IDE в <tt>com.mycompany.mavenplatformcrudapp.viewer</tt> в узле &quot;Исходные файлы&quot;. В окне &quot;Файлы&quot; можно просмотреть структуру проекта. Для компиляции проекта Maven в узле &quot;Папка с исходными файлами&quot; могут находиться только исходные файлы (каталог <tt>src/main/java</tt> в окне &quot;Файлы&quot;). Файлы ресурсов (например, файлы XML) должны быть расположены в узле &quot;Другие источники&quot; (каталог <tt>src/main/resources</tt> в окне &quot;Файлы&quot;).</p>


        <h3><a name="03b"></a>Добавление древовидного представления</h3>

        <p>Теперь можно изменить оконный компонент, чтобы отобразить записи базы данных в древовидной структуре. Можно добавить в конструктор диспетчер сущностей и включить древовидное представление компонентов.</p>
        <ol>
            <li>Для просмотра исходного кода в редакторе перейдите на вкладку &quot;Исходный код&quot; в <tt>CustomerTopComponent.java</tt>.</li>
            <li>Измените конструктор, добавив следующие элементы:
        <pre class="examplecode">public CustomerTopComponent() {
    initComponents();
    setName(NbBundle.getMessage(CustomerTopComponent.class, &quot;CTL_CustomerTopComponent&quot;));
    setToolTipText(NbBundle.getMessage(CustomerTopComponent.class, &quot;HINT_CustomerTopComponent&quot;));
//        setIcon(ImageUtilities.loadImage(ICON_PATH, true));

    <strong>EntityManager entityManager = Persistence.createEntityManagerFactory(&quot;com.mycompany_MavenPlatformCRUDApp-dbaccess_nbm_1.0-SNAPSHOTPU&quot;).createEntityManager();
    Query query = entityManager.createQuery(&quot;SELECT c FROM Customer c&quot;);
    List&lt;Customer&gt; resultList = query.getResultList();</strong>
}</pre>
            
            <p class="tips">Убедитесь, что имя единицы сохранения состояния в коде корректно, сравнив его с именем, указанным в файле <tt>persistence.xml</tt>.</p>
            </li>
            <li>Измените сигнатуру класса для реализации элемента <tt>ExplorerManager.Provider.</tt>
            <pre class="examplecode">final class CustomerTopComponent extends TopComponent <strong>implements ExplorerManager.Provider</strong></pre>
            </li>
            <li>Исправьте операторы импорта для импорта <tt><strong>javax.persistence.Query</strong></tt> и <tt><strong>javax.util.List</strong></tt>.</li>
            <li>Объявите и инициализируйте ExplorerManager:
            <pre class="examplecode">private static ExplorerManager em = new ExplorerManager();</pre>
            </li>
            <li>Реализуйте абстрактные методы и измените метод <tt>getExplorerManager</tt> для возврата <tt>em</tt>.
            <pre class="examplecode">@Override
public ExplorerManager getExplorerManager() {
    return em;
}</pre>
            <p class="tips">Чтобы реализовать абстрактные методы, установите курсор в режиме вставки на сигнатуру класса и нажмите сочетание клавиш ALT+ВВОД.</p>
            </li>
            <li>Чтобы включить древовидное представление компонентов, добавьте в конструктор следующие элементы:
            <pre class="examplecode">BeanTreeView beanTreeView = new BeanTreeView();
add(beanTreeView, BorderLayout.CENTER);</pre>
            </li>
            
            <li>Щелкните компонент правой кнопкой мыши в режиме проектирования и выберите из меню &quot;Установить макет&quot; пункт &quot;Макет с границами&quot;. Сохраните изменения.</li>

       </ol>

        <h3><a name="03c"></a>Создание класса фабрики</h3>

        <p>Теперь можно создать новый класс <strong>CustomerChildFactory</strong> в пакете <tt>com.mycompany.mavenplatformcrudapp.viewer</tt>, создающий новый элемент BeanNode для каждого клиента в базе данных.</p>
        <ol>

            <li>Щелкните правой кнопкой мыши пакет <tt><strong>com.mycompany.mavenplatformcrudapp.viewer</strong></tt> и выберите &quot;Создать&quot; &gt; &quot;Класс Java &quot;.</li>
            <li>В поле &quot;Имя класса&quot; введите <strong>CustomerChildFactory</strong>. Нажмите кнопку &quot;Готово&quot;. </li>
            <li>Для расширения класса <tt>ChildFactory&lt;Customer&gt;</tt> измените его сигнатуру.</li>
            <li>Объявите поле <tt>resultList</tt> для списка элементов в таблице и добавьте метод <tt>CustomerChildFactory</tt>.
                <pre class="examplecode">private List&lt;Customer&gt; resultList;

public CustomerChildFactory(List&lt;Customer&gt; resultList) {
    this.resultList = resultList;
}</pre>
            </li>
            <li>Реализуйте и затем измените абстрактный метод <tt>createKeys</tt>.
                <pre class="examplecode">@Override
    protected boolean createKeys(List&lt;Customer&gt; list) {
        for (Customer Customer : resultList) {
            list.add(Customer);
        }
        return true;
    }</pre></li>
            <li>Добавьте метод для создания узлов.
                <pre class="examplecode">@Override
protected Node createNodeForKey(Customer c) {
    try {
        return new BeanNode(c);
    } catch (IntrospectionException ex) {
        Exceptions.printStackTrace(ex);
        return null;
    }
}</pre>
            </li>
            <li>Исправьте операторы импорта для импорта <tt>org.openide.nodes.Node</tt> и <tt>java.beans.InstrospectionException</tt>. Сохраните изменения.</li>
        </ol>


        <p>Класс будет выглядеть следующим образом:</p>

        <pre class="examplecode">package com.mycompany.mavenplatformcrudapp.viewer;

import com.mycompany.mavenplatformcrudapp.dbaccess.Customer;
import java.beans.IntrospectionException;
import java.util.List;
import org.openide.nodes.BeanNode;
import org.openide.nodes.ChildFactory;
import org.openide.nodes.Node;
import org.openide.util.Exceptions;

public class CustomerChildFactory extends ChildFactory&lt;Customer&gt; {

    private List&lt;Customer&gt; resultList;

    public CustomerChildFactory(List&lt;Customer&gt; resultList) {
        this.resultList = resultList;
    }

    @Override
    protected boolean createKeys(List&lt;Customer&gt; list) {
        for (Customer customer : resultList) {
            list.add(customer);
        }
        return true;
    }

    @Override
    protected Node createNodeForKey(Customer c) {
        try {
            return new BeanNode(c);
        } catch (IntrospectionException ex) {
            Exceptions.printStackTrace(ex);
            return null;
        }
    }

}</pre>

        <p>Теперь необходимо изменить <strong>CustomerTopComponent</strong>, чтобы использовать ExplorerManager для передачи результатов из запроса JPA в элемент Node.</p>
        <ol>
            <li>Добавьте следующие строки в конструктор CustomerTopComponent, чтобы установить корневой контекст для узлов и добавить ActionMap элемента TopComponent и ExplorerManager в Lookup элемента TopComponent.

            <pre class="examplecode">
    EntityManager entityManager =  Persistence.createEntityManagerFactory(&quot;com.mycompany_MavenPlatformCRUDApp-dbaccess_nbm_1.0-SNAPSHOTPU&quot;).createEntityManager();
    Query query = entityManager.createQuery(&quot;SELECT c FROM Customer c&quot;);
    List&lt;Customer&gt; resultList = query.getResultList();
    <strong>em.setRootContext(new AbstractNode(Children.create(new CustomerChildFactory(resultList), true)));
    associateLookup(ExplorerUtils.createLookup(em, getActionMap()));</strong></pre>
 <!--           <li>Expand the Libraries node and change the dependency on <tt>org-openide-nodes</tt> and <tt>org-openide-explorer</tt> from transitive to direct.-->

            <p>При этом синхронизируются окно &quot;Свойства&quot; и текст всплывающей подсказки для каждого выбранного узла.</p>
            </li>
            <li>Исправьте операторы импорта и сохраните измененные данные.</li>
        </ol>



        <h3><a name="03d"></a>Запуск приложения</h3>
        <p>В этом упражнении будет выполнена проверка приложения для подтверждения правильности доступа и считывания таблицы базы данных. Перед построением и запуском приложения необходимо изменить POM, так как приложение требует прямой зависимости от файлов JAR <tt>org-openide-nodes</tt> и <tt>org-openide-explorer</tt>. Зависимость можно изменить в окне &quot;Проекты&quot;.</p>

        <ol>
            <li>Разверните узел &quot;Библиотеки&quot; модуля <strong>dbaccess</strong>.</li>
            <li>Щелкните правой кнопкой мыши файл JAR <tt>org-openide-nodes</tt> и выберите команду &quot;Объявить как прямую зависимость&quot;.</li>
            <li>Щелкните правой кнопкой мыши файл JAR <tt>org-openide-explorer</tt> и выберите команду &quot;Объявить как прямую зависимость&quot;.</li>
            <li>Щелкните правой кнопкой мыши <strong>приложение на базе платформы NetBeans MavenPlatformCRUDApp</strong> и выберите команду &quot;Построить вместе с зависимостями&quot;.
            <p>В окне &quot;Вывод&quot; отобразятся включаемые модули.</p>
            <img src="../images/tutorials/maven-crud/mavencrud-build-output1.png" alt="Снимок экрана: верхняя часть окна &quot;Вывод&quot;" title="В окне &quot;Вывод&quot; отображается порядок построения" class="margin-around b-all"  />
            <p>В окне &quot;Вывод&quot; также отображается статус построения.</p>
            <img src="../images/tutorials/maven-crud/mavencrud-build-output2.png" alt="Снимок экрана: нижняя часть окна &quot;Вывод&quot;" title="В окне &quot;Вывод&quot; выводится сообщение об успешном завершении построения" class="margin-around b-all"  />
            </li>
            <li>Щелкните приложение правой кнопкой мыши и выберите команду &quot;Выполнить&quot;. </li>
        </ol>
        <p>При запуске приложения появляется окно Customer с узлами для всех записей в таблице базы данных.</p>
            
        <img src="../images/tutorials/maven-crud/mavencrud-customer-window1.png" alt="Снимок экрана: окно Customer в приложении" title="Окно Customer в приложении" class="margin-around b-all"  />
        <p>Для просмотра дополнительных сведений о нужном элементе щелкните правой кнопкой мыши его узел в окне Customer и выберите &quot;Свойства&quot;. </p>


        <img src="../images/tutorials/maven-crud/mavencrud-read-properties.png" alt="Снимок экрана: окно &quot;Свойства&quot; в приложении" title="В окне &quot;Свойства&quot; отображаются дополнительные сведения о выбранном узле" class="margin-around b-all"  />

    </div>



<!-- =================================================================== -->
<!-- +++++++++++++++++++ Implementing CRUD : UPDATE ++++++++++++++++++++ -->

    <h2><a name="04"></a>Обновление: изменение записи</h2>
    

    <p>В этом разделе будет добавляться оконный компонент для редактирования подробных сведений записи.</p>
    <div class="indent">
    <h3><a name="04a"></a>Создание окна редактора</h3>
    <p>В этом упражнении будет создано новое окно MyEditor, содержащее два текстовых поля &quot;Имя&quot; и &quot;Город&quot; для выбранного узла. Затем необходимо изменить файл <tt>layer.xml</tt>, чтобы окно Customer открылось в режиме поиска, а не редактирования.</p>
    <ol>
        <li>Щелкните модуль <strong>dbaccess</strong> правой кнопкой мыши и выберите &quot;Создать&quot; &gt; &quot;Окно&quot;.</li>
        <li>Выберите в контекстном меню значение <strong>editor</strong> и установите флажок <strong>Открывать при запуске приложения</strong>. Нажмите кнопку &quot;Далее&quot;.</li>
        <li>В качестве префикса имени класса введите <strong>MyEditor</strong>.</li>
        <li>В поле &quot;Имя пакета&quot; введите <strong>com.mycompany.mavenplatformcrudapp.editor</strong>. Нажмите кнопку &quot;Готово&quot;. </li>
        <li>Добавьте в режиме проектирования компонента <tt>MyEditorTopComponent</tt> две метки JLabel и два поля JTextField. </li>
        <li>Задайте тексты меток &quot;Имя&quot; и &quot;Город&quot;, а затем установите имена переменных полей JTextField равными <tt><strong></strong>jTextField1</tt> и <tt><strong>jTextField2</strong></tt>. Сохраните изменения.<br/>
        <img src="../images/tutorials/maven-crud/mavencrud-myeditor-window.png" alt="Снимок экрана: оконный компонент в режиме проектирования" title="Оконный компонент в режиме проектирования" class="margin-around b-all"  />
        </li>
        <li>В окне &quot;Проекты&quot; разверните узел &quot;Важные файлы&quot; и дважды щелкните подузел <strong>Слой XML</strong>, чтобы открыть в редакторе файл <tt>layer.xml</tt>.</li>
        <li>Измените файл <tt>layer.xml</tt>, указав в нем, что окно CustomerTopComponent выводится в режиме поиска. Сохраните изменения.
            <pre class="examplecode">
 &lt;folder name=&quot;Modes&quot;&gt;
    &lt;folder name=&quot;editor&quot;&gt;
        &lt;file name=&quot;MyEditorTopComponent.wstcref&quot; url=&quot;MyEditorTopComponentWstcref.xml&quot;/&gt;
    &lt;/folder&gt;
    <strong>&lt;folder name=&quot;explorer&quot;&gt;
        &lt;file name=&quot;CustomerTopComponent.wstcref&quot; url=&quot;CustomerTopComponentWstcref.xml&quot;/&gt;
    &lt;/folder&gt;</strong>
&lt;/folder&gt;
            </pre>
        </li>
    </ol>


    <p>Теперь можно протестировать приложение, чтобы проверить, как отрываются окна и правильно ли они расположены.</p>
    <p class="tips">Не забудьте очистить приложение перед построением вместе с зависимостями.</p>

    <p>Теперь можно добавить код, чтобы при выборе узла в окне Customer поля &quot;Имя&quot; и &quot;Город&quot; объекта отображались в редакторе.</p>


    <h3><a name="04b"></a>Использование LookupListener</h3>
    <p>В этом упражнении будет изменено окно Customer, чтобы при выборе узла новый объект <tt>Customer</tt> добавлялся в Lookup элемента Node. Затем будет изменен элемент MyEditor, чтобы в этом окне реализовался элемент <tt><a href="http://bits.netbeans.org/dev/javadoc/org-openide-util-lookup/org/openide/util/LookupListener.html">LookupListener</a></tt> для прослушивания объектов <tt>Customer</tt>, добавленных в Lookup.</p>

    <ol>
        <li>Измените метод <tt>createNodeForKey</tt> в элементе <strong>CustomerChildFactory</strong>, чтобы создать <tt>AbstractNode</tt> вместо <tt>BeanNode</tt>.
            <!--Do this by creating an AbstractNode, instead of a BeanNode, in the CustomerChildFactory class.
            That enables you to add the current Customer object to the Lookup of the Node, as follows (note the part in bold):-->
            <pre class="examplecode">
@Override
protected Node createNodeForKey(Customer c) {
  <strong>Node node = new AbstractNode(Children.LEAF, Lookups.singleton(c));
  node.setDisplayName(c.getName());
  node.setShortDescription(c.getCity());
  return node;</strong>
//        try {
//            return new BeanNode(c);
//        } catch (IntrospectionException ex) {
//            Exceptions.printStackTrace(ex);
//            return null;
//        }
}</pre>
        <p>При выборе нового узла в окне Customer указанный объект <tt>Customer</tt> добавляется в Lookup окна.</p>
        </li>
        <!--    First, set a dependency in the editor module on the module that provides the entity class,
                as well as the module that provides the persistence JARs.
-->
        <li>Перейдите на вкладку &quot;Исходный код&quot; элемента <strong>MyEditorTopComponent</strong> и измените сигнатуру класса, чтобы реализовать <tt>LookupListener</tt>.
            <pre class="examplecode">public final class MyEditorTopComponent extends TopComponent <strong>implements LookupListener</strong></pre>
        </li>
        <li>Добавьте переменную, чтобы сохранить результаты.
            <pre class="examplecode">private Lookup.Result result = null;</pre>
        </li>
        <li>Реализуйте требуемые абстрактные методы, чтобы добавить метод <tt>resultChanged</tt>.</li>
        <li>Измените метод <tt>resultChanged</tt>, чтобы обновлять поля jTextField каждый раз при вставке нового объекта <tt>Customer</tt> в окно Lookup.
            <pre class="examplecode">
      @Override
      public void resultChanged(LookupEvent le) {
          Lookup.Result r = (Lookup.Result) le.getSource();
          Collection&lt;Customer&gt; coll = r.allInstances();
          if (!coll.isEmpty()) {
              for (Customer cust : coll) {
                  jTextField1.setText(cust.getName());
                  jTextField2.setText(cust.getCity());
              }
          } else {
              jTextField1.setText(&quot;[no name]&quot;);
              jTextField2.setText(&quot;[no city]&quot;);
          }
      }
</pre>
        

        <p>После определения элемента LookupListener можно добавить его в <tt>Lookup.Result</tt>, полученный из глобального контекста. Глобальный контекст используется в качестве прокси для контекста выбранного узла. Например, если в древовидной иерархии выбран узел Ford Motor Co, объект <tt>Customer</tt> для него добавляется в окно Lookup элемента Node. Так как в настоящий момент выбран узел Ford Motor Co, объект <tt>Customer</tt> для него доступен сейчас в глобальном контексте. Это передается в элемент <tt>resultChanged</tt> и приводит к заполнению текстовых полей.</p>
        </li>
        <li>Измените методы <tt>componentOpened</tt> и <tt>componentClosed</tt>, чтобы активировать LookupListener, когда откроется окно редактора. 
            <pre class="examplecode">
      @Override
      public void componentOpened() {
          result = WindowManager.getDefault().findTopComponent(&quot;CustomerTopComponent&quot;).getLookup().lookupResult(Customer.class);
          result.addLookupListener(this);
          resultChanged(new LookupEvent(result));
      }

      @Override
      public void componentClosed() {
          result.removeLookupListener(this);
          result = null;
      }</pre>
    <p>Так как окно редактора открывается при запуске приложения, элемент LookupListener становится тоже доступен в этот момент. </p>
    
    <p>В этом упражнении используется локальное окно Lookup, предоставленное окном Customer. В этом случае окно явно определяется строкой &quot;<tt>CustomerTopComponent</tt>&quot;. Строка определяется в исходном коде <tt>CustomerTopComponent</tt> как идентификатор элемента CustomerTopComponent. Данный подход работает только в том случае, если MyEditorTopComponent может найти компонент TopComponent с идентификатором &quot;CustomerTopComponent&quot;.
    </p>

    <p class="tips">Более гибкий подход, включающий в себя перезапись модели выбора, описывается в <a href="http://weblogs.java.net/blog/timboudreau/archive/2007/01/how_to_replace.html">сообщении блога Тима Будро</a>.</p>
        </li>
    </ol>

    <p>После выполнения команды &quot;Очистить и построить вместе с зависимостями&quot; можно повторно запустить приложение. Теперь окно редактора обновляется каждый раз при выборе нового элемента Node в окне Customer. Так как теперь вместо <tt>BeanNode</tt> используется <tt>AbstractNode</tt>, в окне &quot;Свойства&quot; нет свойств.</p>




    <h3><a name="04c"></a>Добавление функций &quot;Отменить&quot; и &quot;Вернуть&quot;</h3>
    <p>В этом упражнении с помощью диспетчера <tt><a href="http://bits.netbeans.org/dev/javadoc/org-openide-awt/org/openide/awt/UndoRedo.html">UndoRedo</a></tt> будут включены функции &quot;Отменить&quot; и &quot;Вернуть&quot;. Кнопки &quot;Отменить&quot; и &quot;Вернуть&quot; на панели инструментов и соответствующие пункты меню включаются после изменения одного из полей в окне редактора.</p>

    <ol>
        <li>Объявите и создайте новый экземпляр диспетчера UndoRedoManager в верхней части компонента MyEditorTopComponent.
            <pre class="examplecode">private UndoRedo.Manager manager = new UndoRedo.Manager();</pre>
        </li>
        <li>Создайте метод <tt>getUndoRedo</tt> в компоненте MyEditorTopComponent:
        <pre class="examplecode">
@Override
public UndoRedo getUndoRedo() {
    return manager;
}</pre>
        </li>
        <li>Добавьте в конструктор следующие элементы:
            <!--In the constructor of MyEditorTopComponent, add a KeyListener to the jTextFields and,
within the related methods that you need to implement, add the UndoRedoListeners:
            
            what is happening here?
            
            
            -->
<pre class="examplecode">
jTextField1.getDocument().addUndoableEditListener(manager);
jTextField2.getDocument().addUndoableEditListener(manager);</pre>
        </li>
    </ol>
    <p>Запустите приложение для проверки правильной работы кнопок &quot;Отменить&quot; и &quot;Вернуть&quot; и соответствующих пунктов меню.</p>


    <h3><a name="04d"></a>Добавление функции &quot;Сохранить&quot;</h3>

    <p>В этом упражнении будут интегрированы функции сохранения платформы NetBeans. Будет изменен файл<tt>layer.xml</tt>, чтобы скрыть кнопку &quot;Сохранить все&quot; и добавить кнопку &quot;Сохранить&quot; на панели инструментов. Затем будут добавлены прослушивающие процессы для определения изменений в текстовых полях и метод <tt>fire</tt>, инициируемый при обнаружении изменения.
    
    </p>
    <ol>
        <li>Откройте и измените файл <tt>layer.xml</tt> модуля <strong>dbaccess</strong>, чтобы добавить элемент панели инструментов.
            <pre class="examplecode">
    <strong>&lt;folder name=&quot;Toolbars&quot;&gt;
      &lt;folder name=&quot;File&quot;&gt;
          &lt;file name=&quot;org-openide-actions-SaveAction.shadow&quot;&gt;
              &lt;attr name=&quot;originalFile&quot; stringvalue=&quot;Actions/System/org-openide-actions-SaveAction.instance&quot;/&gt;
              &lt;attr name=&quot;position&quot; intvalue=&quot;444&quot;/&gt;
          &lt;/file&gt;
          &lt;file name=&quot;org-openide-actions-SaveAllAction.shadow_hidden&quot;/&gt;
      &lt;/folder&gt;
    &lt;/folder&gt;</strong>
&lt;/filesystem&gt;</pre>
        </li>
        <li>В конструкторе <strong>MyEditorTopComponent</strong> добавьте вызов метода при каждом обнаружении изменений в текстовых полях.
            <pre class="examplecode">
public MyEditorTopComponent() {

          ...
    jTextField1.getDocument().addUndoableEditListener(manager);
    jTextField2.getDocument().addUndoableEditListener(manager);

    <strong>jTextField1.getDocument().addDocumentListener(new DocumentListener() {
        public void insertUpdate(DocumentEvent arg0) {
          fire(true);
        }
        public void removeUpdate(DocumentEvent arg0) {
          fire(true);
        }
        public void changedUpdate(DocumentEvent arg0) {
          fire(true);
        }
    });

    jTextField2.getDocument().addDocumentListener(new DocumentListener() {
        public void insertUpdate(DocumentEvent arg0) {
          fire(true);
        }
        public void removeUpdate(DocumentEvent arg0) {
          fire(true);
        }
        public void changedUpdate(DocumentEvent arg0) {
          fire(true);
        }
    });

//Создание экземпляра реализации SaveCookie:
    impl = new SaveCookieImpl();

    //Создание экземпляра динамического объекта:
    content = new InstanceContent();

    //Добавление динамического объекта в верхнюю часть TopComponent Lookup:
    associateLookup(new AbstractLookup(content));</strong>

    ...
}</pre>
            </li>
            <li>Добавьте метод <tt>fire</tt>, вызываемый всякий раз при обнаружении изменений.
                
            <pre class="examplecode">
public void fire(boolean modified) {
  if (modified) {
      //Если текст изменен,
      //к Lookup добавляется реализация SaveCookie:
      content.add(impl);
  } else {
      //В противном случае реализация SaveCookie удаляется из lookup:
      content.remove(impl);
  }
}</pre>
            </li>
            <li>Добавьте следующую реализацию <tt><a href="http://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/cookies/SaveCookie.html">SaveCookie</a></tt>, которая была ранее добавлена к <tt>InstanceContent</tt> с помощью метода <tt>fire</tt>.
<pre class="examplecode">
private class SaveCookieImpl implements SaveCookie {

  @Override
  public void save() throws IOException {

     Confirmation message = new NotifyDescriptor.Confirmation(&quot;Сохранить \&quot;&quot;
              + jTextField1.getText() + &quot; (&quot; + jTextField2.getText() + &quot;)\&quot;?&quot;,
              NotifyDescriptor.OK_CANCEL_OPTION,
              NotifyDescriptor.QUESTION_MESSAGE);

      Object result = DialogDisplayer.getDefault().notify(message);
      //Если пользователь намерен сохранить и нажимает &quot;Да&quot;,
      //необходимо отключить действие Save,
      //таким образом оно будет доступно только при наличии изменений
      //текстового поля:
      if (NotifyDescriptor.YES_OPTION.equals(result)) {
          fire(false);
          //Реализация функций сохранения.
      }
  }
}</pre>
            </li>
            <li>Добавьте в компонент MyEditorTopComponent следующие поля:
            <pre class="examplecode">
private final SaveCookieImpl impl;
private final InstanceContent content;
</pre>
            </li>
            <li>Исправьте операторы импорта и сохраните измененные данные.</li>
            <li>Щелкните правой кнопкой мыши файл JAR <tt>org-openide-dialogs</tt> в узле &quot;Библиотеки&quot; в окне &quot;Проекты&quot; и выберите команду &quot;Объявить как прямую зависимость&quot;.</li>
        </ol>
        <p>Теперь можно очистить приложение, построить его вместе с зависимостями и запустить для подтверждения включения кнопки &quot;Сохранить&quot; при изменении текстового поля.</p>


        <h3><a name="04e"></a>Сохранение измененных данных</h3>

        <p>В следующем упражнении будет добавлен код для сохранения измененных данных. Сейчас приложение правильно распознает внесение изменений в поля и включает параметр сохранения изменений. При нажатии кнопки &quot;Сохранить&quot; появляется диалоговое окно с запросом на подтверждение сохранения измененных данных. Однако изменения не сохраняются при нажатии в диалоговом окне кнопки &quot;ОК&quot;. Чтобы сохранить данные, необходимо добавить код JPA для выполнения сохранения в базу данных.</p>

        <ol>
            <li>Добавьте следующее поле в компонент <strong>MyEditorTopComponent</strong>:
                <pre class="examplecode">private Customer customer;</pre>
            </li>
            <li>Добавьте код JPA для сохранения изменений, изменив метод <tt>save</tt>, чтобы заменить комментарий <tt>&quot;//Реализация функций сохранения.&quot; </tt>следующим кодом:
            <pre class="examplecode">@Override
public void save() throws IOException {
...
    if (NotifyDescriptor.YES_OPTION.equals(result)) {
        fire(false);
        <strong>EntityManager entityManager = Persistence.createEntityManagerFactory(&quot;com.mycompany_MavenPlatformCRUDApp-dbaccess_nbm_1.0-SNAPSHOTPU&quot;).createEntityManager();
        entityManager.getTransaction().begin();
        Customer c = entityManager.find(Customer.class, customer.getCustomerId());
        c.setName(jTextField1.getText());
        c.setCity(jTextField2.getText());
        entityManager.getTransaction().commit();</strong>
    }
}</pre>
            <p class="tips">Убедитесь в том, что имя единицы сохранения состояния введено правильно.</p>
            <p>Значение &quot;customer&quot; в <tt>customer.getCustomerId()</tt> в настоящее время не определено. Затем установите значение <tt>customer</tt> для настоящего объекта <tt>Customer</tt>, используемого для получения идентификатора Customer.</p>
            </li>
            <li>Добавьте следующую строку, выделенную полужирным шрифтом, в метод <tt>resultChanged</tt>:
            <pre class="examplecode">
@Override
public void resultChanged(LookupEvent le) {
    Lookup.Result r = (Lookup.Result) le.getSource();
    Collection&lt;Customer&gt; coll = r.allInstances();
    if (!coll.isEmpty()) {
      for (Customer cust : coll) {
          <strong>customer = cust;</strong>
          jTextField1.setText(cust.getName());
          jTextField2.setText(cust.getCity());
      }
    } else {
      jTextField1.setText(&quot;[no name]&quot;);
      jTextField2.setText(&quot;[no city]&quot;);
    }
}</pre>
            </li>
            <li>Исправьте операторы импорта и сохраните измененные данные.</li>
        </ol>
        <p>Запустите приложение и измените некоторые данные, чтобы проверить правильность работы функции сохранения при наличии изменений. В настоящий момент редактор не обновляет поля для отражения измененных данных. Чтобы проверить, все ли данные сохранены, необходимо перезапустить приложение.</p>
        
        <p>В следующем упражнении будет добавлена функция &quot;Обновить&quot;, перезагружающая данные из базы данных и отражающая изменения в редакторе.</p>

        

        <h3><a name="04f"></a>Добавление функции &quot;Обновить&quot;</h3>
        <p>В этом упражнении будет добавлена функция обновления средства просмотра Customer путем добавления позиции меню &quot;Обновить&quot; в корневой узел в окне Customer.</p>

        <ol>
            <li>Щелкните правой кнопкой мыши пакет <tt><strong>com.mycompany.mavenplatformcrudapp.viewer</strong></tt>, выберите &quot;Создать&quot; &gt; &quot;Класс Java&quot; и создайте класс с именем <strong>CustomerRootNode.</strong></li>
            <li>Измените этот класс, чтобы расширить узел <tt>AbstractNode</tt> и добавить следующие методы:
            <pre class="examplecode">
public class CustomerRootNode extends AbstractNode {

    <strong>public CustomerRootNode(Children kids) {
      super(kids);
      setDisplayName(&quot;Root&quot;);
    }

    @Override
    public Action[] getActions(boolean context) {
      Action[] result = new Action[]{
          new RefreshAction()};
      return result;
    }

    private final class RefreshAction extends AbstractAction {

      public RefreshAction() {
          putValue(Action.NAME, &quot;Refresh&quot;);
      }

      public void actionPerformed(ActionEvent e) {
          CustomerTopComponent.refreshNode();
      }
    }</strong>

}</pre>
            <p class="tips">Обратите внимание, что действие &quot;Обновить&quot; привязано к новому узлу Root.</p>
            </li>
            <li>Исправьте операторы импорта для импорта <strong><tt>javax.swing.Action</tt></strong>. Сохраните изменения.</li>
            <li>Измените компонент <strong>CustomerTopComponent</strong>, чтобы добавить для обновления представления следующий метод:
            <pre class="examplecode">
public static void refreshNode() {
    EntityManager entityManager = Persistence.createEntityManagerFactory(&quot;com.mycompany_MavenPlatformCRUDApp-dbaccess_nbm_1.0-SNAPSHOTPU&quot;).createEntityManager();
    Query query = entityManager.createQuery(&quot;SELECT c FROM Customer c&quot;);
    List&lt;Customer&gt; resultList = query.getResultList();
    em.setRootContext(new <strong>CustomerRootNode</strong>(Children.create(new CustomerChildFactory(resultList), true)));
}</pre>
                <p>Обратите внимание на то, что метод использует элемент <strong>CustomerRootNode</strong> для настройки корневого контекста.</p>
                <p class="tips">Если необходимо создание скелетного метода средой IDE, нажмите в классе <tt>CustomerRootNode</tt> в строке, содержащей элемент <tt>refreshNode</tt>, сочетание клавиш ALT+ВВОД.</p>
            </li>
            <li>Измените код в конструкторе CustomerTopComponent с вызовом <strong>CustomerRootNode</strong> вместо <strong>AbstractNode</strong>.
            <p>При вызове <tt>CustomerRootNode</tt> автоматически вызываются метод <tt>refreshNode</tt> и команда &quot;Обновить&quot;.</p>
            </li>

            <li>Исправьте операторы импорта и сохраните измененные данные.</li>
        </ol>
                
        <p>При запуске приложения в контекстном меню становится доступен новый корневой узел с действием &quot;Обновить&quot;.</p>


        <p class="tips">Можно использовать метод <tt>refreshNode</tt> и реализовать автоматическое обновление, вызвав метод <tt>refreshNode</tt> из метода <tt>save</tt>. Другой вариант заключается в создании отдельного модуля, содержащего действие обновления, который будет совместно использоваться другими модулями.</p>
</div>



<!-- =================================================================== -->
<!-- +++++++++++++++++++ Implementing CRUD : CREATE ++++++++++++++++++++ -->

    <h2><a name="05"></a>Создание: добавление новой записи</h2>

    <p>В этом разделе пользователю предоставляется возможность создания новой записи базы данных.</p>
    <div class="indent">
        <h3><a name="05a"></a> Добавление действия &quot;Создать&quot;</h3>
        <ol>
            <li>Щелкните правой кнопкой мыши модуль <strong>dbaccess</strong> и выберите &quot;Создать&quot; &gt; &quot;Действие&quot;.</li>
            <li>Укажите параметр &quot;Всегда включено&quot;. Нажмите кнопку &quot;Далее&quot;.</li>
            <li>В контекстном меню &quot;Категория&quot; выберите <strong>Файл</strong>.</li>
            <li>Выберите &quot;Глобальная кнопка панели инструментов&quot;. Нажмите кнопку &quot;Далее&quot;.<br/>
            <img src="../images/tutorials/maven-crud/mavencrud-new-action.png" alt="Снимок экрана: мастер создания действия" title="Панель &quot;Регистрация в интерфейсе&quot; в мастере создания действия" class="margin-around b-all"  />

            </li>
            <li>В поле &quot;Имя класса&quot; введите <strong>NewAction</strong>.</li>
            <li>В поле &quot;Отображаемое имя&quot; введите <strong>My New Action</strong>.</li>
            <li>Нажмите кнопку &quot;Обзор&quot; и выберите изображение, которое будет использоваться на панели инструментов.
                <p>Можно скопировать изображение <tt>abc16.png</tt> в рабочей среде и указать его в мастере. <img src="../images/tutorials/maven-crud/abc16.png" alt="Пример значка 16x16" title="Пример значка 16x16"  />
            </p>
            </li>
            <li>Выберите пакет <strong>com.mycompany.mavenplatformcrudapp.editor</strong>. Нажмите кнопку &quot;Готово&quot;. </li>
            <li>Измените класс <tt>NewAction</tt>, чтобы открыть компонент MyEditorTopComponent и очистить поля.
            <pre class="examplecode">
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public final class NewAction implements ActionListener {

    public void actionPerformed(ActionEvent e) {
        MyEditorTopComponent tc = MyEditorTopComponent.getDefault();
        tc.resetFields();
        tc.open();
        tc.requestActive();
    }

}</pre>

            <p>Это действие реализует класс ActionListener, привязанный к приложению через записи в файле layer, размещенном там мастером создания действия.</p>
            </li>
        </ol>

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++ -->
<!-- I am still hitting issue 186876 in the RC2 build   -->
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++ -->

        <h3><a name="05b"></a>Создание и сохранение нового объекта</h3>
        <ol>
            <li>В компоненте <strong>MyEditorTopComponent</strong> добавьте следующий метод для сброса текстовых полей JTextField и создания нового объекта <tt>Customer</tt>:
            <pre class="examplecode">
public void resetFields() {
    customer = new Customer();
    jTextField1.setText(&quot;&quot;);
    jTextField2.setText(&quot;&quot;);
}</pre>
                <p class="tips">Если необходимо создание скелетного метода средой IDE в компоненте MyEditorTopComponent, нажмите в классе <tt>NewAction</tt> в вызове <tt>resetFields</tt> сочетание клавиш ALT+ВВОД.</p>
            </li>
            <li>В SaveCookie возвращаемое значение &quot;null&quot; должно соответствовать сохранению новой записи, а не обновлению существующей:
            <pre class="examplecode">
public void save() throws IOException {

    Confirmation message = new NotifyDescriptor.Confirmation(&quot;Сохранить \&quot;&quot;
                  + jTextField1.getText() + &quot; (&quot; + jTextField2.getText() + &quot;)\&quot;?&quot;,
                  NotifyDescriptor.OK_CANCEL_OPTION,
                  NotifyDescriptor.QUESTION_MESSAGE);

    Object result = DialogDisplayer.getDefault().notify(msg);

    //Если пользователь намерен сохранить, и нажимает &quot;Да&quot;,
    //следует отключить кнопку &quot;Сохранить&quot; и команду меню &quot;Сохранить&quot;,
    //чтобы они могли использоваться только при внесении следующего изменения
    //в текстовом поле:
    if (NotifyDescriptor.YES_OPTION.equals(result)) {
        fire(false);
        EntityManager entityManager = Persistence.createEntityManagerFactory(&quot;CustomerLibraryPU&quot;).createEntityManager();
        entityManager.getTransaction().begin();
        <strong>if (customer.getCustomerId() != null) {</strong>
            Customer c = entityManager.find(Customer.class, cude.getCustomerId());
            c.setName(jTextField1.getText());
            c.setCity(jTextField2.getText());
            entityManager.getTransaction().commit();
        <strong>} else {
            Query query = entityManager.createQuery(&quot;SELECT c FROM Customer c&quot;);
            List&lt;Customer&gt; resultList = query.getResultList();
            customer.setCustomerId(resultList.size()+1);
            customer.setName(jTextField1.getText());
            customer.setCity(jTextField2.getText());
            //добавление полей для заполнения столбцов zip и discountCode
            customer.setZip(&quot;12345&quot;);
            customer.setDiscountCode(entityManager.find(DiscountCode.class, 'H'));

            entityManager.persist(customer);
            entityManager.getTransaction().commit();
        }</strong>
    }

}</pre>
                <p>Этот код также записывает произвольные данные в DiscountCode, так как это поле не может быть пустым.</p>
            </li>
            <li>Исправьте операторы импорта для импорта <tt><strong>javax.persistence.Query</strong></tt>. Сохраните изменения.</li>
        </ol>

</div>


<!-- =================================================================== -->
<!-- ++++++++++++++++++++ Running the Application ++++++++++++++++++++++ -->

    <h2><a name="06"></a>Построение и запуск приложения</h2>
    <p>Теперь приложение выполняет три функции CRUD: создание, чтение и обновление. Теперь можно построить и запустить приложение, чтобы проверить, правильно ли выполняются все эти функции.</p>
    <ol>
        <li>Щелкните правой кнопкой мыши узел проекта <strong>Приложение на базе платформы NetBeans MavenPlatformCRUDApp</strong> и выберите команду &quot;Очистить&quot;.</li>
        <li>Щелкните правой кнопкой мыши узел проекта <strong>Приложение на базе платформы NetBeans MavenPlatformCRUDApp</strong> и выберите команду &quot;Построить вместе с зависимостями&quot;.</li>
        <li>Щелкните правой кнопкой мыши узел проекта <strong>Приложение на базе платформы NetBeans MavenPlatformCRUDApp</strong> и выберите команду &quot;Выполнить&quot;.</li>
    </ol>

    <p>При нажатии кнопки &quot;Выполнить&quot; среда IDE запускает приложение на платформе. Приложение заполняет дерево в окне Customer именами клиентов в базе данных. При выборе узла в окне Customer в окне My Editor отражаются имя и город выбранного клиента. Можно изменить и сохранить данные в полях &quot;Имя&quot; и &quot;Город&quot;. Чтобы создать нового клиента, нажмите кнопку My Action на панели инструментов, заполните пустые текстовые поля &quot;Имя&quot; и &quot;Город&quot; в окне My Editor и нажмите &quot;Сохранить&quot;.</p>
    <p>
    <img src="../images/tutorials/maven-crud/mavencrud-finished-app.png" alt="Снимок экрана: готовое приложение" title="В готовом приложении отражаются окна Customer и MyEditor" class="margin-around b-all"  />
    </p>
    <p class="tips">После создания или изменения клиента необходимо обновить корневой узел в окне Customer, если действие &quot;Обновить&quot; не было реализовано при сохранении.</p>

    <p>В этом учебном курсе рассмотрены принципы создания приложения на платформе NetBeans с помощью Maven, которые во многом совпадают с принципами создания приложения с помощью Ant. Основное отличие заключается в том, что Maven POM управляет процессом сборки приложения. Дополнительные примеры построения приложений и модулей на платформе NetBeans приведены в учебных курсах <a href="https://netbeans.org/kb/trails/platform.html">Учебной карты по платформе NetBeans</a>.</p>

 <!-- ======================================================================================== -->


    <h2><a name="nextsteps"></a>Дополнительные сведения</h2>

    <p>Это заключительный раздел учебного курса CRUD. В этом документе были описаны принципы использования платформы построения Maven для создания нового приложения на платформе NetBeans с функциональностью CRUD. Дополнительные сведения о создании и разработке приложений приведены в следующих ресурсах:</p>
    <ul>
        <li><a href="https://netbeans.org/kb/trails/platform_ru.html">Учебная карта по платформе NetBeans</a></li>
        <li><a href="http://bits.netbeans.org/dev/javadoc/">Документация Javadoc по интерфейсам API в среде NetBeans</a></li>
    </ul>

    <p>Если у вас возникли вопросы по платформе NetBeans, можно отправить их в список рассылки dev@platform.netbeans.org либо ознакомиться с <a href="https://netbeans.org/projects/platform/lists/dev/archive">Архивом списка рассылки по платформе NetBeans</a>.</p>


    <!-- ======================================================================================== -->


</body>

</html>
