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

e.madura-rules-tests.3.3.5.source-code.Customer.rul Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c)2011 Prometheus Consulting
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *******************************************************************************/
formula: Customer "Count Items in list"
{
	invoiceCount = count(invoices);
}

rule: Customer "isnotknown"
{
	if (isNotKnown(amount))
	{
		oneInvoice.amount = amount;
	}
}
constraint: Customer "check the count: {0}" [oneInvoice.amount]
{
	logicalNot(invoiceCount > 2L);
}

rule: Customer "Determine customerType from name"
{
	if (name == "aaaab")
	{
		customerType = "a";
	}
}

rule: Customer "Determine business from customerType"
{
	if (customerType == "a")
	{
		business = IndustryType.AG;
	}
}

rule: Customer "Determine business from customerType B"
{
	if (customerType == "b")
	{
		business = IndustryType.FISH;
	}
}

rule: Customer "Determine customerType B from name"
{
	if (name == "aaaaab")
	{
		customerType = "b";
		testBoolean = true;
		amount = combine(5,7);
	}
}

rule: Customer "set customerType to read-only, activate and required"
{
	if (name == "aaaab")
	{
		readonly(customerType);
		activate(customerType);
		require(customerType);
		exclude(customerType,"c");
	}
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy