def setBusinessObjectsAsSerializable(package): for jclass in [ jclass for jclass in package.getOwnedElement(Class) if hasStereotype(jclass, 'Entity')]: stereoImplements = [it for it in getTagValues(jclass, 'JavaImplements') if 'Serializable' in it] modelImplements = [ ir for ir in jclass.getRealized() if ir.getImplemented().getName() == 'Serializable' ] if not stereoImplements and not modelImplements: addTagValue(jclass, "JavaImport", "java.io.Serializable") addTagValue(jclass, "JavaImplements", "Serializable") for subPackage in package.getOwnedElement(Package): setBusinessObjectsAsSerializable(subPackage)
def getNodeIP(node): return getTagValues(node, 'ip') def getFullJavaName(el): return getJavaClassName(el)
for programInst in [program for program in node.getPart() if hasStereotype(program, 'ProgramInstance') \ and hasStereotype(program.getBase(), 'JUNIPERProgram')]: program = programInst.getBase() if not program in mpiGroups.keys(): mpiGroups[program] = [] groupName = 'group_' + node.getName() mpiGroupTag = ET.SubElement(topoModelTag, 'mpigroup') mpiGroupTag.set('name', groupName) mpiGroups[program].append(groupName) for i in range(max(1,int(node.getMultiplicityMin()))): cloudNode = ET.SubElement(deplModelTag, 'cloudnode') ipaddrs = getTagValues(node, 'ip') if len(ipaddrs) > i: ipaddr = ipaddrs[i] else: ipaddr = '127.0.0.1' hostsFileContent += ipaddr + '\n' cloudNode.set('hostipaddr', ipaddr) cloudNode.set('mpiglobalrank', str(mpiGlobalRank)) memberTag = ET.SubElement(mpiGroupTag, 'member') memberTag.set('mpiglobalrank', str(mpiGlobalRank)) memberTag.set('mpilocalrank', str(mpiLocalRank)) memberTag.set('programName', program.getName()) mpiGlobalRank = mpiGlobalRank + 1