%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <%@ page import="org.mdcog.config.MdcConfig" %> <%@ page import="org.mdcog.jafer.JaferClient" %> <%@ page import="org.mdcog.databeans.ResultDisplayRow" %> <%@ page import="org.mdcog.util.*" %> <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib uri="/WEB-INF/displaytag-12.tld" prefix="display" %> <% String serverURL = (request.getParameter("serverURL") == null) ? "" : request.getParameter("serverURL"); String serverType = (request.getParameter("serverType") == null) ? "" : request.getParameter("serverType"); String keyword = (request.getParameter("keyword") == null) ? "" : request.getParameter("keyword"); String author = (request.getParameter("searchAuthor") == null) ? "" : request.getParameter("searchAuthor"); String title = (request.getParameter("searchTitle") == null) ? "" : request.getParameter("searchTitle"); String searchTerm = ""; if (keyword.length() > 0) searchTerm = keyword + "(Keyword) "; if (author.length() > 0) searchTerm += author + "(Author) "; if (title.length() > 0) searchTerm += title + "(Title) "; boolean canSearch = false; boolean testBtClicked = false; boolean registerBtClicked = false; boolean sendErrorBtClicked = false; boolean regSubBtClicked = false; String errorMessage = ""; if (request.getParameter("testBtn") != null) testBtClicked = true; if (request.getParameter("registerBtn") != null) registerBtClicked = true; if (request.getParameter("sendErrorBtn") != null) sendErrorBtClicked = true; if (request.getParameter("regSubmit") != null) regSubBtClicked = true; if (!serverType.equals("") && !serverURL.equals("") && testBtClicked && !registerBtClicked) { if (serverType.equals("z3950s Server")) { if (serverURL.startsWith("z3950s://")) { canSearch = true; } else { errorMessage += "'" + serverURL + "' is not a valid z3950 server. The z3950 server URL should begin with z3950s://."; canSearch = false; } } else { if (serverURL.startsWith("http://") || serverURL.startsWith("https://")) { canSearch = true; } else { errorMessage += "'" + serverURL + "' is not a valid SRW/SRU server. The SRW/SRU server URL should begin with http:// or https://."; canSearch = false; } } if (keyword.equals("") && author.equals("") && title.equals("")) { canSearch = false; errorMessage += "The search criteria is empty. Please fill in atleast one of the search field."; } } if(testBtClicked && serverType.equals("")) { errorMessage += "Please select a server type."; } if(testBtClicked && serverURL.equals("")) { errorMessage += "Please enter the url of the repository to search."; } java.util.List testResults = null; MdcConfig mdcConfig = new MdcConfig(); JaferClient jafer = new JaferClient(mdcConfig); boolean allowRegister = false; String cql = ""; if (canSearch) { testResults = jafer.testServer(serverURL,keyword,author,title); if (jafer.getHasCorrectRecords()) { allowRegister = true; } cql = jafer.getCQLUsed(); } if(regSubBtClicked) { String dbName = request.getParameter("dBName"); String serverPort = request.getParameter("serverPort"); String availability = request.getParameter("availability"); String notes = request.getParameter("imp_notes"); String mailerName = request.getParameter("name"); String mailerEmail = request.getParameter("email"); String organisation = request.getParameter("orgName"); if(searchTerm.equals("")) { searchTerm = request.getParameter("searchTerm"); } Vector serverTypes = new Vector(); if(request.getParameter("bookType") != null) { serverTypes.add("Books"); } if(request.getParameter("journalType") != null) { serverTypes.add("Journals"); } if(request.getParameter("imageType") != null) { serverTypes.add("Images"); } if(request.getParameter("videoType") != null) { serverTypes.add("Videos"); } if(request.getParameter("assessType") != null) { serverTypes.add("Assessments"); } if(request.getParameter("otherType") != null) { if(request.getParameter("otherTypeText") != null) { serverTypes.add(request.getParameter("otherTypeText") + " (other types)"); } } SendServerTestEmail sendEmail = new SendServerTestEmail(serverURL); sendEmail.setMailerDetails(mailerName,mailerEmail); sendEmail.setDBName(dbName); sendEmail.setServerType(serverType); sendEmail.setServerPort(serverPort); sendEmail.setServerAvailability(availability); sendEmail.setSearchTerm(searchTerm); sendEmail.setResourceTypes(serverTypes); sendEmail.setNotes(notes); sendEmail.setOrganisation(organisation); sendEmail.send(); } else if (sendErrorBtClicked) { String dbName = request.getParameter("dBName"); String serverPort = request.getParameter("serverPort"); String manySearchTerms = request.getParameter("moreSearchTerms"); String notes = request.getParameter("errorNotes"); String mailerName = request.getParameter("name"); String mailerEmail = request.getParameter("email"); String organisation = request.getParameter("orgName"); Vector recordTypes = new Vector(); if(request.getParameter("modsType") != null) { recordTypes.add("MODSv3"); } if(request.getParameter("oaiType") != null) { recordTypes.add("OAI MARC"); } if(request.getParameter("marcType") != null) { recordTypes.add("MARC21 Slim"); } if(request.getParameter("dcType") != null) { recordTypes.add("DC"); } if(request.getParameter("otherType") != null) { if(request.getParameter("otherTypeText") != null) { recordTypes.add(request.getParameter("otherTypeText") + " (other types)"); } } SendServerTestEmail sendEmail = new SendServerTestEmail(serverURL); sendEmail.setMailerDetails(mailerName,mailerEmail); sendEmail.setDBName(dbName); sendEmail.setServerType(serverType); sendEmail.setServerPort(serverPort); sendEmail.setSearchTerm(searchTerm); sendEmail.setHasMoreSearchTerms(manySearchTerms); sendEmail.setRecordTypes(recordTypes); sendEmail.setNotes(notes); sendEmail.setOrganisation(organisation); sendEmail.sendErrorMail(); } %>