我对Eclipse RCP感兴趣,我有一些基本知识,但是我想进一步了解它的功能。因此,我鼓励自己创建一组需求,进行分析,并就如何使用Eclipse RCP作为基本框架满足这些需求提出设计决策,并最终使用Eclipse RCP实现这些需求。现在,也许要求太难了,或者我只是对Eclipse RCP不太了解,所以我正在努力寻找合适的解决方案来满足要求!

以下是要求的摘要(请原谅可能缺少细节,这实际上只是鼓励自己的一个示例):

我想要一个Eclipse RCP应用程序来监视某些服务器。这些服务器最初将是应用程序知道的程序(意味着它确切知道它们的来龙去脉)。但是,将来,该应用程序应该能够允许用户指定具有不同特征的任意程序,以便该应用程序也可以监视(因此,不仅是已知的服务器,而且还有它之前不知道的其他一些服务器)。该应用程序还需要一个XML配置文件,其中包含需要监视的服务器的所有详细信息(例如主机,端口,用户名和密码)。此XML配置文件将使用JAXB进行编码和解码。

因此,根据以上要求,我提出了以下详细信息:

XML看起来像这样: 通用标签

应用程序知道的服务器和服务器。

在源代码中,具有以下类层次结构:

组件<-服务器<--- ServerA,ServerB

ServerA和ServerB从Server派生并分别映射到和元素。

该配置的点条目位于名为Configuration的类中,该类包含ServerA列表和ServerB列表。现在,由于该应用程序应该能够监视它不知道的其他程序,因此XML配置文件也应该是可扩展的,因此Configuration类还包含一个Object列表,该列表映射到用户在其中指定的任何其他组件。配置文件。

Configuration.java 通用标签

现在,你们在解决问题上也会做得很好吗?我想,我不知道,我只是对应用程序能够监视用户指定的其他程序的要求感到困惑。我知道我是首先进行设置的,但是我想到这个是要说“这看起来可以利用Eclipse RCP的扩展点”,但是现在进入了配置文件后,我不清楚应该如何设置它。配置文件与plugin.xml有关吗?

在我的脑海中,我希望配置文件指定应用程序需要监视的程序的详细信息(主机,端口,用户名和密码)。 plugin.xml用于为应用程序还需要监视的用户定义程序指定扩展点和扩展名。那么,这是否意味着最后,对于用户定义的程序,用户需要在plugin.xml中将它们配置为扩展名,然后在配置文件中指定其其他详细信息?

有帮助吗?

解决方案

有几种方法可以解决此问题。但是,让我尝试一下。

您有一堆不同的服务器,它们具有不同的监视特性。但是对于您的Eclipse应用程序,它们都必须看起来相似。

比方说,您有一个Eclipse RCP应用程序,其中包含一些用于监视服务器的UI。对于此应用程序,服务器到底是什么无关紧要,但是应该有一个公共接口连接到服务器。

一种可能性是,您有一个表示服务器通信协议的接口,然后在主插件中定义一个扩展点,以允许对该协议的实现做出贡献。这样,您便可以创建某个接口的实例的集合(将其称为IMonitoringProtocol)。该界面将包含在UI上显示状态所需的方法。

此外,您将拥有一个列出所有服务器的XML配置文件。此配置文件上的元素之一是用于监视的协议。

因此,在启动应用程序时,您将实例化所有贡献的协议,并读取配置文件。然后,通过匹配配置条目,可以找到与服务器通信的正确协议。

这允许您将来为未知服务器添加新协议。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top