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

kernel.1.2.source-code.kernel.xsd Maven / Gradle / Ivy

The newest version!


	
	
	
		
			 Define data types that your project require, in
				addition to the ones that are built-in
			
		
		
			
				
					
						
							
							
							
							
							
							
							
								
									There is a predefined type called time-stamp.
										Use that. There is no point defining another one
									
								
							
						
					
				
			
			
		
	
	
		
			
				 Name is to be unique within a project. text20 is
					not a good name. shortDescription is a good name
				
			
		
		
			
				 What is the message to be used to inform the user
					that the field is in error. While defining this message in
					message.xml note that @1 is for field name, while @2 is for value.
				
			
		
		
			
				 name of function that is used by the client-side
					script for formatting this value
				
			
		
		
		
			
				 used for creating script to create table
				
			
		
		
			
				 comma separated list of valid values. Like
					enumeration. eg. 1:first,2:second for integral type, or
					first,second for text type
				
			
		
	
	
		
		
			
				 regular expression pattern that this value should
					specify. As per Java conventions
				
			
		
		
		
		
	
	
		
	
	
		
		
		
		
			
				If this is decimal, number of digits after decimal
					point
				
			
		
	
	
		
		
		
		
	
	
		
	
	
		
			
			
		
	
	
	
	
		
			
				
					
						
							
								
									
									
									
								
							
						
					
				
			
			
		
	
	
	
		
			
				
					
						
							
								
									
									
									
										
											
												defaults to 'data' for storage-record, and
													'view' for views
												
											
											
												
												
												
												
												
												
												
												
												
												
												
												
												
												
											
										
									
									
									
									
									
										
											for fields in a view, this attribute
												overrides defaultRefRecord at record level
											
										
									
									
										
											defaults to name
										
									
									
									
									
									
									
									
									
									
									
									
										
											Mandatory if fieldType is one of
												valueArray, record or recordArray. This is the name of the
												data structure defined in the rdbms that this field
												corresponds to
											
										
									
									
										
											Required if record is marked
												forFixedWidthRow. Number of characters this field occupies
												in the row.
											
										
									
									
										
											Is this field to be encrypted before
												pushing to data base? Once this is set, all record-based
												actions (like read, filter save)will automatically take care
												of encrypt/decrypt
											
										
									
								
							
						
					
				
			
			
			
			
				
					
						
						
						
						
					
				
			
			
			
			
				
					Ignored for non-oracle db. Defaults to
						tableName_seq if omitted.
					
				
			
			
			
			
				
					Child records that are to be read whenever a row
						from this record is read.
					
				
			
			
				
					Child records that are to be saved along with
						this record
					
				
			
			
				
					Must be provided if this record is a view. This
						is the record that the fields are taken from by default. Fields
						taken from other records will use referredRecord at field level to
						over-ride this
					
				
			
			
				
					If this record is to be used for listing
						key-value pairs, specify the field name to be used for value. Note
						that key field is always the primary key.
					
				
			
			
				
					If this record is to be used for listing
						key-value pairs, and the table contains list of values across
						groups, like states for all countries, then you need to specify
						the field name to be used based on which rows are to be subset.
						For example it would be country-code to get list of states for a
						given country
					
				
			
			
			
			
				
					 First field is typically displayed and used for
						matching while second one is the key/internal value
					
				
			
			
			
				
					 This is not the upper limit, but the number for
						which we have to tune the design for. Customers tend to be
						defensive, and give large numbers, but that may result in
						sub-optimal design. It is important to articulate that this number
						will put no restriction on actual number rows
					
				
			
			
				
					If the underlying table/view is in a schema other
						than the default, use this attribute for on-the-fly services for
						this record to use the right schema. Note that this attribute is
						not used for regular service. You have to use schemaName attribute
						at the service level there
					
				
			
			
				
					should we insist that the client returns the last
						time stamp during an update that we match with the current row
						before updating it? This technique allows us to detect whether the
						row was updated after it was sent to client.
					
				
			
			
				
					if this table is (almost) static, and the
						vauleList that is delivered on a list request can be cached by the
						agent. Valid only if valueListFieldis set (list_ auto service is
						enabled) if valueListKey is specified, the result will be cached
						by that field. For example, by country-code.
					
				
			
			
				
					Name used by the rdbms to define a structure that
						this record corresponds to. Mandatory if this record is used as
						child-record by another field in a complex data structure.
					
				
			
			
				
					If you deal with input or output text/file that
						has data as rows with fixed width for fields, you can model that
						with this record and specify width for each field. Simplity can
						manage to parse text into data sheet as well as output datasheet
						into fixed-length text rows
					
				
			
		
	
	
	
		
			
				
					
						use c-section to avoid xml-escaping issues with
							special characters
						
					
				
				
				
			
			
			
				
					use this if it is simple. else use
						preparedStatement element with c-section to avoid encoding issues
					
				
			
		
	
	
	
		
			
				
					
						
							
						
					
				
			
			
			
			
				
					name as in the rdbms
				
			
			
				
					if you use the returned value from the procedure,
						then it should be the first parameter
					
				
			
			
				
					If this procedure is returning one or more result
						sets, then use record(s) that match the output fields in each of
						this result set. Also, you can not use outputParameters in this
						case.
					
				
			
		
	
	
		
		
		
		
	
	
		
			
			
			
		
	
	
		
			
		
	
	
		
		
		
		
	
	
		
		
		
		
		
			
				input, output or in-out
			
		
		
			
				If this parameter is a struct, or an array,
					specify the type name as defined in the procedure
				
			
		
		
			
				if this is an object/struct, specify the record
					that has represents the struct
				
			
		
		
			
				is this an array? You should also specify
					sqlArrayType
				
			
		
		
			
				type of the array as defined in the procedure
				
			
		
	
	
		
			
			
			
		
	
	
	
		
			
				
				
				
				
				
			
			
			
			
				
					fully qualified java class name that actually
						implements this service. No other attribute is relevant once you
						specify this.
					
				
			
			
			
			
			
			
				
					Use this ONLY IF you use any jms in your service,
						either inside your java classes, or using JmsCOnsumer or
						JmsProducer actions.
					
				
			
			
				
					 If input is exactly the same as that of another
						service, use this feature. Note that the referred service MUST
						have input records, and can not refer to another service
					
				
			
			
				
					 If output is exactly the same as that of another
						service, use this feature. Note that the referred service MUST
						have output records, and can not refer to another service
					
				
			
			
				
					Optional. Valid if allowServiceSpecificSchema is
						set to true in application.xml. default schema for the connection
						is set to this before executing the service.
					
				
			
			
				
					can the response from this service be cached? If
						so what are the input fields that this response depends on?
						provide comma separated list of field names. Null (default)
						implies that this service can not be cashed.Empty string implies
						that the response does not depend on the input at all. If it is
						dependent on userId, then "_userId" must be the first field name.
						A cache manager can keep the response from this service and re-use
						it so long as the input values for these fields are same.
					
				
			
		
	

	
		
			
				
					No database usage
				
			
			
				
					No updates to the database
				
			
			
				
					database is updated as a single transaction.
						It is
						committed or rolled back at the end of this service
					
				
			
			
				
					Updates are made with no commit/roll back. Use
						with caution because this violates the concept of a user
						transaction.
					
				
			
			
				
					No database use by actions, except for
						sub-service-actions. Each of the sub-service will manage its
						own
						transaction.
					
				
			
			
				
					we do read_write, but the transaction is
						managed
						externally, like JTA/JCA/XA
					
				
			
		
	

	
		
			
				
					messaging activity is not managed under any
						transaction management. Any message production/consumption is
						auto-committed, and is not rolled-back in case of any error in the
						service
					
				
			
			
				
					messaging activities are not committed till the
						service succeeds. They re committed/rolled-back based on the
						success/failure of the service. This setting along with
						dbAccess=readWrite ensures that both JMS and Db are either
						committed together, or rolled-back together readWrite.
					
				
			
			
				
					Transaction is managed by JTA/JCA/XA. Note that
						dbAccess should also be set to external (if specified)
					
				
			
		
	
	
		
			
			
		
		
			
				Comma separated list if fields that carry the key
					for attachment files. These MUST be included in the input fields.
					This is an additional info about those fields for us to manage the
					attachment
				
			
		
		
			
				Refer to attachmentFields. This is for columns in
					sheet. use sheetName.columnName to qualify.
				
			
		
		
			
				Name of the field to which the pay-load is
					assigned to. If this feature is used, pay-load is not parsed at
					all, but simply assigned to the field as it is. It is assumed that
					the service actions will take care of it
				
			
		
		
			
				Never use this if you are accepting input from an
					external source like an http call. Input is parsed with no
					validation. Data value types are guessed based on the content. To
					be used typically by utility services, and NEVER by a business
					service
				
			
		
	
	
		
			
		
		
			
				Give comma separated names of fields to be sent to
					client. We will pick up values from context and send these values
					to client
				
			
		
		
			
				Give comma separated names of data sheets to be
					sent to client.
				
			
		
		
			
				Comma separated list if fields that carry the key
					for attachment files. These MUST be included in the input fields.
					This is an additional info about those fields for us to manage the
					attachment
				
			
		
		
			
				Refer to attachmentFields. This is for columns in
					sheet. use sheetName.columnName to qualify.
				
			
		
		
			
				Any session fields that you want to set or reset.
					Comma separated list of names. If you are writing your login
					service, this attribute is a MUST to set at least _userId to signal
					that the login process is successful.
				
			
		
		
			
				comma separated names of arrays to be output. A
					data sheet with a single column is expected in the service context
					as value. If sheet is not found, but a value is found in fields
					collection, then we send an array with just one element of that
					value.
				
			
		
		
			
				
					Use this feature is the service has already
					prepared a pay-load.
					Content of this field is used as pay-load.
				
			
		
		
			
				
					Do not use this for any business service. To be
					used for testing
					purposes, and by utility services. all values,
					arrays and data
					sheet are written out as paylaod
				
			
		
	
	
		
			
				
					
					
					
					
					
					
						
							Use this option if client is sending one row in
								a sheet, but you want to extract the row into fields collection,
								rather than a data sheet.
							
						
					
					
						
							Are you expecting client to send _saveAction to
								indicate insert/update operation?
							
						
					
					
						
							Is data for this sheet being sent by client in
								a typical json parent-child way? That is rows for this data
								sheet are added as attribute of it parent row?
							
						
					
					
						
							required when parentSheetName is used. Name of
								the column in this sheet that has the value of the parent row
								key that.Typycally, this field is not included in the client
								data, but we copy it from the parent row.
							
						
					
					
						
							Required if parentSheetName is used. Field name
								in the parent row that is to be copied to the corresponding
								column in the child sheet.
							
						
					
					
						
							Special case where parent-child link is based
								on more than one columns. This is typically for tables with
								composite primary keys. This is a comma separated list of names.
							
						
					
					
						
							Special case where parent-child link is based
								on more than one columns. This is typically for tables with
								composite primary keys. This is a comma separated list of names.
							
						
					
					
					
						
							Useful if the data is input for a db operation.
							
						
						
							
								
									
										For a key based read operation. Only key
											fields re extracted
										
									
								
								
									
										Fields along with operators, and possibly
											to-fields are extracted
										
									
								
								
									
										Any of the fields can be input. Meant for
											updating only the fields that are received from client
										
									
								
								
									
										new row, or a complete row update
										
									
								
								
									
										not directly meant for any rdbms operation.
											fields are treated as they are defined in the record
										
									
								
							
						
					
				
			
		
	
	
		
			
				
					
					
					
					
					
						
							Values for an array can be input either as
								array or a comma separated field
							
						
					
				
			
		
	
	
		
			
				
					
						
							Use record name as a short-cut to specifying
								all the fields. Note that we do not use validate output
								parameters. We use only the names to pick values from output,
								and send to client
							
						
					
					
						
							Name of the sheet to be sent to client. We send
								all columns as they are.
							
						
					
					
						
							Sheet name to which this sheet should be
								embedded as child rows. You must specify the two link column
								attributes for this to work
							
						
					
					
						
							Required if parentSheet is specified. Column
								name in this sheet whose value is treated as parentKey to attach
								this row its parent row.
							
						
					
					
						
							Required if parentSheetName is specified.
								Column in parent sheet that has the primary key to parent sheet,
								which is used to match with parentKey in child sheet for
								embedding.
							
						
					
					
						
							Special case where parent-child link is based
								on more than one columns. This is typically for tables with
								composite primary keys. This is a comma separated list of names.
							
						
					
					
						
							Special case where parent-child link is based
								on more than one columns. This is typically for tables with
								composite primary keys. This is a comma separated list of names.
							
						
					
					
						
							comma separated names of arrays to be output. A
								data sheet with a single column is expected in the service
								context as value. If sheet is not found, but a value is found in
								fields collection, then we send an array with just one element
								of that value.
							
						
					
					
						
							first row of this data sheet
							
						
					
				
			
		
	
	
		
			
		
	
	
		
		
		
			
				 act on this if a data sheet exists in context,
					and it has at least one row
				
			
		
		
			
				 act on this if context does not have this sheet,
					or that sheet has no rows
				
			
		
		
	
	
		
		
			
				Message to be flashed if this action
					extracts/affected one or more records. This message is to be
					defined as a message component
				
			
		
		
			
				Message to be flashed if this action
					extracts/affected one or more records. This message is to be
					defined as a message component
				
			
		
		
			
				In case the message is parameterized, provide
					comma separated list of values. Value starting with $ is assumed to
					be a fieldName to get value at run time.
				
			
		
		
			
				In case the message is parameterized, provide
					comma separated list of values. Value starting with $ is assumed to
					be a fieldName to get value at run time.
				
			
		
		
			
				Message to be flashed if this action
					extracts/affected one or more records. This message is to be
					defined as a message component
				
			
		
	
	
		
		
			
				Sheet to which a column needs to be added
				
			
		
		
			
				Name of column to be added
			
		
		
			
				What type of value is this column going to
					contain.
				
			
		
		
			
				 if the value is going to be the same for all
					rows, use this feature. Just specify the value if it is constant.
					In case it is a field in the context, specify $fieldName.
				
			
		
		
			
				Expression that is evaluated for each row to
					assign value of the column for that row. Optional if you are going
					to assign value later.
				
			
		
	
	
		
		
			
				data sheet to which the row is to be added
				
			
		
	
	
		
		
			
				qualified message name from defined messages.
				
			
		
		
			
				comma separated list of values, if message is
					parameterised. value starting with $, like $customerName implies
					that the value is to be picked up at run time from that field.
				
			
		
		
			
				if the message type of the message is ERROR,
					should we stop/end this service. Normally you end the service, but
					in case you are accumulating validation errors, you may want to
					continue.
				
			
		
	

	
		
			
				
			
			
		

	
	
		
		
			
				Sheet from which rows are copied. If this sheet is
					not found, or has zero rows, no error is generated, but 0 is the
					result
				
			
		
		
			
				Sheet to which rows are copied to. If this is not
					found, we copy entire fromSheet as toSheet, failing which we set 0
					as result, but no error.
				
			
		
	
	
		
		
			
				Field to which userId is to be copied to
				
			
		
	
	
		
		
			
				Name by which sheet is to be added to
					serviceContext. Once added, this sheet is available for subsequent
					actions, as well as for output
				
			
		
		
			
				The record name for creating an empty sheet,
					either the data or the recordName needs to be specified.
				
			
		
		
			
				 Of the form
					header1,header2...;val11,val12,val13...;val21,val22,val23.... rows
					are separated by semicolon(;)and cells are separated by comma(,)
					first row is header. refer to fieldValue attribute of setValue for
					syntax of cells. Each cell can be either a field name ($fieldNAme)
					or constant.
				
			
		
		
			
				 use either a constant, or a $fieldName as value
					of the field. If you use this, you should not specify expression.
				
			
		
	
	
		
		
			
				comma separated list of fields to encrypt or
					decrypt
				
			
		
		
			
				like sheet1.colName1,sheet2.colName1. comma
					separated list, each one is of the form sheetNAme.columnName
				
			
		
		
			
				comma separated list of fields to work encrypt or
					decrypt
				
			
			
				
					
					
				
			
		
	



	
		
		
			
				qualified name of .xml component you have saved
					under sp folder. This is NOT the name of stored procedure in your
					DB
				
			
		
		
			
				If your sp has in parameters, by default we pick
					them up from name-value pairs. But if you have designed to have
					them in a sheet, this is the name of that sheet.
				
			
		
		
			
				If your sp has out parameters, by default we
					extract them to name-value pairs. But if you have designed to have
					them in a sheet, this is the name of that sheet.
				
			
		
		
			
				If your SP extracts one or more result set (but
					not return them as parameters), by default we extract them to sheet
					names based on record. You may change the names with this
					attribute. Use comma separated list if there are 2 or more sheets
				
			
		
	
	
		
		
		
		
			
				If constraints are defined in database, you may
					want to use that to try to save, failing which you may want to
					treat it as validation error, rather than a SQL Exception.
				
			
		
	
	
		
			
		
		
		
		
		
		
		
			
				By default, only the first level children are read
					along with the parent. Do you want that action to cascade down to
					subsequent generations as well? That is, if the childRecord has
					children, read them as well, and so on.
				
			
		
	
	
		
			
			
			
		
	
	
		
			
			
			
		
	

	
		
			
				
					If data needs to be formatted as a json from set
						of data fields/sheets in the service context, use this option. If
						the data is non-json, or a simple value of a field, use
						requestFieldName attribute instead.
					
				
			
			
				
					If data needs to be formatted as a json from set
						of data fields/sheets in the service context, use this option. If
						the data is non-json, or a simple value of a field, use
						requestFieldName attribute instead.
					
				
			
		
		
		
			
				provide full url. In case the url has parts that
					are known at run time, use ${fieldName}. For example
					http://.....${orderNo}...${customerId}... Values are substituted at
					run time. If field has no value in the context, we use empty string
				
			
		
		
			
				example application/json or application/xml or
					text/html. We assume that the content type is same for both request
					and response, in case we send request data as well.
				
			
		
		
			
				if request data is to be sent, this is the field
					that will have the data at run time in service context. Ensure that
					the value is as per the requirements for the request.For example it
					could be a valid json, xml or form data, as required by the
					service.
				
			
		
		
			
				response from service is assigned as value of this
					field in the service context. Not valid if you have specified
					responseData provide full url. In case the url has parts that
				
			
		
		
			
				in case the service request has to go thru a
					proxy.
				
			
		
		
			
				GET, PUT etc..
				
			
		
		
			
				For proxy credential. use $fieldName in case the
					value is known at run time. (not ${fieldName})
				
			
		
		
			
				For proxy credential. use $fieldName in case the
					value is known at run time. (not ${fieldName})
				
			
		
		
			
				Required if proxy is to be used
				
			
		
	

	
		
			
			
			
		

		
		
			
				 false means this action will come out if there is
					no message. true means it will wait. depending on value of
					consumeAll this may lead to this action working as a perpetual
					listener on this queue
				
			
		
		
			
				false means we will process at most one message. 1
					or zero depends on waitForMessage setting and state of the que.
					true means we will process all the message available on the queue
					first, and then wait depending on the other setting
				
			
		
	

	
		
			
			
		
		
	

	
		
		
			
				_stop, _break, _continue or a name of an action to
					go to
				
			
		
	
	
		
		
			
				Comma separated list of names of fields and sheets
					whose values are to be logged at this stage.
				
			
		
	
	
		
		
		
	
	
		
		
		
	
	
		
			
			
			
			
			
			
		
	
	
		
		
		
		
	
	
		
		
		
		
		
		
	
	
		
			
			
		
		
		
		
		
	
	
		
		
	
	
		
			
		
		
		
			
				If you want to loop for each row in a sheet, use
					this feature. If this is not specified, you have to specify the
					condition to be true to keep looping. Inside the loop, you may use
					sheetName.columnName as if it is a field. Simplity will map this to
					the column value in the current row of the dta sheet
				
			
		
		
			
				Use comma separated list of column names, or * to
					imply all columns. If you are looping on a sheet, and you want to
					refer to the columns in that sheet without prefixing them with
					sheet name (for example you want to re-use a service that assumes
					that the columns are actually fields in the context) then you may
					copy columns from current row into the context as fields for each
					loop. Simplity saves existing fields before starting the loop, and
					restores them after the loop.
				
			
		
		
			
				Use comma separated list of column names, or * to
					imply all columns. At the end of loop, fields from ctx are copied
					to the current row of the sheet. Valid only if you are looping on a
					data sheet.
				
			
		
		
			
				Useful only if this loop is used as an
					infinite-loop for a background job. For example as a consumer of a
					queue. When this attribute is set to true, a thread-interrupt is
					checked at the beginning of each loop. And the execution comes out
					of the loop on such an interrupt. Thus the actions in the loop are
					executed as a transaction, and are not interrupted. For safety,
					this keyword is allowed only if the service is marked as
					toBeRunInBackground
				
			
		
	

	
		
		
			
				put value of this field into message box
				
			
		
		
			
				Use this as an alternate to fieldName. Expression
					is evaluated and the result is put into the message box
				
			
		
	

	
		
		
			
				content of the message box, if any, is set as text
					value of this field name
				
			
		
	


	
		
			
		
		
		
		
		
		
			
				By default, only the first level children are read
					along with the parent. Do you want that action to cascade down to
					subsequent generations as well? That is, if the childRecord has
					children, read them as well, and so on.
				
			
		
	
	
		
		
		
		
	
	
		
			
		
		
		
		
		
		
			
				By default, only the first level children are read
					along with the parent. Do you want that action to cascade down to
					subsequent generations as well? That is, if the childRecord has
					children, read them as well, and so on.
				
			
		
	
	
		
		
		
	
	
		
		
			
				Record us used to get the rdbms table and the key
					field details. This record must contain the attachment field that
					we are replacing. Other fields may be there, but we ignore them.
					With this behavior, you may reuse a record define for regular save
					operation.
				
			
		
		
	
	
		
		
			
				if you want to use a key field name different from
					the one defined in the record.
				
			
		
		
			
				record to check the row
			
		
	
	
		
			
		
		
		
		
		
			
				If constraints are defined in database, you may
					want to use that to try to save, failing which you may want to
					treat it as validation error, rather than a SQL Exception.
				
			
		
		
			
				auto means we will figure out based on presence of
					value of primary key
				
			
			
				
					
					
					
					
				
			
		
	
	
	
		
			
			
		
		
	
		
			
				
					
						
					
					
					
						
							TEXT or TEMPLATE
						
					
					
					
					
				
			
		
		
		
		
		
		
		
		
		
	
	
		
			
				
					 Use CDATA section if your expression is complex,
						and is confusing with xml escaping for quotes etc..
					
				
			
		
		
		
		
			
				 Note that you have to xml escape double quote and
					less-than, greater-than etc.. If this is confusing,use expression
					element instead with CDATA section.
				
			
		
		
			
				 use either a constant, or a $fieldName as value
					of the field. If you use this, you should not specify expression.
				
			
		
	
	
		
		
		
		
	
	
		
		
			
				Fully qualified service name
			
		
	
	
		
		
			
				Fully qualified service name
			
		
		
			
				Field to filter on. defaults to what is specified
					in record. default is to match anywhere. If you want to match
					starting only, then a special field named _matchStarting can be set
					to true.
				
			
		
		
			
				Name of the output data sheet. If not specified,
					it defaults to the name as specified in record.
				
			
		
	
	
		
			
			
			
		
		
	

	
		
			
				For primary input file, this is the
					file-name-pattern as a regular expression. This is NOT wild card.
					If there is only one file, you may use $fieldName, @propertyName as
					well. For child-file, this may be expressed as part of the main
					file name. {name} and {ext} will stand for name and extension of
					primary file. or an output file, the reference file is always the
					corresponding input file. The file name is relative to the
					rootFolder as specified in batchProcess.
				
			
		
		
			
				qualified name of record that defines the fields
					in this flat file
				
			
		
		
			
				in what format is data received in the file?
				
			
		
	

	
		
			
			
				
					For a child file that may have more than one row
						for a parent row. This is the list of fields in this file that are
						to be matched with corresponding fields in parent as specified in
						linkFieldsInParentRow
					
				
			
			
				
					Required if linkFieldsInThisRow is specified.
						This is the list of fields in the parent record to be matched
					
				
			
			
				
					name of file relative to rootFolder that may
						contain {name} and {ext} as name/ext of input file name.
						$fieldName to get it as a field
					
				
			
			
				
					not valid if renameInfileTo is specified. if set
						to true, file is deleted after processing
					
				
			
			
				
					If there are checks/conditions to ignore/reject a
						row, specify the expression here. Row that is read is selected for
						further processing only if this condition evaluates to true
					
				
			
		
	

	
		
			
			
				
					if the output row should not be written
						conditionally. Ensure that this expression evaluates to a boolean
						value
					
				
			
			
				
					Required if linkFieldsInThisRow is specified.
						This is the list of fields in the parent record to be matched
					
				
			
			
				
					name of file relative to rootFolder that may
						contain {name} and {ext} as name/ext of input file name.
						$fieldName to get it as a field
					
				
			
			
				
					not valid if renameInfileTo is specified. if set
						to true, file is deleted after processing
					
				
			
		
	

	
		
			
				
					
						Details of what to process
						
					
				
			
			
			
				
					Name of the folder where the files where input
						files are located. use $fieldName to use a field in the service
						context. Child-input files, if any are also expected in this
						folder. In case you need to locate them on a different folder, you
						should use the relative folder prefix as part of the filename for
						the input
					
				
			
			
				
					Name of the folder where the files are to be
						written out. use $fieldName to use a field in the service context.
						Child-file output, if any, will also be output to this folder. In
						case you need to organize them to a different folder, you may use
						relative path as part of the file name.
					
				
			
			
				
					Name of the service to be executed as a
						sub-service in case of error while processing a row.
					
				
			
			
				
					Name of the service to be executed as a
						sub-service in case an input row has validation errors.
					
				
			
			
				
					Should the batch processing stop after processing
						the current row in case of an interrupt issued by the admin?
					
				
			
			
				
					Use this ONLY IF you use any jms in your service,
						either inside your java classes, or using JmsConsumer or
						JmsProducer actions.
					
				
			
			
				
					What kind of transaction management is to be used
						per row in this batch processing
					
				
			
			
				
					In case this batch process uses a schema other
						than the default for the project
					
				
			
			
				
					If this processor isdesigned to work in more than
						one file, some logic may need to get teh actual file name being
						processed. This is the field name to which the actual driver
						filebeing processed is set to in service context
					
				
			
		
	

	
		
			
				
			
		
	
	
		
			
				
					
						Specify details of input file
					
				
				
					
						Specify details of output file, if any
						
					
				
				
					
						action to be executed for this row, before
							processing any child row. If there are more than ne rows use
							block action to group them
						
					
				
				
					
						action to be executed for this row, after
							processing any child rows. If there are more than ne rows use
							block action to group them
						
					
				
				
					
						one or more file processors associated with
							this. Like lines for a header
						
					
				
				
					
						for creating aggregated fields group by keys
						
					
				
				
				
			
			
				
					Use this option to use the result of query as the
						primary driver for batch processing. Either this is to be
						specified or inputFile is to be specified
					
				
			
			
				
					If you have custom code that writes some output.
						This can be provided in addition to outputFile and outputQueue
					
				
			
			
				
					In case you have custom code that provides input
						rows for a bact procesor. Note that a batchRowProcessor shoudlhave
						one and onl one wy to input
					
				
			
			
				
					If there are aggregators, and under some
						circumstane, you want to proces the row, but not
						accumulate/aggregate. If specified, the row is aggregated only if
						this expression evaluates to true;
					
				
			
		
	

	
		
			
			
			
			
			
			
			
		
	

	
		
			
				
					
						
							
								It os possible to output teh value as decimal
									or
									integral irrespective of the input field type
								
							
						
						
							
								Name of the field/column in the child row
									being accumulated. For count, use * as the name if you wnt to
									count all rows. Otherwise only rows with non-null value of this
									column are counted.
								
							
						
						
							
								Name of the field/column with which the
									aggregated value is written out to parent row/context
								
							
						
						
							
								Relevant for math functions. Default would be
									to output accumulated valuea as number/integer.
								
							
						
					
				
			
		
	

	
		
		
			
				 Field to filter on. defaults to what is specified
					in record. default is to match anywhere. If you want to match
					starting only, then a special field named _matchStarting can be set
					to true.
				
			
			
				
					
				
			
		
		
		
		
			
				
					
					
				
			
		
		
		
		
		
		
		
		
			
				 Name of the output data sheet. If not specified,
					it defaults to the name as specified in record.
				
			
		
		
	
	
		
			
			
			
			
			
		
	
	
		
			Typically child tables that are read/saved along
				with parent
			
		
		
			
				
					
						
							related record name. Fully qualified please.
							
						
					
					
						
							sheet name that has data for this record
							
						
					
					
						
							 if the child rows are not referred any where
								else, it is simpler at times to just delete all existing rows,
								and insert new ones. Use this flag for such an operation. Note
								that save action at the rows are ignored, and all rows are
								inserted
							
						
					
				
			
		
	
	
		
			
			
			
			
		
	
	
		
			
			
		
	
	
		
			define functions by mapping name to class
			
		
	
	
		
			
				
					
						
							
								
									
										Simple name. This service will be referred
											as fileName.name
										
									
								
								
									
										Of course, good description, but not story.
										
									
								
								
									
										fully qualified class name like
											com.example.a.service.MyService
										
									
								
							
						
					
				
			
		
	
	
	
		
			Define services that are implemented using java
				class
			
		
	
	
		
			
				
					
						Attributes like user name and password etc..
							that may have to be put into environment before getting conection
							factory. refer to your JMS provider manua, like jboss for details
						
					
				
				
					
						 If your application used more than one schemas,
							then you need to provide details for non-default schema
						
					
					
						
							
								
									
									
									
								
							
						
					
				
				
					
						 Setup details for the LDAP connection
						
					
				
			
			
				
					This must be UNIQUE within a corporate, so that
						we can use it as identity for inter-application communication
					
				
			
			
				
					During development, we prefer not to cache
						components, so that any change to them is immediately reflected in
						the application. This reduces the build requirements.
					
				
			
			
				
					
						vendor specific specific syntax used ONLy when
							ansi syntax is not available for the specified vendor
						
					
					
						
						
						
						
						
						
					
				
			
			
				
					complete string including credentials
					
				
			
			
				
					
				
			
			
				
					Preferred way to establish connection.
					
				
			
			
				
					login service will be called with loginId and
						securityToken. If you use SSO, security token would be the
						authenticated ssoId, otherwise it would be the password entered by
						user. This service MUST set _userId as sessionField using
						sessionFields="" attribute of outputData tag. All these fields
						will be used as global data, and will be made available to all
						services.
					
				
			
			
				
					If your application needs to do anything when
						user logs-out/times-out do you need to do anything? Specify the
						service name that is going to be called. userId as well all global
						fields are going to be available to your service. Also a boolean
						is supplied that indicates whether the user logged-out explicitly,
						or got timed-out
					
				
			
			
				
					Simplity need to know the data type of userId
						(identify of the logged-in user that is generally saved in tables
						as modified-by-user). Default is text, which you can change to
						integral. Of course, we do not allow you to design it as any other
						type
					
				
			
			
				
					If a batch job is to be started whenever the
						application comes up, use this option. It is possible that the
						batch job is run on a different container than the regular
						on-line, in which case you may have custom-made application.xmlfor
						each.
					
				
			
			
				
					Responses can be cached at http(web tier) as well
						as at service (app tier). specify the qualified class name for the
						service cache manager that implements ServiceCacheManager
						interface. Services should indicate cacheability in response
						service data (refer to service.xml attributes)
					
				
			
			
				
					refer to org.simplity.service.AccessController
						class.
					
				
			
			
				
					refer to org.simplity.service.ExceptionListener
						class. This feature allows you to wire exceptions to any corporate
						infrastructure to deal with exceptions
					
				
			
			
				
					Should the server log the sqs that are being
						executed? This would be off in production for security reasons,
						but would be quite helpful during development
					
				
			
			
				
					Simplity provides a simple way to store
						attachments in folder that is accessible to web tier as well as
						App tier. Use this attribute to set the folder.
					
				
			
			
				
					Way to interface with your own attachment
						management infrastructure. This plug-in handles storage and
						retrieval for all your services. Refer to
						org.simplity.AttachmentManager class
					
				
			
			
				
					By default, service-log is wrapped in a simple
						xml element and the actual trace text is put inside a CDATA
						section. You may format it differently using your own wrapper that
						implements
					
				
			
			
				
					should the trace/log for the service execution be
						arranged to be sent to the caller/client? True during development,
						false during production
					
				
			
			
				
					During development/demo, login would be a
						nuisance. You may disable that, and use a default userId for all
						services. Ensure that this is a number in case your project uses
						numeric value as userId, as set in userIdIsNumberattribute.
					
				
			
			
				
					Responses can be cached at http(web tier) as well
						as at service (app tier). specify the qualified class name for the
						http cache manager that implements HttpCacheManager interface.
						Services should indicate cacheability in response service data
						(refer to service.xml attributes)
					
				
			
			
				
					By default, service-log is emitted to console
						(System.out). If you use any of the standard logging framework,
						and you would like to service log to be diverted to your logger.
					
				
				
					
						
							
								Old
									log4J uses log4j-1.17.jar
								
							
						
						
							
								Version 2.* of log4J. uses log4j-api-2.7.jar
								
							
						
						
							
								Also known as JCL, uses
									commons-logging-1.2-SNAPSHOT.jar
								
							
						
						
							
								SLF4J adapter that you can bind to any other
									framework. For example slf4J-Simple or LogBack.
									slf4j-api-1.7.2.jar
								
							
						
						
							
								Plain vanilla java.util.logging. Requires no
									jar file, but configuration is the key
								
							
						
					
				
			
			
				
					JNDI name for jms connection factory for a
						non-JTA/JCA/XA aware connection. For example
						java:/ConnectionFactory for JBOSS.
					
				
			
			
				
					JNDI name for jms connection factory for a
						JTA/JCA/XA aware connection. For example java:/JmsXA for JBOSS.
					
				
			
			
				
					JNDI name for a UserTransaction instnce to manage
						a JTA transaction. For example java:comp/UserTransaction in JBOSS
					
				
			
			
				
					number of threads that are retained in the pool
						for the batch even if they are idle.
					
				
			
			
				
					Required if you use batch components inside some
						EJB containers like Websphere. for example
						java:jboss/ee/concurrency/factory/default for jboss. This is
						avaiable in teh configuration file of your app server/container
					
				
			
			
				
					Required if you use batch components inside some
						EJB containers like Websphere. for example
						java:jboss/ee/concurrency/scheduler/default for jboss. This is
						avaiable in teh configuration file of your app server/container
					
				
			
		
	

	
		
			
				
			
		
	
	
		
			
			
			
			
			
			
			
			
			
			
		
	
	
		
			
			
		
	
	
	
	
		
			
				You may use pattern like order.lines.2.name to get
					name attribute from third element of lines-array of attribute order
				
			
		
		
			
				use $ as first character to specify a variable in
					the test context as value for this.
				
			
		
	
	
		
	
	
		
		
			
				if you are asserting that this field is absent in
					the output. fieldValue should not be specified.
				
			
		
	
	
		
			
				You may use pattern like order.lines.2.name to get
					name attribute from third element of lines-array of attribute order
				
			
		
		
			
				name of the context variable to set this to. This
					is the name used by subsequent services to refer to this value.
					Defaults to field selector
				
			
		
	
	
		
			
		
	
	
		
			
		
	
	
		
			
		
	
	
		
			
		
		
			
				item selector, for example order, or order.lines.2
					Ensure that the selector selects an item, and not a an array at run
					time. This item is the parent for all the fields in the fields
					collection. Their selector would be relative to this item
				
			
		
	
	
		
			
		
		
			
				item selector, for example order, or order.lines.2
					Ensure that the selector selects an item, and not a an array at run
					time. This item is the parent for all the fields in the fields
					collection. Their selector would be relative to this item
				
			
		
	
	
		
			
				list selector, for example order, or order.lines
					Ensure that the selector selects an array, and not a an object at
					run time.
				
			
		
		
		
	
	
		
			
		
	
	
		
			
		
	
	
		
			
		
	
	
		
			
				
					
						Use a CDATA section to specify a json. Since
							json is full of double quotes, it is quite ugly to specify it as
							attribute or content. This is the initial JSON. Other input
							specifications can alter or add to this
						
					
				
				
					
						Use a CDATA section to specify a json. Once this
							is specified, no other specification about output makes sense.
						
					
				
				
				
				
				
				
				
			
			
				
					Unique within a test run for identification.
					
				
			
			
				
					Describe what we are trying to test. Include
						reference to features
					
				
			
			
				
					Fully qualified name of service to be executed.
						Normally, this is the service we are testing, but there are
						certainly occasions where we use a service to verify the output of
						teh service being tested, or prepare data in the db for the
						service
					
				
			
			
				
					if this test case is to assert failure
					
				
			
			
				
					How many assertions are you making in this test
						case? That is how many test conditions are getting verified in
						this test case? This is used for reporting results after running a
						series of tests. Default is 1.
					
				
			
		
	
	
		
			
				
					
						
							
						
					
				
			
			
			
		
	
	
		
			
		
	
	
		
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
		
	
	
		
			
				JNDI name to locate the queue. Required for
					request queue. Temp queue is used for response if name is not
					specified.
				
			
		
		
			
				If the message body is used for transporting data,
					how is it formatted?
				
			
		
		
			
				field name that is used to extract message body
					into, or for preparing it. Valid if messsageBody is used.
				
			
		
		
			
				Comma separated list of field names that being
					transported (either as formatted text in message body, or as header
					parametersm)
				
			
		
		
			
				data structure to be used for either formatting
					message body, or header setting/getting header paremeters
				
			
		
		
			
				trust the producer and extract all data from
					message.
				
			
		
		
			
				custom java class that extracts fields from
					message into service context. This class should implement
					DataExtractor interface
				
			
		
		
			
				custom java class that creates the message from
					service context. This class shoudl implement MessageFormatter
					interface
				
			
		

		
			
				in case this attribute is used for the queue and
					being used by your application
				
			
		
	

	
		
			
				
					predefined sequence of fields each with
						predefined width
					
				
			
			
				
					predefined sequence of field values separated by
						comma
					
				
			
		
	

	
		
			
				
					Value of a single field. Any primitive value in
						text representation or a java object.
					
				
			
			
				
					predefined sequence of fields each with
						predefined width
					
				
			
			
				
					predefined sequence of field values separated by
						comma
					
				
			
			
				
					json format
				
			
			
				
					xml with field values as attributes
					
				
			
			
			
		
	

	
		
			
				
			
			
			
				
					userId to be used for running the batch. Defults
						to setting in Application.xml, or "100". Over-ridden by the
						setting at job level.
					
				
			
		
	

	
		
			
				
					
						
						
							
								Use a CDATA section to paste a formatted json
									from your editor. This is the json that is suppied as input to
									the service
								
							
						
					
					
						
							unique name to identify this job
							
						
					
					
						
							userId to be used for running this job.
								Overrides setting at jobs/application. Service is executed with
								thisuser as logged-in user
							
						
					
					
						
							qualified name of the service to be run as a
								job
							
						
					
					
						
							Use this if this is a batch service to be run
								repeatedly. number of seconds between two runs start-to-start.
								However, in case the current run takes longer, next run will
								wait for this to complete before starting. keep it as 0 if this
								is a lsitner/backgroud job that is run just once.
							
						
					
					
						
							If the scheduling is by time of the day, use
								this option to specify comma separated list of times in 24Hr
								format upto minute (hh:mm, hh:mm, ...)
							
						
					
					
						
							use this if this is a listener/background job
								that is run once. min value is 1. If more than 1 is specified,
								the job is fired on that many threads simultneously, subject to
								availablity of threads in this scheduler.
							
						
					
				

			
		
	

	
		
			
				
					
					
					
				
			
		
	




© 2015 - 2024 Weber Informatics LLC | Privacy Policy