@Override protected SemanticElementRelationship buildMessageModelObject(ClassDef classDef, RawRoot root) { SemanticElementRelationship msgElemRel = new SemanticElementRelationship(); msgElemRel.setName(BuilderUtil.getNameAttribVal(classDef)); msgElemRel.setDescription(BuilderUtil.getDescriptionAttribVal(classDef)); msgElemRel.setRule(BuilderUtil.getRuleAttribVal(classDef)); msgElemRel.setRuleExpressionLanguage(BuilderUtil.getRuleExprAttribVal(classDef)); msgElemRel.setSourceIsInstance(BuilderUtil.getBooleanAttribVal(classDef, s_srcIsAttrib)); msgElemRel.setTargetIsInstance(BuilderUtil.getBooleanAttribVal(classDef, s_targetIsAttrib)); try { msgElemRel.setMinOccurs(BuilderUtil.getIntegerAttribVal(classDef, s_minAttrib)); } catch (NumberFormatException ex) { String value = BuilderUtil.getAttribVal(classDef, s_minAttrib); Mdmi.INSTANCE .logger() .loge( ex, SemanticElementRelationshipBuilder.class.getName() + ": Unable to parse '" + s_minAttrib + "' '" + value + "' as integer."); } try { msgElemRel.setMaxOccurs(BuilderUtil.getIntegerAttribVal(classDef, s_maxAttrib)); } catch (NumberFormatException ex) { String value = BuilderUtil.getAttribVal(classDef, s_maxAttrib); Mdmi.INSTANCE .logger() .loge( ex, SemanticElementRelationshipBuilder.class.getName() + ": Unable to parse '" + s_maxAttrib + "' '" + value + "' as integer."); } return msgElemRel; }
public static int getMapCenterFacing(AIDelegate aiDelegate, CachedUnit unit) { double direction = BuilderUtil.getMapCenterDirection(unit.getPos()); // System.err.println("direction: " + direction); if (direction >= 45 && direction < 135) { return FACING_SOUTH; } if (direction >= 135 && direction < 225) { return FACING_WEST; } if (direction >= 225 && direction < 315) { return FACING_NORTH; } return FACING_EAST; }