快捷搜索:

基于Rational Software Architect开发备忘单(Cheat Sheet)

Rational Software Architect (RSA)为了帮助用户开拓,供给了很多备忘单(Cheat Sheet)插件。每个备忘单都针对某一特定目的,为用户供给了一个义务序列,用户只必要按照这个义务序列自动地或手动地履行每个义务就可以杀青该目的。备忘单可以自动地为您启动完成某步义务所必要的对象,还可以把若何操作等相关的赞助信息供给给您,避免了您在浩繁信息中的查找。我们不只可以在开拓历程中使用RSA现有的备忘单来指示开拓,还可以为自己的对象创建自己的备忘单来指示用户进行应用。本文首先先容了备忘单的观点、布局和用法,然后经由过程实例阐清楚明了若何基于RSA开拓并宣布一个备忘单。

Rational Software Architect (RSA)为了帮助用户开拓,供给了很多备忘单(Cheat Sheet)插件。每个备忘单都针对某一特定目的,为用户供给了一个义务序列,用户只必要按照这个义务序列自动地或手动地履行每个义务就可以杀青该目的。

备忘单可以自动地为您启动完成某步义务所必要的对象,还可以把若何操作等相关的赞助信息供给给您,避免了您在浩繁信息中的查找。我们不只可以在开拓历程中使用RSA现有的备忘单来指示开拓,还可以为自己的对象创建自己的备忘单来指示用户进行应用。

本文首先先容了备忘单的观点、布局和用法,然后经由过程实例阐清楚明了若何基于RSA开拓并宣布一个备忘单。

1. 小序

RSA基于Eclipse之上为用户供给了多种扩展功能,用户无论是想要开拓一个Model的项目,照样想要开拓一个Web Service的项目,或者想要开拓一个Plug-in的项目等等都可以仅仅基于一个RSA平台,无需切换多个开拓平台。在享受了这样的良好的开拓情况的同时,RSA的功能的繁杂性也给开拓者带来了不少麻烦。

假如一个用户想要在RSA事情情况下创建和注册一个WebSphere 6.0数据源,他必要:创建新数据源连接、创建需要的办事器、创建数据源以及在web.xml文件中添加对数据源的引用,需要时可能还必要将企业归档项目添加到办事器上。刚刚打仗RSA的人,面对分发繁杂的界面,可能根本不知道应该何从下手,根本不知道应该在什么样的视图情况下进行开拓和注册,到底应该依循什么样的顺序来创建这个数据源,究竟该若何创建数据源被支配的办事器,等等。简单的几个步骤可能就将一个初学者回绝在RSA的大年夜门之外了。

值得荣耀的是,RSA除了对完成这些义务供给了完备的赞助文档外,还供给了很多类似生活中的备忘录一样的Cheat Sheet,用来提示用户一步一步的完成某个义务。

2. Cheat Sheet简介

2.1 观点,感化以及道理

简单的说,Cheat Sheet是一组与义务相关的履行序列,它包括了用户办理某一特定问题所必要履行的一系列繁杂的义务,对这些义务Cheat Sheet或者为用户自动履行,或者为用户若何手动的履行这些义务供给指示。

与领导(Wizard)和通俗的宏脚本不合,Cheat Sheet是作为插件法度榜样(Plug-in)集成在RSA中的,它的可扩展性更强,客户可以根据自己的需求定制得当自己产品的插件的扩展。别的,Cheat Sheet不仅为用户办理特定问题供给了周全具体的指示,它还有很强的互动性,可以根据用户的选择,做出不合的回应(相关的内容将在2.3节Cheat Sheet的应用中先容)。下图1给出了小序中所提到的RSA为向导用户创建和注册数据源的Cheat Sheet,它具体的枚举了创建和注册数据源所必要的所有步骤,并对每一步若何履行或者自动地(例如:自动的切换到开拓数据源的最佳视图-Web开拓视图),或者指示性地(指示用户若何确定安然性类型)给出了帮忙,是不是比自己探索的开拓加倍简单一清二楚呢:

图1 "创建和注册数据源"备忘单清单

2.2 启动Cheat Sheet

在RSA菜单上选择 赞助->备忘单。可用的备忘单都被列在 选择备忘单 列表中,如下图2所示,Cheat Sheet平日被组织到一些种别(Category)中,每个种别代表了一类特定的问题域(例如,小序中提到的"创建和注册数据源" 备忘单就被归类到下图2所示的'Web'种别中。)。没有定义类其余Cheat Sheet或者所属的种别为不法路径时,该Cheat Sheet会被归类在"其他"种别中。如图2所示,Cheat Sheet选择框所示,左框枚举了当前RSA所支持的所有Cheat Sheet种别,右框显示了左框中选中的种别中所包孕的Cheat Sheet。选择您必要的,点击"确认",响应的Cheat Sheet就会被启动。

图2 选择备忘单列表

2.3 应用Cheat Sheet:

选择了特定的Cheat Sheet后,它会在如下图所示的一个Cheat Sheet视图中显示(如图3),当前RSA版本不支持同时打开多个Cheat Sheet,以是您打开现有的Cheat Sheet的同时,前一个Cheat Sheet会被关闭。

图3 "创建和注册数据源"备忘单部分项展开图

每个Cheat Sheet都邑有一个它的义务履行列表,用来表示实现特定目的所必要履行的步骤的顺序和内容。列表的最开始是对付该Cheat Sheet的简介,它包括和对付全部Cheat Sheet的功能和感化的简单先容,在简介的结尾处有一个 样子的图标,点击它便可以开始Cheat Sheet的义务履行了。

注:图3中的简介结尾现实的图标是 ,而非 是由于图标 一旦被点击后,此Cheat Sheet就会被注释为已经履行的状态,而 代表了一个从新开始履行全部Cheat Sheet的含义。

被展开的义务项便是Cheat Sheet要完成义务的真正履行步骤,此中可能包孕了关于该步骤地先容,以及多个表示不合含义的图标,每个不合的图标都表示了不合的含义,下表1列出了Cheat Sheet中的所有图标及其用法:

表1 Cheat Sheet图标应用阐明

3 基于RSA开拓自己的Cheat Sheet

RSA只为用户供给了有限的Cheat Sheet,值得荣耀的是,RSA为用户供给了订制自己必要的Cheat Sheet的扩展点: org.eclipse.ui.cheatsheets.cheatSheetContent。这里所提到的插件的扩展点基础上是它的组件设置设置设备摆设摆设点,应用XML Schema子集描述。一个完成某种抽象功能的插件,比如在事情台显示自力试图等,将会公布一个扩展点,指定每个实现必须完成什么才能被这个插件应用。这些一样平常必要包孕简单的属性,比如窗口标题和图标路径,同时也包孕实现详细接口的类名称。在这里的例子中,每个要供给一个视图实现的插件必须声明一个插件描述符属性的ID是org.eclipse.ui.views扩展点的扩展。这个扩展必须指定类实现接口的名为org.eclipse.ui.IViewPart。在运行时,事情台插件查找插件记录中所有的org.eclipse.ui.views的扩展并且将它们供给给用户作为可显示的视图。当用户选择打开某个视图时,事情台插件初始化指定在插件描述符中视图的实现类,并且经由过程接口org.eclipse.ui.IViewPart来和它交互。这个机制是Eclipse扩展性的基石。插件给其他的插件供给详细的实现,很多都是实现了自身高度抽象,并且将它们作为扩展点供给给其他的插件来完成。

org.eclipse.ui.cheatsheets.cheatSheetContent便是RSA供给给大年夜家的创建自己Cheat Sheet内容的扩展点,要实现自己的Cheat Sheet首先就要创建扩展了这个扩展点的插件项目;然后,遵照该扩展点的规则来定义自己的扩展内容;颠末测试后的插件项目,并不能成为您自己运行平台的一部分,要想让它也能和您正在开拓法度榜样的平台一路展现给客户,接下来您必要把这个插件作为一个宣布项目宣布给外界,然后将其导入到您的运行平台。

接下来的章节,让我们一步一步得经由过程实例仔细先容全部开拓、测试、宣布和导入Cheat Sheet插件的历程。

3.1 实例阐明

在接下来的章节中,我们将经由过程对付实现、测试、宣布以及加载一个指示用户若何创建自己的Cheat Sheet的全历程的先容,使您懂得并掌握Cheat Sheet的全部开拓和利用的历程。

实例所创建的Cheat Sheet的目的是为了互动的帮忙客户创建自己的Cheat Sheet。它会向导客户创建一个扩展自cheatSheetContent的插件项目;定制插件的内容;测试插件项目;宣布Cheat Sheet;导入Cheat Sheet。

开拓这个实例与这个实例所展示给客户的内容是一样的,主要包括以下几步:

1. 创建一个扩展自org.eclipse.ui.cheatsheets.cheatSheetContent的插件项目;

2. 定制插件的内容(在本实例里,便是定制指示用户若何创建Cheat Sheet插件的内容);

3. 测试该实例;

4. 宣布该实例;

5. 将该实例导入到您的Workbench;

3.2 创建新的插件工程

Cheat Sheet是扩展自org.eclipse.ui.cheatsheets.cheatSheetContent的扩展点的插件项目,要想实现这个扩展点,首先必要经由过程新建工程领导(如下图4所示)创建一个Cheat Sheet插件工程。

图4 创建一个Plug-in Project

3.3 添加cheatSheetContent扩展点

我们要扩展的扩展点是由org.eclipse.ui.cheatsheets插件供给的,要扩展org.eclipse.ui.cheatsheets.cheatSheetContent,首先要将org.eclipse.ui.cheatsheets插件添加到本插件项目的依附项中(如图5),然后扩展此中的cheatSheetContent扩展项(所谓'扩展项'便是由扩展点所定义的遵照必然语义规则的元素,它一样平常都代表了扩展点所供给的可扩展办事中的某类元素。)。cheatSheetContent扩展点为我们供给了两种可扩展的扩展项,它们是: Category和CheatSheet。接下来的3个小节,我们会一一先容若何添加扩展点以及扩展项。

添加扩展点的详细操作步骤如下,在plug-in视图中打开新创建插件的plug-in.xml文件:

为'依附项'中添加一个新的依附关系: "org.eclipse.ui.cheatsheets",如下图5所示。

图5添加依附关系

添加Cheat Sheet Content扩展点,选中 扩展 ,添加一个新的可扩展点"org.eclipse.ui.cheatsheets.cheatSheetContent",如下图6。

图6 添加可扩展点

3.4 定义Category

备忘单可以像日常生活中的文档一样,按照不合的种别分类,可以将您要创建的备忘单加入已经存在的种别,也可以自己创建新的种别。假如不为备忘单选择种别或从新创建新的类其余话,RSA会自动将其归入一个叫做"其他"的默认种别,下面先容一下若作甚我们自己的备忘单创建一个新的种别。

添加种别:右键选中上一步添加的cheatSheetContent扩展点,根据必要新添种别。

图7 添加种别

设置类其余属性:选中上一步创建的种别,设置类其余id和名称,假如该种别属于某个种别,设置其上层类其余id。

图8 设置种别属性值

3.5 定义Cheat Sheet内容

在创建了扩展自cheatSheetContent的扩展点的插件,并定义了我们下面即将定义的插件内容所属的种别后,我们终于要进入实例开拓的关键步骤了-Cheat Sheet内容的定义。这里要定义的Cheat Sheet扩展项便是我们终极将要出现在客户眼前的Cheat Sheet的相关内容和代码,添加Cheat Sheet扩展项的步骤如下:

添加Cheat Sheet:右键选中上一步添加的cheatSheetContent扩展点,根据必要新Cheat sheet。

图9 添加Cheat Sheet

Cheat Sheet所显示的每一步的内容提示和操作选项并不是硬编码到Cheat Sheet的插件法度榜样中,而是写在一个一个自力的XML文件中,cheatSheetContent插件经由过程读取并解析这些遵照它定义规则的xml文件来显示展示在Cheat Sheet View中的内容。该文件的位置由一个ContentFile属性指明,平日环境下它应该在您的插件工程的根目录下的子目录中。

xml文件可以寄放在任何插件项目可读的位置,然则,为了掩护的方便,建议将其创建在Cheat Sheet Content关联的XML文件的根目录中,如下图所示:

图10 创建Cheat Sheet的关联xml文件

创建Cheat Sheet Content关联的XML文件

图11 创建Cheat Sheet的关联xml文件

如3.4中添加种别一样,添加一个Cheat Sheet,并设置Cheat Sheet的属性值。此中category中填写Cheat Sheet所属的类其余id值。contentFile中填写与该Cheat Sheet关联的xml文件的相对位置。

图12 设置Cheat Sheet属性值

编辑Cheat Sheet Content XML文件

Cheat Sheet Content的XML文件主要包括两类项目: 和 。如下表2所示,项用来先容全部Cheat Sheet的感化,此中链接为用户供给了一个更具体的先容的html文件,给出了一个简短的先容。

表2 编辑Cheat Sheet内容的先容部分

本备忘单将为您先容实现、测试、宣布以及加载一个Cheat Sheet的全历程。

项用来先容Cheat Sheet中的一步义务的履行要领和描述,如下表3所示, title定义了Cheat Sheet中该义务的名字,Skip的值用来确定该义务是否可以跳过,项用来定义Cheat Sheet为用户自动完成的动作,当用户点击 时,该动作就会被履行。本例中,我们为用户定义了一个自动打开新建窗口的动作,这个动作的实现将在3.6节中先容。

Cheat Sheet本身是一个插件,以是要想开初创建一个Cheat Sheet,首先要先创建一个Plug-in工程。

假如您的WorkSpace中已经建立好了这样一个插件工程,请直接跳到下一步,假如您还没有为开拓Cheat Sheet创建这个插件工程,打开 '新建' 对话框。

选择'项目',选择'插件开拓',然后选择'插件项目'。

添入项目名和一些相关信息。表3 编辑Cheat Sheet 单项义务内容

3.6 定制Action

Cheat Sheet可以为用户供给自动完成某些义务的功能,如3.5中我们添加的自动打开新建窗口的动作,这些动作的详细完成必要我们在制作Cheat Sheet时,用代码实现。

创建Action类:实现这些动作的类都承袭自org.eclipse.jface.action.Action,并实现了ICheatSheetAction的标准接口,如下图所示。

图13 创建Action类

定义动作:详细必要实现什么样的动作,由Cheat Sheet职员自行抉择,下图给出了实现打开一个创建窗口的动作的代码实例。

表4 定义动作

package exampleCheatSheet.action;

import …..

public class ExecuteCommand extends Action implements ICheatSheetAction{

/*

* 为Cheat Sheet履行传输进来command

* eg:当参数是'org.eclipse.ui.newWizard'时,回将'新建窗口'菜单打开。

* 关于Command的具体用法,请拜见参考文献。

* @see org.eclipse.ui.cheatsheets.ICheatSheetAction#run(java.lang.String[],

org.eclipse.ui.cheatsheets.ICheatSheetManager)

*/

public void run(String[] params, ICheatSheetManager manager) {

System.out.println("ExecuteCommand running");

// Check for null command.

if (params[0] == null) {

System.out.println("params[0] null");

}

// grab command name to execute

String commandName = params[0];

// retrieve the command manager

ICommandManager cManager =

PlatformUI.getWorkbench().getCommandSupport().getCommandManager();

// verify that its a valid command

if (!cManager.getDefinedCommandIds().contains(commandName)) {

System.err.println("no such command");

}

// get that command object and execute it with its parameters

ICommand command = cManager.getCommand(commandName);

try {

command.execute(null);

} catch (Exception ex) {

System.err.println("error executing command");

}

}

}

3.7 运行时测试

认识PDE(Plug-in Development Environment)的人应该都知道,在当前事情台开拓的plug-in并不能直接被当前平台应用,运行时平台(Run Time Workbench)是一个测试PDE的情况,它与您平日应用的开拓平台没有其余差别,但它加载了您新创建的plug-in,将它作为运行平台的依附插件之一。想懂得更多关于PDE开拓的信息,请参看参考文献。

实例解说至今,我们已经完成了Cheat Sheet的开拓,必要在运行时平台对它进行调试,以证实它的精确性,详细操作如下:

启动'调试'模式下的'运行时事情台'。

在'运行时事情台',打开备忘单当选单。

图 14 在运行时打开备忘单

找到新建的备忘单。

图 15 运行时中备忘单的位置

测试备忘单中的所有项目:主要反省xml翰墨、款式是否表述精确,以及在上面章节定义的Action是否能够精确运行。

图 16 运行时中备忘单的内容

回页首

4 宣布Cheat Sheet

大年夜家可能已经留意到了第三章中辛费力苦建立的Cheat Sheet并不能在您的开拓平台中直接应用,而必要在运行时平台中才能被加载,之以是这样,是由于您刚刚开拓的这个插件法度榜样还没有被正式宣布并且载入到当前的开拓事情台。接下来我们就先容若何将刚刚开拓并经由过程测试的Cheat Sheet插件宣布为用户可用的插件。Cheat Sheet可以作为项目的一部分与项目一路宣布,也可以自力宣布,下面继承以第4部分的实例为例先容若何自力宣布一个Cheat Sheet插件。关于若何宣布'更新站点'的具体信息,请参看参考文献。

4.1 为Cheat Sheet创建相关的功能部件项目

要将一个Cheat Sheet宣布,首先要为它建立一个功能部件插件项目(Features),这里所谓Feature就代表了是您及将要宣布出来的插件所能为事情台供给的办事能力,更多关于Features的具体信息,请参看参考文献,下面先容宣布这个Cheat Sheet插件的详细步骤详细操作如下:

创建一个新的Feature plug-in工程,选择'文件->新建->功能部件项目';

在创建历程中,当对话框提示选择"引用的插件"时,选择第3部分创建的Cheat Sheet插件:

图 18 引用备忘单项目

4.2 为Cheat Sheet的功能部件项目创建宣布项目

创建一个'更新',在对象栏中选择'文件->新建->插件开拓-> 更新站点项目',如下图所示:

图 19 创建宣布站点

设置site.xml的Features值,在plug-in视图下打开新建的update site工程,为site.xml的'要构建的功能部件'属性添加功能。对付本例,也便是4.1中天生的功能项目天加上:

图 20 引用备忘单的功能部件

将新添加的功能拖到"要宣布的功能部件"框中,点击"整个构建"编译整个文件:

图21 宣布功能部件

至此,实例备忘单的宣布项已经成功创建了,这里所谓的宣布,并不像JMS的消息那样被宣布到了某个特定的Topic,而是指它能够有一个能力,一个被其他人应用的能力。只有具有必然Feature的宣布项目才能够被导入到您的事情平台,也只有被导入到您的事情平台的插件功能才能够真正为您所用,还再等什么呢,让我们顿时把这个Cheat Sheet导入到我们的事情平台吧。

4.3 安装宣布的Cheat Sheet

选择对象栏中的 赞助->软件更新->查找并安装:

图22 启动安装宣布的备忘单

定位您刚刚宣布的Cheat Sheet 的站点的位置,我们刚刚宣布的Cheat Sheet运用的便是本机地址,以是我们来选择'新建本地站点'。

图23 添加要宣布的备忘单的站点

剩下的步骤都选择下一步,着末必要从新启动一下RSA,从新启动后的RSA中就包孕了您新创造的Cheat Sheet了。

回页首

5总结

至此,我们的Cheat Sheet开拓以及宣布之旅也算完满成功了,您自己的事情台中已经有了一个叫做" How To Create A Cheat Sheet"的Cheat Sheet了。它和我们这片课程的内容同等的先容了您应该若何从创建插件,到定制扩展点内容,然后测试插件,到着末宣布并导入插件的全历程。盼望您在往后的进修事情中,多多利用。

您可能还会对下面的文章感兴趣: