Мне интересно узнать об Eclipse RCP, у меня есть некоторые базовые знания, но я хотел бы узнать больше, на что он способен. Поэтому я призвал себя создать набор требований, проанализировать их и разработать проектные решения о том, как их можно удовлетворить с помощью Eclipse RCP в качестве базовой структуры и в конечном итоге реализовать их с помощью Eclipse RCP. Теперь, может быть, требования слишком сложны или я еще не понимаю, что такое Eclipse RCP, я изо всех сил стараюсь найти правильные решения для удовлетворения требований!Eclipse RCP case study
Ниже приводится краткое изложение требований (пожалуйста, простите вероятное отсутствие деталей, это действительно только несколько примеров, чтобы подбодрить себя):
Я хотел бы иметь приложение 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>
Где и серверы, что приложение знает.
В исходном коде, существует следующая иерархия классов:
< Компонент --- Сервер < --- ServerA, ServerB
ServerA и ServerB спускаются с сервера и карту на элемент и, соответственно, ,
Точечная запись для конфигурации относится к классу Configuration, который содержит список ServerA и список ServerB. Теперь, поскольку приложение должно иметь возможность контролировать другие программы, о которых он не знал, файл конфигурации XML также должен быть расширяемым, поэтому класс Configuration также содержит список объектов, который сопоставляется с любым другим компонентом, указанным пользователем в Файл конфигурации.
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, а затем указать их другие данные в файле конфигурации?