Замечания по выпуску


|9.3 Пример расширения Центра управления

|Пример, приведенный в приложении Расширение Центра управления, не корректен |и не будет работать. Используйте вместо него пример Java, приведенный |ниже:

|Программа примера PluginEx.java находится в подкаталоге |samples/java. PluginEx.java устанавливается вместе с |клиентом разработки программ DB2. Чтобы скомпилировать |PluginEx.java, надо добавить в classpath: |

|Создайте db2plug.zip, включив все классы, сгенерированные при |компиляции PluginEx.java. Файл не должны быть сжатым. |Например:

|   zip -r0 db2plug.zip PluginEx*.class

|Эта команда помещает все файлы классов в файл db2plug.zip с |сохранением информации об относительных путях.

|Следуйте указаниям в файле PluginEx.java, чтобы скомпилировать и |выполнить пример.

|Интерфейс CCObject включает больше статических констант, чем перечислено в |приложении Расширение Центра управления в Руководстве администратора. |Ниже приведены интерфейсы Java для расширения Центра управления (CCExtension, |CCObject, CCM enuAction, CCToolBarAction). Эти интерфейсы перечислены |здесь только для справки.

|CCExtension:

|//  Лицензионные материалы -- Собственность IBM
|//
|//  (c) Copyright International Business Machines Corporation, 1999.
|//      Все права защищены.
|//
|//  US Government Users Restricted Rights -
|//  Use, duplication or disclosure restricted by
|//  GSA ADP Schedule Contract with IBM Corp.
|//
| 
|package com.ibm.db2.tools.cc.navigator;
| 
|/**
| * Интерфейс CCExtension позволяет пользователям расширять пользовательский
| * интерфейс Центра управления, добавляя к нему новые кнопки панели
| * инструментов и новые пункты меню и удаляя некоторый заранее определенный
| * набор существующих действий меню.
| * 
| * Для этого создайте класс java, импортирующий пакет
| * com.ibm.db2.tools.cc.navigator и реализующий данный интерфейс.
| * Новый файл должен обеспечивает реализацию функций getObjects() и
| * getToolbarActions().
| *    
| * Функция getObjects() возвращает массив CCObjects, определяющий существующие
| * объекты, для которых пользователь хотел бы добавить новые действия меню или
| * удалить, изменить или настроить предопределенные действия меню.
| *    
| * Функция getToolbarActions() возвращает массив CCToolbarActions,
| * который добавляется на главную панель меню Центра управления.
| *    
| * Для определения расширений Центра управления можно использовать один файл
| * подкласса CCExtension или же несколько таких файлов. Чтобы
| * Центр управления мог использовать эти расширения, используйте следующие
| * процедуры установки:
| * (1) Создайте файл "db2plug.zip", содержащий все файлы подкласса
| * CCExtension. Файлы не должны быть сжатыми. Например, если файлы
| * CCExtension содержатся в пакете модуля расширения и находятся в
| * каталоге модуля расширения, введите:
| *        zip -r0 db2plug.zip plugin\*.class
| * Эта команда помещает все файлы класса пакета модуля расширения в файл
| * db2plug.zip с сохранением информации об их относительных путях.
| * (2) Чтобы WEBCC можно было запустить как апплет, поместите файл db2plug.zip
| *     по адресу, записанному в теге <codebase> файла html WEBCC.
| * Чтобы запустить Центр управления как прикладную программу, поместите
| * файл db2plug.zip в каталог, заданный переменной среды CLASSPATH,
| * где запускается Центр управления.
| *    
| * Если браузер поддерживает несколько архивов, достаточно добавить
| * "db2plug.zip" в список архивов страницы html WEBCC. Иначе все файлы
| * подклассов CCExtension, CCObject, CCToolbarAction, CCMenuAction
| * должны находиться в своем относительном пути, в зависимости от того,
| * к какому пакету они принадлежат.
| */
| 
|public interface CCExtension
|{
|   /**
|    * Получить массив объектов подкласса CCObject, определяющих
|    * список объектов, которые надо переопределить в
|    * Центре управления
|    * @return CCObject[] массив объектов подкласса CCObject
|    */
|   public CCObject[] getObjects();
| 
|   /**
|    * Получить массив объектов подкласса CCToolbarAction, представляющих
|    * список кнопок, которые надо добавить на главную панель инструментов
|    * Центра управления.
|    * @return CCToolbarAction[] массив объектов подкласса CCToolbarAction
|    */
|   public CCToolbarAction[] getToolbarActions();
|}
| 
| 

|CCObject

|CCObject:
|//
|//  Лицензионные материалы -- Собственность IBM
|//
|//  (c) Copyright International Business Machines Corporation, 1999.
|//      Все права защищены.
|//
|//  US Government Users Restricted Rights -
|//  Use, duplication or disclosure restricted by
|//  GSA ADP Schedule Contract with IBM Corp.
|//
| 
|package com.ibm.db2.tools.cc.navigator;
| 
|/**
| * Интерфейс CCObject позволяет пользователям определить новый объект для
| * вставки в дерево Центра управления или изменения поведения
| * действий меню существующего объекта.
| */
|public interface CCObject
|{
|   /**
|    * Следующие статические константы определяют список типов объектов,
|    * доступных для добавления в дерево Центра управления.
|    */
|   public static final int UDB_SYSTEMS_FOLDER                          = 0;
|   public static final int UDB_SYSTEM                                  = 1;
|   public static final int UDB_INSTANCES_FOLDER                        = 2;
|   public static final int UDB_INSTANCE                                = 3;
|   public static final int UDB_DATABASES_FOLDER                        = 4;
|   public static final int UDB_DATABASE                                = 5;
|   public static final int UDB_TABLES_FOLDER                           = 6;
|   public static final int UDB_TABLE                                   = 7;
|   public static final int UDB_TABLESPACES_FOLDER                      = 8;
|   public static final int UDB_TABLESPACE                              = 9;
|   public static final int UDB_VIEWS_FOLDER                            = 10;
|   public static final int UDB_VIEW                                    = 11;
|   public static final int UDB_ALIASES_FOLDER                          = 12;
|   public static final int UDB_ALIAS                                   = 13;
|   public static final int UDB_TRIGGERS_FOLDER                         = 14;
|   public static final int UDB_TRIGGER                                 = 15;
|   public static final int UDB_SCHEMAS_FOLDER                          = 16;
|   public static final int UDB_SCHEMA                                  = 17;
|   public static final int UDB_INDEXES_FOLDER                          = 18;
|   public static final int UDB_INDEX                                   = 19;
|   public static final int UDB_CONNECTIONS_FOLDER                      = 20;
|   public static final int UDB_CONNECTION                              = 21;
|   public static final int UDB_REPLICATION_SOURCES_FOLDER              = 22;
|   public static final int UDB_REPLICATION_SOURCE                      = 23;
|   public static final int UDB_REPLICATION_SUBSCRIPTIONS_FOLDER        = 24;
|   public static final int UDB_REPLICATION_SUBSCRIPTION                = 25;
|   public static final int UDB_BUFFERPOOLS_FOLDER                      = 26;
|   public static final int UDB_BUFFERPOOL                              = 27;
|   public static final int UDB_APPLICATION_OBJECTS_FOLDER              = 28;
|   public static final int UDB_USER_DEFINED_DISTINCT_DATATYPES_FOLDER  = 29;
|   public static final int UDB_USER_DEFINED_DISTINCT_DATATYPE          = 30;
|   public static final int UDB_USER_DEFINED_DISTINCT_FUNCTIONS_FOLDER  = 31;
|   public static final int UDB_USER_DEFINED_DISTINCT_FUNCTION          = 32;
|   public static final int UDB_PACKAGES_FOLDER                         = 33;
|   public static final int UDB_PACKAGE                                 = 34;
|   public static final int UDB_STORE_PROCEDURES_FOLDER                 = 35;
|   public static final int UDB_STORE_PROCEDURE                         = 36;
|   public static final int UDB_USER_AND_GROUP_OBJECTS_FOLDER           = 37;
|   public static final int UDB_DB_USERS_FOLDER                         = 38;
|   public static final int UDB_DB_USER                                 = 39;
|   public static final int UDB_DB_GROUPS_FOLDER                        = 40;
|   public static final int UDB_DB_GROUP                                = 41;
|   public static final int UDB_DRDA_TABLES_FOLDER                      = 42;
|   public static final int UDB_DRDA_TABLE                              = 43;
|   public static final int UDB_NODEGROUPS_FOLDER                       = 44;
|   public static final int UDB_NODEGROUP                               = 45;
| 
|   public static final int S390_SUBSYSTEMS_FOLDER                      = 46;
|   public static final int S390_SUBSYSTEM                              = 47;
|   public static final int S390_BUFFERPOOLS_FOLDER                     = 48;
|   public static final int S390_BUFFERPOOL                             = 49;
|   public static final int S390_VIEWS_FOLDER                           = 50;
|   public static final int S390_VIEW                                   = 51;
|   public static final int S390_DATABASES_FOLDER                       = 52;
|   public static final int S390_DATABASE                               = 53;
|   public static final int S390_TABLESPACES_FOLDER                     = 54;
|   public static final int S390_TABLESPACE                             = 55;
|   public static final int S390_TABLES_FOLDER                          = 56;
|   public static final int S390_TABLE                                  = 57;
|   public static final int S390_INDEXS_FOLDER                          = 58;
|   public static final int S390_INDEX                                  = 59;
|   public static final int S390_STORAGE_GROUPS_FOLDER                  = 60;
|   public static final int S390_STORAGE_GROUP                          = 61;
|   public static final int S390_ALIASES_FOLDER                         = 62;
|   public static final int S390_ALIAS                                  = 63;
|   public static final int S390_SYNONYMS_FOLDER                        = 64;
|   public static final int S390_SYNONYM                                = 65;
|   public static final int S390_APPLICATION_OBJECTS_FOLDER             = 66;
|   public static final int S390_COLLECTIONS_FOLDER                     = 67;
|   public static final int S390_COLLECTION                             = 68;
|   public static final int S390_PACKAGES_FOLDER                        = 69;
|   public static final int S390_PACKAGE                                = 70;
|   public static final int S390_PLANS_FOLDER                           = 71;
|   public static final int S390_PLAN                                   = 72;
|   public static final int S390_PROCEDURES_FOLDER                      = 73;
|   public static final int S390_PROCEDURE                              = 74;
|   public static final int S390_DB_USERS_FOLDER                        = 75;
|   public static final int S390_DB_USER                                = 76;
|   public static final int S390_LOCATIONS_FOLDER                       = 77;
|   public static final int S390_LOCATION                               = 78;
|   public static final int S390_DISTINCT_TYPES_FOLDER                  = 79;
|   public static final int S390_DISTINCT_TYPE                          = 80;
|   public static final int S390_USER_DEFINED_FUNCTIONS_FOLDER          = 81;
|   public static final int S390_USER_DEFINED_FUNCTION                  = 82;
|   public static final int S390_TRIGGERS_FOLDER                        = 83;
|   public static final int S390_TRIGGER                                = 84;
|   public static final int S390_SCHEMAS_FOLDER                         = 85;
|   public static final int S390_SCHEMA                                 = 86;
|   public static final int S390_CATALOG_TABLES_FOLDER                  = 87;
|   public static final int S390_CATALOG_TABLE                          = 88;
|   public static final int DCS_GATEWAY_CONNECTIONS_FOLDER              = 89;
|   public static final int DCS_GATEWAY_CONNECTION                      = 90;
|   public static final int S390_UTILITY_OBJECTS_FOLDER                 = 91;
|   public static final int S390_DATASET_TEMPLATES_FOLDER               = 92;
|   public static final int S390_DATASET_TEMPLATE                       = 93;
|   public static final int S390_UTILITY_LISTS_FOLDER                   = 94;
|   public static final int S390_UTILITY_LIST                           = 95;
|   public static final int S390_UTILITY_PROCEDURES_FOLDER              = 96;
|   public static final int S390_UTILITY_PROCEDURE                      = 97;
|   /**
|    * Общее число типов объектов
|    */
|   public static final int NUM_OBJECT_TYPES                            = 98;
| 
|   /**
|    * Получить имя этого объекта
|    *    
|    * Эта функция возвращает имя данного объекта. Имя объекта
|    * может быть трех типов:
|    * (1) Полное имя
|    *     Синтаксис: xxxxx-yyyyy-zzzzz
|    *                где xxxxx-yyyyy - полное имя родительского
|    *                объекта, а zzzzz - имя нового объекта.
|    *     Примечание: Имена родительского и дочернего объектов
|    *                 разделены символом '-'.
|    *     Если для идентификации объекта требуется имя схемы, полное
|    *     полное имя представляется в виде xxxxx-yyyyy-wwwww.zzzzz,
|    *     где wwwww - имя схемы.
|    *     Будет изменено только поведение объекта, который
|    *     соответствует этому полному имени.
|    * (2) Родительское полное имя
|    *     Синтаксис: xxxxx-yyyyy
|    *                где xxxxx-yyyyy - полное имя
|    *                родительского объекта.
|    *     Если тип объекта - папка (например, DATABASES_FOLDER),
|    *     getName() должна вернуть лишь полное имя
|    *     родительского объекта папки.
|    *     Будет изменено только поведение объекта, который
|    *     соответствует этому имени и конкретному типу, возвращаемому
|    *     функцией getType().
|    * (3) null (пустое значение)
|    *     Синтаксис: null
|    *     Если возвращается пустое значение, CCMenuActions, возвращенные
|    *     вызовом getMenuActions(), будут применены ко всем объектам типа,
|    *     возвращенного вызовом getType().
|    * @return строка с именем объекта
|    */
|   public String getName();
| 
|   /**
|    * Получить тип этого объекта
|    * @return int одна из констант статического типа, определенная
|    * в этом интерфейсе
|    */
|   public int getType();
| 
|   /**
|    * Получить массив CCMenu Action, определяющий список действий меню,
|    * которые надо создать для объекта
|    * return CCMenuAction[] массив CCMenuAction
|    */
|   public CCMenuAction[] getMenuActions();
| 
|   /**
|    * Проверяет возможность редактирования этого объекта. Если объект нельзя
|    * редактировать, пункты меню, связанные с редактированием, будут
|    * удалены из всплывающего меню объекта.
|    * Возвращает логическое значение. Если возвращено false, пункт меню,
|    * связанный с изменением, будет удален из всплывающего меню объекта.
|    * Возвращает true, если вы не хотите изменять текущее поведение меню Изменение.
|    */
|   public boolean isEditable();
| 
|   /**
|    * Проверяет возможность конфигурирования этого объекта. Если объект нельзя
|    * конфигурировать, пункты меню, связанные с конфигурированием, будут
|    * удалены из всплывающего меню объекта.
|    * Возвращает логическое значение. Если возвращено  false, пункт меню,
|    * связанный с конфигурированием, будет удален из всплывающего меню объекта.
|    * Возвращает true, если вы не хотите изменить текущее поведение Конфигурирования.
|    */
|   public boolean isConfigurable();
|}
| 
| 
| 

|CCMenuAction:

|//
|//  Лицензионные материалы -- Собственность IBM
|//
|//  (c) Copyright International Business Machines Corporation, 1999.
|//      Все права защищены.
|//
|//  US Government Users Restricted Rights -
|//  Use, duplication or disclosure restricted by
|//  GSA ADP Schedule Contract with IBM Corp.
|//
| 
|package com.ibm.db2.tools.cc.navigator;
|import java.awt.event.*;
|import javax.swing.*;
| 
|/**
| * Класс CCMenuAction позволяет пользователям определить новый пункт меню,
| * который надо добавить в объект Центра управления. Новый пункт меню будет
| * добавлен в конец всплывающего меню объекта.
| *
| * Примечание: Если у объекта есть пункт меню Обновить Центр управления и/или
| * Фильтр, новый пункт меню будет вставлен перед пунктами меню Обновить
| * и Фильтр. Пункты меню Обновить Центр управления и Фильтр всегда находятся в
| * конце всплывающего меню.
| */
|public interface CCMenuAction
|{
|   /**
|    * Получить имя этого действия
|    * @return String Name текст в пункте меню
|    */
|   public String getMenuText();
| 
|   /**
|    * Вызывается, когда происходит действие.
|    * @param e Событие действия
|    */
|   public void actionPerformed(ActionEvent e);
|}
| 
| 
| 

|CCToolBarAction

|//  Лицензионные материалы -- Собственность IBM
|//
|//  (c) Copyright International Business Machines Corporation, 1999.
|//      Все права защищены.
|//
|//  US Government Users Restricted Rights -
|//  Use, duplication or disclosure restricted by
|//  GSA ADP Schedule Contract with IBM Corp.
|//
| 
|package com.ibm.db2.tools.cc.navigator;
|import java.awt.event.*;
|import javax.swing.*;
| 
|/**
| * Интерфейс CCToolbarAction позволяет пользователям определить новое
| * действие, которое надо добавить на панель инструментов Центра управления.
| */
|public interface CCToolbarAction
|{
|   /**
|    * Получить имя этого действия
|    * @return String Name текст в пункте меню или всплывающая справка
|    * на панели инструментов
|    */
|   public String getHoverHelpText();
| 
|   /**
|    * Получить значок для кнопки полосы инструментов
|    * Для любой CCAction полосы инструментов эта функция должна переопределять
|    * эту функцию и возвращать допустимый объект ImageIcon.
|    * В противном случае у кнопки не будет своего значка.
|    * @return ImageIcon Значок для вывода на экран
|    */
|   public ImageIcon getIcon();
| 
|   /**
|    * Вызывается, когда происходит действие.
|    * @param e Событие действия
|    */
|   public void actionPerformed(ActionEvent e);
|}
| 


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]