// checked and a JavaScript action submitted the form.
if (configData.get(ADVANCEDCONF).equals("on")
&& configData.get(ACTIONUPDATE).equals("redisplay")) {
logger.config("Redisplay the configuation form");
String form = makeValidatedForm(configData, resource, cl, sess);
return new ConfigureResponse("", form);
}
checkWhereClause(configData, cl, sess, connectorFactory);
} catch (RepositoryException e) {
logger.log(Level.SEVERE,
"RepositoryException thrown in validateConfig: ", e);
if (!isCoreConfigValid) {
// If there's a problem with the core configuration, we will
// turn the advanced configuration off until the user fixes
// the problem.
configData.put(ADVANCEDCONF, "off");
logger.config("ADVANCEDCONF reset to off");
}
if (cl == null) {
// If we can't connect to DFC at all, return just an error message.
return createErrorResponse(e, resource, ErrorStyle.VALIDATE_CONFIG);
}
// Return the config form with an error message.
return createErrorResponse(configData, e, resource, cl, sess,
ErrorStyle.VALIDATE_CONFIG);
} finally {
if (sess != null) {
sessMag.release(sess);
logger.fine("Release sessionConfig");
}
}
// There's no need to persist action_update.
configData.remove(ACTIONUPDATE);
return null;
} else {
if (!missing.equals(DISPLAYURL)) {
// If there's a problem with the core configuration, we will
// turn the advanced configuration off until the user fixes
// the problem.
configData.put(ADVANCEDCONF, "off");
logger.config("ADVANCEDCONF reset to off");
}
// Return the config form with an error message indicating the
// name of the missing parameter.
String form;
try {
IClientX cl = getClientX();
form = makeValidatedForm(configData, resource, cl, null);
} catch (RepositoryException e) {
form = "";
}
return new ConfigureResponse(resource.getString(missing + "_error"),
form);
}
}