blob: 1275a8f572f029c73346e1f6127c84eb71dc372e [file] [log] [blame]
...
/**
* Rule to check the name of the variable.
*/
@ARule(
author = "michal.chmielewski@oracle.com",
date = "9/14/2006",
desc = "Checks that variable NCName further does not contain a period (.) in the name.",
sa = 24
)
public void rule_CheckName_1 () {
// Must be a valid NCName ...
mChecks.checkNCName(mNode, ncName, AT_NAME );
IProblem problem ;
// ... and not contain a .
if (ncName.indexOf('.') >= 0) {
problem = createError();
problem.setAttribute(IProblem.CONTEXT, AT_NAME);
problem.fill("BPELC_VARIABLE__NO_DOT", //$NON-NLS-1$
ncName);
}
}
/**
* Rule to check the type of the variable.
*
* It can be either:
* 1) MessageType
* 2) Element
* 3) Type
*
* Only one must be defined, more then one cannot be defined.
*
*/
@ARule(
author = "michal.chmielewski@oracle.com",
date = "9/14/2006",
desc = "Variable type specification (either element, messaageType, or type).",
sa = 25
)
public void rule_CheckType_2 () {
int typeCount = 0;
IProblem problem;
// Check messageType
String messageType = mNode.getAttribute(AT_MESSAGE_TYPE);
if (messageType != null) {
typeCount += 1;
fMessageTypeNode = mModelQuery.lookup(mNode,
IModelQuery.LookupNode.MESSAGE_TYPE,
messageType);
}
// Check element
String element = mNode.getAttribute(AT_ELEMENT);
if (element != null) {
typeCount += 1;
fElementNode = mModelQuery.lookup(mNode,
IModelQuery.LookupNode.XSD_ELEMENT,
element );
}
// Check Type (XMLType)
String type = mNode.getAttribute ( AT_TYPE );
if (type != null) {
typeCount += 1;
fTypeNode = mModelQuery.lookup(mNode,
IModelQuery.LookupNode.XSD_TYPE,
type );
}
// Missing and too many types
if (typeCount == 0) {
problem = createError( );
problem.setAttribute(IProblem.CONTEXT, AT_TYPE);
problem.fill( "BPELC_VARIABLE__NO_TYPE", ncName); //$NON-NLS-1$
} else if (typeCount > 1) {
problem = createError( );
problem.setAttribute(IProblem.CONTEXT, AT_TYPE);
problem.fill( "BPELC_VARIABLE__NO_TYPE", ncName); //$NON-NLS-1$
}
}
/**
* Check message type node
*/
@ARule(
sa = 10,
desc = "Make sure that Message Type is visible from the import(s)",
author = "michal.chmielewski@oracle.com",
date = "01/25/2007"
)
public void rule_CheckMessageTypeNode_4 () {
if (fMessageTypeNode == null) {
return ;
}
mChecks.checkAttributeNode (mNode, fMessageTypeNode, AT_MESSAGE_TYPE, KIND_NODE );
setValue("type",fMessageTypeNode);
}
...