text_size.setText(FileUtils.byteCountToDisplaySize(entity.getSize()));
}
if(entity.getUri() != null){
- text_uri.setText(entity.getUri().toString());
- }
+ text_uri.setUri(entity.getUri());
+ } else {
+ String uriBuffer = getParentMediaDetailElement().getUriBuffer();
+ if(uriBuffer!=null){
+ text_uri.setText(uriBuffer);
+ text_uri.getUri();//just to update the error label
+ }
+ }
}
@Override
if(eventSource == text_uri){
URI uri = text_uri.getUri();
getEntity().setUri(uri);
+ if(uri==null){
+ //buffer URI if parsing error occurred
+ MediaDetailElement parentMediaDetailElement = getParentMediaDetailElement();
+ if(parentMediaDetailElement!=null){
+ parentMediaDetailElement.setUriBuffer(text_uri.getText());
+ }
+ }
+
firePropertyChangeEvent(this);
}
}
+ protected MediaDetailElement getParentMediaDetailElement() {
+ ICdmFormElement parentElement = getParentElement();
+ while(parentElement!=null){
+ parentElement = parentElement.getParentElement();
+ if(parentElement instanceof MediaDetailElement){
+ return (MediaDetailElement) parentElement;
+ }
+ }
+ return null;
+ }
+
}