Итак, вот мой проект:
Я строю центральный интерфейс / панель мониторинга, чтобы представить тестовые данные для нескольких типов тестов нескольких версий продукта. Мы используем TestNG для нашего массивного продукта, и пока пишется недостаточно тестов, это обсуждение другой темы. Вот как выглядит структура каталогов:
Файловая система / PRODUCTVERSION + TestType / uniqueDateAndBuildID / TestNG-Results.xml
Этот файл results.xml содержит теги с дочерними тестовыми тегами, которые соответствуют каталогу файловой системы, а затем xml-файлы, содержащие фактические результаты тестовых примеров (pass, fail и т. Д.)
Синтаксический анализ XML и обход файловой системы - это хорошо, хорошо / надежно.
Поток контроля:
Клиент обращается к главной странице -> сервер открывает файл свойств -> сервер проверяет свойства веб-сервера (Websphere или Tomcat, если я работаю локально) -> сервер устанавливает набор констант на основе этого. К константам относятся: корневой каталог файловой системы, разделитель файловой системы (перевод), «подобные типы (в основном одни и те же тесты на разных платформах)» и базовый URL-адрес для добавления. -> Затем сервер читает файл свойств еще и выполняет всю его обработку XML. Результаты кэшируются в памяти, а также в файловой системе с помощью ObjectOutputStream. -> Большой список результатов отправляется обратно клиенту для обработки / отображения пользовательского интерфейса.
Вот где я сталкиваюсь с проблемой: я не могу получить доступ к этим глобальным переменным (содержащимся / установленным в классе Globals ... плохо, я знаю: - /) обратно на клиенте, даже если они находятся в общем ресурсе папка. Если вам интересно, почему я не могу просто загрузить свойства снова, это потому, что клиент - это Gav-ified Javascript, который не включает File (). Поэтому моей следующей мыслью, выполнив небольшую часть чтения Java на верхнем уровне, было, возможно, использовать одноэлементный объект Globals и передать его обратно ... но кажется, что это так же плохо, если не невозможно. Предложения здесь будут великолепны.
Все это довольно тесно связано, в то, что мое предыдущее Java-образование еще не получило. А поскольку это всего лишь внутренний портал для проверки разработчиками, похоже, нет смысла тестировать мой код. Пока он отображается правильно, правильно регистрирует и корректно обрабатывает ошибки, верно? В целом это <15 классов, так что это не так уж и важно. Должен ли я рефакторировать, чтобы очистить все это и сделать его «лучшей Java», прокомментировать все, чтобы четко разграничить поток управления, или не слишком беспокоиться об этом, потому что он маленький? В будущем я знаю, что нужно больше думать о вещах, прежде чем я их спроектирую, но я действительно не знал большого количества высших принципов Java, с которыми я сталкивался с самого начала. </p>
edit немного подумав, придумал возможный обходной путь. Как насчет того, чтобы вместо того, чтобы возвращать только список результатов, я передал некоторую другую реализацию пользовательского списка, которая включала глобальный объект 'header'? Я мог бы сохранить государство.