Q3CString UmlOperation::compute_name() { Q3CString get_set_spec = pythonNameSpec(); if (! get_set_spec.isEmpty()) { UmlClassMember * it; if ((it = getOf()) == 0) it = setOf(); int index; Q3CString s = (it->kind() == aRelation) ? ((UmlRelation *) it)->roleName() : it->name(); if ((index = get_set_spec.find("${name}")) != -1) get_set_spec.replace(index, 7, s); else if ((index = get_set_spec.find("${Name}")) != -1) get_set_spec.replace(index, 7, capitalize(s)); else if ((index = s.find("${NAME}")) != -1) get_set_spec.replace(index, 7, s.upper()); else if ((index = s.find("${nAME}")) != -1) get_set_spec.replace(index, 7, s.lower()); return get_set_spec; } else return name(); }
void tst_Q3CString::lower() { Q3CString a; a="Text"; QCOMPARE(a.lower(),(Q3CString)"text"); }
UmlClass * UmlClass::import(File & f, UmlItem * parent, const Q3CString & knd) { Q3CString s; if (f.read(s) != STRING) f.syntaxError(s, "class's name"); Q3CString id; Q3CString ste; Q3CString doc; Q3Dict<Q3CString> prop; Q3CString s2; int k; do { k = f.readDefinitionBeginning(s2, id, ste, doc, prop); } while (id.isEmpty()); if (ste == "CORBAConstant") { // not a class ! if (!scanning) { if (parent->kind() == aClass) UmlAttribute::importIdlConstant((UmlClass *) parent, id, s, doc, prop); else importIdlConstant(parent, id, s, doc, prop); } if (k != ')') f.skipBlock(); return 0; } UmlClass * cl; if (scanning) { if (((cl = UmlBaseClass::create(parent, s)) == 0) && ((cl = UmlBaseClass::create(parent, legalName(s))) == 0)) { UmlCom::trace("<br>cannot create class '" + s + "' in " + parent->fullName()); throw 0; } newItem(cl, id); if (!ste.isEmpty()) { if (ste.left(5) == "CORBA") { if (ste != "CORBAValue") cl->set_Stereotype(ste.mid(5).lower()); } else cl->set_Stereotype(((ste == "Actor") || (ste == "Interface")) ? ste.lower() : ste); } if (!doc.isEmpty()) cl->set_Description(doc); cl->lang = None; } else if ((cl = (UmlClass *) findItem(id, aClass)) == 0) { UmlCom::trace("<br>unknown class '" + s + "' in " + parent->fullName()); throw 0; } Q3CString art_path; for (;;) { switch (k) { case ')': switch (cl->lang) { case Cplusplus: case AnsiCplusplus: case VCplusplus: cl->cplusplus(prop); break; case Oracle8: cl->oracle8(prop); break; case Corba: cl->corba(prop); break; case Java: cl->java(prop); break; default: break; } if (!scanning) { cl->setProperties(prop); cl->unload(TRUE); } return cl; case ATOM: if (s2 == "operations") cl->importOperations(f); else if (s2 == "class_attributes") cl->importAttributes(f); else if (!scanning && ((s2 == "superclasses") || (s2 == "used_nodes") || (s2 == "realized_interfaces"))) cl->importRelations(f); else if (s2 == "nestedClasses") cl->importClasses(f); else if (s2 == "abstract") { if (f.readBool()) cl->set_isAbstract(TRUE); } else if (s2 == "language") cl->lang = f.readLanguage(); else if (s2 == "instantiation_relationship") cl->importInstantiate(f); else if (s2 == "parameters") { if (knd == "Parameterized_Class") cl->importFormals(f); else cl->importActuals(f); } else if (s2 == "module") { if (f.read(art_path) != STRING) f.syntaxError(art_path, "module's name"); } else if (!scanning && (s2 == "quidu")) { f.read(s2); cl->assocArtifact(Artifact::find(s2), art_path); } else f.skipNextForm(); k = f.read(s2); break; default: f.syntaxError(s); } } }