Может быть, что-то вроде этого?
df1 <- read.table(text=
"x y
1a 'abc 1a 39d'
2b 'abc 2b 32i'
3c 'ad ab 3c 32a 32'
9d 'ab acb 9d 2d'
N/A 'abc 329d'",h=T,strin=F)
library(tidyverse)
df1 %>%
mutate(y = ifelse(x == "N/A",
str_replace_all(y," "," | "),
str_replace_all(y,x,"|"))) %>%
separate(y,c("y1","y2"),sep = " \\| ")
# x y1 y2
# 1 1a abc 39d
# 2 2b abc 32i
# 3 3c ad ab 32a 32
# 4 9d ab acb 2d
# 5 N/A abc 329d
Если я понимаю правильно, Вы хотите использовать функцию Axis WSDL2Java, чтобы сгенерировать код от WSDL и затем отобразить это на Вашу объектную модель существующего приложения. В этом случае Вы могли бы хотеть рассмотреть для использования Оси с привязкой JiBX.
Если цель состоит в том, чтобы перевести "ось, сгенерированную", к Вашим бизнес-объектам можно попробовать инструмент как дозатор (http://dozer.sourceforge.net/), который является "картопостроителем" для копирования от реализации объектов до другой реализации. Это не знает, как использовать его (я думаю, что необходимо объяснить перевод в XML-файлах), и затем это должно работать (я не сделал использовал меня, но некоторые коллеги использовали его для подобной цели, и это, казалось, работало),
Я предполагаю, что существует здравый смысл способ сделать это. Краткий обзор немного Вашего ума и воображает слои.
convertion слой может быть сделан несколькими способами.
Если преобразование просто, можно объединить первый и второй слой почти в одном. Расширьте POJOS для обеспечения функциональности преобразования. Это даст Вам, по крайней мере двум частям кода, автоматически сгенерированный и расширения + функциональность
Если мы говорим об огромном XMLs, который должен быть преобразован в несколько объектов небольшого приложения. Хорошо, оставьте первый слой, как это и во втором использовании:
Я надеюсь, что это помогает
При использовании Оси 1 бизнес-классы имеют то же полностью определенное имя как класс данных Оси, и некоторые другие условия применяются, можно просто использовать бизнес-классы вместо Оси без необходимой установки. Мы много раз делали это.
Для Оси 2, мы испытали затруднения из-за привязки данных кроме ADB (значение по умолчанию), таким образом, мы используем Apache палата общин Beanutils экстенсивно для копирования данных назад и вперед между классами Оси и нашими бизнес-классами.
Мы столкнулись с подобными проблемами в прошлом. Недавно, для сложного веб-сервиса, что у нас была Ось, генерируют артефакты для, мы волновали с 157 классами Java с именами как "MaintainOffersRequestTypeReqReqDataMaintEnhancementCancellationReason".
Мы волновали классы записи, которые преобразовывают эти сгенерированные Осью объекты в бизнес-объекты, подобные Вашей последней идее. Я не знаю, является ли это лучший способ, но это - конечно, осуществимое решение.