private LookupMetadata mapLookupDatatoMeta(UILookupData lookupData) {
LookupMetadata lookupMetadata = new LookupMetadata();
List<LookupParamMetadata> paramsMetadata;
BeanUtils.copyProperties(lookupData, lookupMetadata, new String[]{"widget", "usage", "widgetOptions", "params"});
if (lookupData.getWidget() != null) {
lookupMetadata.setWidget(org.kuali.student.r1.common.assembly.data.LookupMetadata.Widget.valueOf(lookupData.getWidget().toString()));
}
if (lookupData.getUsage() != null) {
lookupMetadata.setUsage(org.kuali.student.r1.common.assembly.data.LookupMetadata.Usage.valueOf(lookupData.getUsage().toString()));
}
if (lookupData.getWidgetOptions () != null) {
lookupMetadata.setWidgetOptions (new HashMap<WidgetOption, String> ());
for (UILookupData.WidgetOption wo: lookupData.getWidgetOptions ().keySet ()) {
String value = lookupData.getWidgetOptions ().get (wo);
LookupMetadata.WidgetOption key = LookupMetadata.WidgetOption.valueOf(wo.toString());
lookupMetadata.getWidgetOptions ().put (key, value);
}
}
if (lookupData.getParams() != null) {
paramsMetadata = new ArrayList<LookupParamMetadata>();
for (CommonLookupParam param : lookupData.getParams()) {
paramsMetadata.add(mapLookupParamMetadata(param));
}
lookupMetadata.setParams(paramsMetadata);
}
return lookupMetadata;
}