Это потому, что org.apache.beam.sdk.testing.PAssert
в beam-sdks-java-core
, а org.apache.beam.sdk.testing.ExpectedLogs
в beam-sdks-java-core-test
.
Я не думаю, что org.apache.beam.sdk.testing.ExpectedLogs
опубликовано в артефактах Beam maven. Вы можете скомпилировать модуль локально с https://github.com/apache/beam и добавить его в свой проект Maven.
Чтобы скомпилировать beam-sdks-java-core-test
локально, сначала вы можете cd
перейти в родительский каталог Beam. Затем выполните команду ./gradlew :beam-sdks-java-core:shadowTestJar
. После этого вы сможете найти банку с именем beam-sdks-java-core-2.10.0-SNAPSHOT-tests.jar
в sdks/java/core/build/libs
.
Один метод, который я использовал в прошлом, должен сохранить мои свойства объектов в XML-файле, пишущий пользовательскую стандартную программу "сохранения", которая добавляет к переданному IXMLNode и новому конструктору, который читает из переданного IXMLNode. Я храню компонент как узел и свойства как атрибуты (если свойство не является другим объектом, затем это был бы дочерний узел).
Я полагаю, что существуют некоторые стандартные программы в проекте джедая Delphi, который обработает потоковую передачу компонента для Вас, но я не использовал их непосредственно, поскольку большая часть моей потоковой передачи XML была сделана вручную, так как мои объекты были чрезвычайно просты и могли быть представлены только с горсткой свойств.
Созданный в объектном постоянстве, прежде всего, разработан для использования в потоковой передаче компонентов к dfm, работа, которую необходимо было бы сделать для сохранения эскиза, не извлечет выгоду очень из того механизма.
Я думаю, что Вы были бы более обеспечены придумывающий пользовательскую схему.
Я использую платформу персистентности Объекта TI (tiopf.com). Я записал обзор по http://tiopf.sourceforge.net/Doc/overview/index.shtml.
Это позволит Вам сохранить объекты и списки к xml, csv, базы данных и т.д. Это обрабатывает дочерние объекты автоматически.
Если Вам интересно, используйте svn версию, не загрузку SourceForge, поскольку она имеет больше функций (inc частичная поддержка 2009 года D).
Также можно использовать известное, в спящем режиме, знают от Java.
порт Дельфи можно найти здесь: dHibernate
JSON является новым и очень компактным способом хранить объекты. Две библиотеки доступны для Delphi: SuperObject и lkJSON.