* </p>
*/
private void makeNamespaceSyncUpWithWorkspace() {
// do not allow the namespace choice to be manually changed
final DropDownChoice wsDropDown = (DropDownChoice) workspacePanel.getFormComponent();
// add an ajax onchange behaviour that keeps ws and ns in synch
wsDropDown.add(new OnChangeAjaxBehavior() {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
// see if the namespace param is tied to a NamespacePanel and save it
if (namespacePanel == null) {
Component paramsPanel = AbstractDataAccessPage.this
.get("dataStoreForm:parametersPanel");
namespacePanel = findNamespacePanel((MarkupContainer) paramsPanel);
if (namespacePanel == null) {
// nothing to do
return;
}
}
WorkspaceInfo ws = (WorkspaceInfo) wsDropDown.getModelObject();
String prefix = ws.getName();
NamespaceInfo namespaceInfo = getCatalog().getNamespaceByPrefix(prefix);
namespacePanel.setModelObject(namespaceInfo);
target.addComponent(namespacePanel.getFormComponent());
}