def getJavaMethodName(el): name = el.getName() if " " in name: title = "".join(name.title().split()) else: title = name return applyToFirstLetter(title, unicode.lower)
for rend in pend.getNaryLink().getNaryLinkEnd() \ if rend is not pend and rend.getConsumer() and rend.getConsumer().getRequiring().getInternalOwner()] r = [ (pend.getProvider().getProviding().getInternalOwner(), iface) \ for port in program.getInternalStructure()\ for req in port.getRequired()\ for iface in req.getRequiredElement() \ for rend in req.getNaryProvider()\ for pend in rend.getNaryLink().getNaryLinkEnd() \ if pend is not rend and pend.getProvider() and pend.getProvider().getProviding().getInternalOwner()] for (jclass, iface) in p: ifname = iface.getName() fjcname = getFullClassName(jclass) fifname = getFullInterfaceName(iface) vname = applyToFirstLetter(ifname, unicode.lower)+"Impl" # TODO: update this attribute somehow jatts = [ x for x in program.getOwnedAttribute() if x.getName() == vname] if len(jatts)==0: jatt = createAttribute(program, vname, iface, "") jatt.setValue("new " + fifname + "() {}") note = modelingSession.getModel().createNote("JavaDesigner", "JavaAnnotation", jatt, "@Provided") note.setMimeType('text/plain') addTagValue(program, "JavaImport", "org.modelio.juniper.platform.Provided") else: jatt = jatts[0] storagePrograms = [ pend.getProvider().getProviding().getInternalOwner() for port in program.getInternalStructure()\ for req in port.getRequired()\
def getJavaClassName(el): return applyToFirstLetter(getJavaMethodName(el), unicode.upper)