/** * Test the supplied OAI settings. * * @param context * @param request */ public static FlowResult testOAISettings(Context context, Request request) { FlowResult result = new FlowResult(); String oaiProvider = request.getParameter("oai_provider"); String oaiSetId = request.getParameter("oai_setid"); oaiSetId = request.getParameter("oai-set-setting"); if (!"all".equals(oaiSetId)) { oaiSetId = request.getParameter("oai_setid"); } String metadataKey = request.getParameter("metadata_format"); String harvestType = request.getParameter("harvest_level"); int harvestTypeInt = 0; if (oaiProvider == null || oaiProvider.length() == 0) { result.addError("oai_provider"); } if (oaiSetId == null || oaiSetId.length() == 0) { result.addError("oai_setid"); } if (metadataKey == null || metadataKey.length() == 0) { result.addError("metadata_format"); } if (harvestType == null || harvestType.length() == 0) { result.addError("harvest_level"); } else { harvestTypeInt = Integer.parseInt(harvestType); } if (result.getErrors() == null) { List<String> testErrors = OAIHarvester.verifyOAIharvester(oaiProvider, oaiSetId, metadataKey, (harvestTypeInt > 1)); result.setErrors(testErrors); } if (result.getErrors() == null || result.getErrors().isEmpty()) { result.setOutcome(true); // On a successful test we still want to stay in the loop, not continue out of it // result.setContinue(true); result.setMessage(new Message("default", "Harvesting settings are valid.")); } else { result.setOutcome(false); result.setContinue(false); // don't really need a message when the errors are highlighted already // result.setMessage(new Message("default","Harvesting is not properly configured.")); } return result; }