001 package org.kuali.ole.serviceimpl; 002 003 import org.kuali.ole.OleSRUConstants; 004 import org.kuali.ole.service.OleValidateInputRequestService; 005 import java.util.Map; 006 007 /** 008 * Created with IntelliJ IDEA. 009 * User: ? 010 * Date: 7/9/12 011 * Time: 7:57 PM 012 * To change this template use File | Settings | File Templates. 013 */ 014 public class OleValidateInputRequestServiceImpl implements OleValidateInputRequestService { 015 016 /** 017 * to validate whether the required parameters of corresponding operation is present or not. 018 * @param reqParamMap 019 * @return boolean 020 */ 021 public String inputRequestValidation(Map reqParamMap){ 022 023 String operationType=(String)reqParamMap.get(OleSRUConstants.OPERATION_TYPE); 024 String version=(String)reqParamMap.get(OleSRUConstants.VERSION); 025 String query=(String)reqParamMap.get(OleSRUConstants.QUERY); 026 String recordPacking= (String)reqParamMap.get(OleSRUConstants.RECORD_PACKING); 027 String recordSchema= (String)reqParamMap.get(OleSRUConstants.RECORD_SCHEMA); 028 029 if(operationType ==null || "".equals(operationType)) 030 return OleSRUConstants.OPERATION_REQUIRED_FIELD_DIAGNOSTIC_MSG; 031 032 if(OleSRUConstants.SEARCH_RETRIEVE.equalsIgnoreCase(operationType)) { 033 if(version==null || "".equals(version)) 034 return OleSRUConstants.VERSION_REQUIRED_FIELD_DIAGNOSTIC_MSG; 035 else if(query==null || "".equals(query)) 036 return OleSRUConstants.QUERY_REQUIRED_FIELD_DIAGNOSTIC_MSG; 037 038 }else if(OleSRUConstants.EXPLAIN.equalsIgnoreCase(operationType)){ 039 if(version==null || "".equals(version)) 040 return OleSRUConstants.VERSION_REQUIRED_FIELD_DIAGNOSTIC_MSG; 041 042 }else 043 return OleSRUConstants.INVALID_OPERATION_TYPE; 044 045 if(!(OleSRUConstants.RECORD_PACK_XML.equalsIgnoreCase(recordPacking) || OleSRUConstants.RECORD_PACK_STRING.equalsIgnoreCase(recordPacking))) 046 return OleSRUConstants.INVALID_RECORD_PACKING; 047 048 if(recordSchema!=null && OleSRUConstants.SEARCH_RETRIEVE.equalsIgnoreCase(operationType)) 049 if(!(OleSRUConstants.DUBLIN_RECORD_SCHEMA.equalsIgnoreCase(recordSchema))) 050 return OleSRUConstants.INVALID_RECORD_SCHEMA; 051 052 return null; 053 } 054 }