All Downloads are FREE. Search and download functionalities are using the official Maven repository.

EventDistributor.25.01.26.1.source-code.validator.xml Maven / Gradle / Ivy

Go to download

RDBMS based messaging as an alternative to other standard messaging like JMS / Kafka

The newest version!
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:ws="http://jax-ws.dev.java.net/spring/core"
       xmlns:wss="http://jax-ws.dev.java.net/spring/servlet"
       xmlns:task="http://www.springframework.org/schema/task"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.springframework.org/schema/p"
	   xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	   					   http://www.springframework.org/schema/beans/spring-beans.xsd
	   					   http://www.springframework.org/schema/context
	   					   http://www.springframework.org/schema/context/spring-context-3.0.xsd
	   					   http://jax-ws.dev.java.net/spring/core
        				   http://jax-ws.dev.java.net/spring/core.xsd
        				   http://www.springframework.org/schema/aop
						   http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        				   http://jax-ws.dev.java.net/spring/servlet
        				   http://jax-ws.dev.java.net/spring/servlet.xsd
        				   http://www.springframework.org/schema/task
                           http://www.springframework.org/schema/task/spring-task-3.0.xsd
                           http://www.springframework.org/schema/util
                           http://www.springframework.org/schema/util/spring-util.xsd">
    
	<aop:config proxy-target-class="false">
	    <aop:advisor advice-ref="parameterValidatorInterceptor" pointcut="execution(public * org.simple4j.eventdistributor.japi.EventDistributorService.*(..))"/>
	</aop:config>

	<bean id="parameterValidatorInterceptor" class="org.simple4j.apiaopvalidator.interceptor.ParametersValidationInterceptor">
		<property name="method2Validators" >
			<map>
				<!-- One entry for every method that needs parameter validation -->
				<entry key="public org.simple4j.apiaopvalidator.beans.AppResponse org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl.postEvent(org.simple4j.eventdistributor.beans.Event)">
					<!-- list of ParameterValidator for each of the parameters -->
					<list>
						<ref bean="eventValidator"/>
					</list>
				</entry>

				<!-- getEvent(callerId, eventId) -->
				<entry key="public org.simple4j.apiaopvalidator.beans.AppResponse org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl.getEvent(java.lang.String,java.lang.String)">
					<!-- list of ParameterValidator for each of the parameters -->
					<list>
						<ref bean="callerIdValidator"/>
						<ref bean="eventIdValidator"/>
					</list>
				</entry>

				<!-- getEvents(callerId, startPosition, numberOfRecords, eventId, event) -->
				<entry key="public org.simple4j.apiaopvalidator.beans.AppResponse org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl.getEvents(java.lang.String,java.lang.String,java.lang.String,org.simple4j.eventdistributor.beans.Event)">
					<!-- list of ParameterValidator for each of the parameters -->
					<list>
						<ref bean="callerIdValidator"/>
						<ref bean="startPositionValidator"/>
						<ref bean="numberOfRecordsValidator"/>
						<bean parent="nullableeventValidator">
							<property name="argumentIndex" value="3" />
						</bean>
					</list>
				</entry>

				<!-- repostEvent(eventId, createBy) -->
				<entry key="public org.simple4j.apiaopvalidator.beans.AppResponse org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl.repostEvent(java.lang.String,java.lang.String)">
					<!-- list of ParameterValidator for each of the parameters -->
					<list>
						<bean parent="eventIdValidator">
							<property name="argumentIndex" value="0" />
						</bean>
						<ref bean="createByValidator"/>
					</list>
				</entry>

				<!-- republish(publishId, createBy)-->
				<entry key="public org.simple4j.apiaopvalidator.beans.AppResponse org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl.republish(java.lang.String,java.lang.String)">
					<!-- list of ParameterValidator for each of the parameters -->
					<list>
						<bean parent="eventIdValidator">
							<property name="fieldName" value="publishId" />
							<property name="argumentIndex" value="0" />
						</bean>
						<ref bean="createByValidator"/>
					</list>
				</entry>

				<!-- abortEvent(eventId, updateBy) -->
				<entry key="public org.simple4j.apiaopvalidator.beans.AppResponse org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl.abortEvent(java.lang.String,java.lang.String)">
					<!-- list of ParameterValidator for each of the parameters -->
					<list>
						<bean parent="eventIdValidator">
							<property name="argumentIndex" value="0" />
						</bean>
						<bean parent="createByValidator">
							<property name="fieldName" value="updateBy" />
						</bean>
					</list>
				</entry>
			</map>
		</property>
	</bean>
	
	<bean id="callerIdValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="callerId" />
		<property name="argumentIndex" value="0" />
		<!--
		<property name="argumentPropertyPath" value="callerId" />
		-->
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.RegExpValidator" >
					<property name="regExp" value="(SELF)|(ADMIN_UI)|(CALLER1)"></property>
				</bean>
			</list>
		</property>
	</bean>

	<bean id="eventIdValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="eventId" />
		<property name="argumentIndex" value="1" />
		<!-- 
		<property name="argumentPropertyPath" value="eventId" />
		-->
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.MinLengthValidator" >
					<property name="minLength" value="1"></property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
					<property name="maxLength" value="16"></property>
				</bean>
			</list>
		</property>
	</bean>

<!--
	<bean id="eventValidator" class="org.simple4j.apiaopvalidator.validation.ParameterValidator">
		<property name="fieldName" value="event" />
		<property name="argumentPropertyPath" value="event" />
		<property name="validators">
			<!- -  list of validators to be applied on the field. For example, null check, minlength chheck etc. - ->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
			</list>
		</property>
	</bean>
-->

	<bean id="eventValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="event" />
		<property name="argumentIndex" value="0" />
		<!-- 
		<property name="argumentPropertyPath" value="orderItems" />
		-->
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<ref bean="businessRecordIdValidator"/>
				<ref bean="businessRecordTypeValidator"/>
				<ref bean="sourceValidator"/>
				<ref bean="createByPropertyValidator"/>
				<ref bean="businessRecordSubTypeValidator"/>
				<ref bean="businessRecordVersionValidator"/>
			</list>
		</property>
	</bean>

	<bean id="nullableeventValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="event" />
		<property name="argumentIndex" value="0" />
		<property name="doNullCheck" value="false" />
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="eventId" />
					<property name="propertyPath" value="eventId" />
					<property name="validators">
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
								<property name="maxLength" value="16"></property>
							</bean>
						</list>
					</property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="businessRecordId" />
					<property name="propertyPath" value="businessRecordId" />
					<property name="validators">
						<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
								<property name="maxLength" value="256"></property>
							</bean>
						</list>
					</property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="businessRecordType" />
					<property name="propertyPath" value="businessRecordType" />
					<property name="validators">
						<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
								<property name="maxLength" value="256"></property>
							</bean>
						</list>
					</property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="source" />
					<property name="propertyPath" value="source" />
					<property name="validators">
						<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
								<property name="maxLength" value="128"></property>
							</bean>
						</list>
					</property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="createBy" />
					<property name="propertyPath" value="createBy" />
					<property name="validators">
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
								<property name="maxLength" value="128"></property>
							</bean>
						</list>
					</property>
				</bean>
				<ref bean="businessRecordSubTypeValidator"/>
				<ref bean="businessRecordVersionValidator"/>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="status" />
					<property name="propertyPath" value="status" />
					<property name="validators">
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.RegExpValidator" >
								<property name="regExp" value="(NEW)|(DUPLICATE)|(IN_PROGRESS)|(FAILURE)|(SUCCESS)|(ABORT)"></property>
							</bean>
						</list>
					</property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.BeanValidator">
					<property name="doNullCheck" value="false" />
					<property name="fieldName" value="processingHost" />
					<property name="propertyPath" value="processingHost" />
					<property name="validators">
						<list>
							<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
								<property name="maxLength" value="128"></property>
							</bean>
						</list>
					</property>
				</bean>
			</list>
		</property>
	</bean>

	<bean id="businessRecordIdValidator" class="org.simple4j.apiaopvalidator.validation.BeanValidator">
		<property name="doNullCheck" value="true" />
		<property name="fieldName" value="businessRecordId" />
		<property name="propertyPath" value="businessRecordId" />
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.MinLengthValidator" >
					<property name="minLength" value="1"></property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
					<property name="maxLength" value="256"></property>
				</bean>
			</list>
		</property>
	</bean>

	<bean id="businessRecordTypeValidator" class="org.simple4j.apiaopvalidator.validation.BeanValidator">
		<property name="doNullCheck" value="true" />
		<property name="fieldName" value="businessRecordType" />
		<property name="propertyPath" value="businessRecordType" />
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.MinLengthValidator" >
					<property name="minLength" value="2"></property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
					<property name="maxLength" value="256"></property>
				</bean>
			</list>
		</property>
	</bean>


	<bean id="sourceValidator" class="org.simple4j.apiaopvalidator.validation.BeanValidator">
		<property name="doNullCheck" value="true" />
		<property name="fieldName" value="source" />
		<property name="propertyPath" value="source" />
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.MinLengthValidator" >
					<property name="minLength" value="2"></property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
					<property name="maxLength" value="124"></property>
				</bean>
			</list>
		</property>
	</bean>


	<bean id="createByPropertyValidator" class="org.simple4j.apiaopvalidator.validation.BeanValidator">
		<property name="doNullCheck" value="true" />
		<property name="fieldName" value="createBy" />
		<property name="propertyPath" value="createBy" />
		<property name="validators" ref="createByValidatorList" />
	</bean>

	<util:list id="createByValidatorList">
		<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
		<bean class="org.simple4j.apiaopvalidator.validation.MinLengthValidator" >
			<property name="minLength" value="1"></property>
		</bean>
		<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
			<property name="maxLength" value="128"></property>
		</bean>
	</util:list>


	<bean id="createByValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="createBy" />
		<property name="argumentIndex" value="1" />
		<property name="validators" ref="createByValidatorList" />
	</bean>

	<bean id="businessRecordSubTypeValidator" class="org.simple4j.apiaopvalidator.validation.BeanValidator">
		<property name="doNullCheck" value="false" />
		<property name="fieldName" value="businessRecordSubType" />
		<property name="propertyPath" value="businessRecordSubType" />
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
					<property name="maxLength" value="128"></property>
				</bean>
			</list>
		</property>
	</bean>

	<bean id="businessRecordVersionValidator" class="org.simple4j.apiaopvalidator.validation.BeanValidator">
		<property name="doNullCheck" value="false" />
		<property name="fieldName" value="businessRecordVersion" />
		<property name="propertyPath" value="businessRecordVersion" />
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxLengthValidator" >
					<property name="maxLength" value="128"></property>
				</bean>
			</list>
		</property>
	</bean>

	<bean id="startPositionValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="startPosition" />
		<property name="argumentIndex" value="1" />
		<!-- 
		<property name="argumentPropertyPath" value="startPosition" />
		-->
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.MinValueValidator" >
					<property name="minValue" value="1"></property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxValueValidator" >
					<property name="maxValue" value="5000"></property>
				</bean>
			</list>
		</property>
	</bean>

	<bean id="numberOfRecordsValidator" class="org.simple4j.apiaopvalidator.validation.MethodArgumentValidator">
		<property name="fieldName" value="numberOfRecords" />
		<property name="argumentIndex" value="2" />
		<!-- 
		<property name="argumentPropertyPath" value="numberOfRecords" />
		-->
		<property name="validators">
			<!--  list of validators to be applied on the field. For example, null check, minlength chheck etc. -->
			<list>
				<bean class="org.simple4j.apiaopvalidator.validation.NullValidator" />
				<bean class="org.simple4j.apiaopvalidator.validation.MinValueValidator" >
					<property name="minValue" value="1"></property>
				</bean>
				<bean class="org.simple4j.apiaopvalidator.validation.MaxValueValidator" >
					<property name="maxValue" value="250"></property>
				</bean>
			</list>
		</property>
	</bean>

</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy