私はEclipse RCPについて学ぶことに興味があります。基本的な知識はいくつかありますが、何ができるのかをもっと知りたかったのです。そこで、私は自分自身に一連の要件を作成し、分析し、Eclipse RCPをベースフレームワークとして使用してEclipse RCPで実装する方法を決定しました。今では、要件が厳しすぎるかもしれないし、Eclipse RCPについてまだ理解していないこともあります。要件を満たす適切なソリューションを考え出すのは苦労しています。Eclipse RCPのケーススタディ
次の要件をまとめたものである(詳細の可能性がないことを言い訳してください、これは本当に自分自身を奨励するだけでいくつかの例です):
私はいくつかのサーバを監視するのEclipse RCPアプリケーションを持っていると思いました。これらのサーバーは、当初はアプリケーションが知っているプログラムです(つまり、サーバーの機能と内容について正確に把握していることを意味します)。しかし、将来的には、アプリケーションが監視するアプリケーションに異なる特性を持つ任意のプログラムを指定できるようにする必要があります(既知のサーバーだけでなく、これまで知らなかったサーバーもあります)。また、アプリケーションは、監視が必要なサーバーの詳細(ホスト、ポート、ユーザー名、パスワードなど)のすべてを含むXML構成ファイルも必要とします。このXML構成ファイルは、JAXBを使用してエンコードおよびデコードされます。
したがって、上記の要件に基づいて、私は次の詳細が出ている:
XMLは次のようなものになります。
<configuration>
<components>
<serverA>
<host></host>
<port></port>
<username></username>
<password></password>
</serverA>
<serverB>
<host></host>
<port></port>
<username></username>
<password></password>
</serverB>
<!--- this will be the place for other components specified by user -->
</components>
</configuration>
とアプリケーションが知っているサーバです。ソースコードで
、クラスの次の階層がある:
コンポーネント<は---サーバ< ---サーバーA、サーバーB
サーバーAとサーバーBはサーバーから派生し、それぞれに要素マップ。
構成のポイントエントリは、ServerAのリストとServerBのリストを含むConfigurationというクラスにあります。さて、アプリケーションが知らない他のプログラムを監視できなければならないので、XML構成ファイルも拡張可能でなければならないため、Configurationクラスには、ユーザーが指定した他のコンポーネントにマップするObjectのリストも含まれています。構成ファイル。
Configuration.java
public class Configuration
{
@XmlElement
private List<ServerA> serveras;
@XmlElement
private List<ServerB> serverbs;
@XmlAnyElement
private List<Object> otherServers;
}
は今、これは皆さんが問題にアプローチするためにも行います何かありますか?私は、わかりませんが、私は、アプリケーションがユーザーが指定した他のプログラムを監視できるようにするための要件についてちょっと混乱しています。私は最初にそれを設定したことを知っていますが、「これはEclipse RCPの拡張ポイントを利用できるもののようですが、今は設定ファイルに飛び込んできました。設定ファイルはplugin.xmlに関連していますか?
私の心の中で、アプリケーションが監視する必要があるプログラムの詳細(ホスト、ポート、ユーザー名、およびパスワード)を指定する設定ファイルが必要でした。 plugin.xmlは、アプリケーションが監視する必要があるユーザー定義プログラムの拡張ポイントと拡張子を指定するために使用されます。つまり、ユーザー定義プログラムの場合、ユーザーはplugin.xmlの拡張機能として構成し、構成ファイルに他の詳細を指定する必要がありますか?