public OJField(String name, OJPathName type) { setName(name); setType(type); }
public OJField findAttributeValue(String fieldName){ for(OJField f:this.attributeValues){ if(f.getName().equals(fieldName)){ return f; } } OJField value=new OJField(); value.setName(fieldName); this.attributeValues.add(value); return value; }
static void addFieldTypePropertyToLiteral(OJEnumLiteral literal, String fieldType) { OJField uriAttribute = new OJField(); uriAttribute.setType(UmlgRestletGenerationUtil.FieldType); uriAttribute.setInitExp(fieldType); uriAttribute.setName("fieldType"); literal.addToAttributeValues(uriAttribute); OJField jsonField = literal.findAttributeValue("json"); StringBuilder sb = new StringBuilder(); sb.append(", \\\"fieldType\\\": \\\"\" + " + fieldType + " + \"\\\"}\""); String initExp = jsonField.getInitExp(); int indexOf = initExp.lastIndexOf("}"); initExp = initExp.substring(0, indexOf) + sb.toString(); jsonField.setInitExp(initExp); }
static void addFieldTypePropertyToLiteral(OJEnumLiteral literal) { String uri = "FieldType.Date"; OJField uriAttribute = new OJField(); uriAttribute.setType(UmlgRestletGenerationUtil.FieldType); uriAttribute.setInitExp(uri); uriAttribute.setName("fieldType"); literal.addToAttributeValues(uriAttribute); OJField jsonField = literal.findAttributeValue("json"); StringBuilder sb = new StringBuilder(); sb.append(", \\\"fieldType\\\": \\\"\" + FieldType.Date + \"\\\"}\""); String initExp = jsonField.getInitExp(); int indexOf = initExp.lastIndexOf("}"); initExp = initExp.substring(0, indexOf) + sb.toString(); jsonField.setInitExp(initExp); }
private void addTumlMetaDataUriToLiteral(Class clazz, PropertyWrapper pWrap, OJEnumLiteral literal, boolean asAssociationClass) { String uri; String contextPath; if (clazz != null && pWrap != null) { contextPath = ModelLoader.INSTANCE.getModel().getName(); if (!asAssociationClass) { uri = "\"/" + contextPath + "/" + StringUtils.uncapitalize(pWrap.getType().getName()) + "MetaData\""; } else { uri = "\"/" + contextPath + "/" + StringUtils.uncapitalize(pWrap.getAssociationClass().getName()) + "MetaData\""; } } else { uri = "\"\""; } OJField uriAttribute = new OJField(); uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri); uriAttribute.setName("tumlMetaDataUri"); literal.addToAttributeValues(uriAttribute); OJField jsonField = literal.findAttributeValue("json"); StringBuilder sb = new StringBuilder(); sb.append(", \\\"tumlMetaDataUri\\\": \\"); sb.append(uri.substring(0, uri.length() - 1) + "\\\""); String initExp = jsonField.getInitExp(); int indexOf = initExp.lastIndexOf("}"); initExp = initExp.substring(0, indexOf) + sb.toString() + "}\""; jsonField.setInitExp(initExp); }
uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri); uriAttribute.setName("tumlUri"); literal.addToAttributeValues(uriAttribute);
uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri); uriAttribute.setName("tumlOverloadedPostUri"); literal.addToAttributeValues(uriAttribute);
uriAttribute.setName("tumlCompositeParentLookupUri"); uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri);
uriAttribute.setName("tumlLookupUri"); uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri);
uriPrimitiveField.setName("tumlUri"); ojEnum.addToFields(uriPrimitiveField); overloadedPostUriPrimitiveField.setName("tumlOverloadedPostUri"); ojEnum.addToFields(overloadedPostUriPrimitiveField); uriAttribute.setType(new OJPathName("String")); uriAttribute.setInitExp(uri); uriAttribute.setName("tumlUri"); literal.addToAttributeValues(uriAttribute); transactionalUriAttribute.setType(new OJPathName("String")); transactionalUriAttribute.setInitExp(transactionalUri); transactionalUriAttribute.setName("tumlOverloadedPostUri"); literal.addToAttributeValues(transactionalUriAttribute);
fieldTypeField.setName("fieldType"); ojEnum.addToFields(fieldTypeField);
@Override public void visitBefore(Model element) { OJEnum restletRouterEnum = new OJEnum(UmlgRestletGenerationUtil.RestletRouterEnum.getLast()); OJPackage ojPackage = new OJPackage(UmlgRestletGenerationUtil.UmlgBasePath.toJavaString()); restletRouterEnum.setMyPackage(ojPackage); addToSource(restletRouterEnum); OJField isOnePrimitiveField = new OJField(); isOnePrimitiveField.setType(new OJPathName("String")); isOnePrimitiveField.setName("uri"); restletRouterEnum.addToFields(isOnePrimitiveField); OJField inverseField = new OJField(); inverseField.setType(new OJPathName("java.lang.Class<? extends ServerResource>")); inverseField.setName("serverResource"); restletRouterEnum.addToFields(inverseField); restletRouterEnum.implementGetter(); restletRouterEnum.createConstructorFromFields(); OJAnnotatedOperation attach = new OJAnnotatedOperation("attach"); attach.addParam("router", UmlgRestletGenerationUtil.Router); attach.getBody().addToStatements("router.attach(uri, serverResource)"); restletRouterEnum.addToOperations(attach); OJAnnotatedOperation attachAll = new OJAnnotatedOperation("attachAll"); attachAll.setStatic(true); attachAll.addParam("router", UmlgRestletGenerationUtil.Router); restletRouterEnum.addToOperations(attachAll); }
OJField fieldTypeField = new OJField(); fieldTypeField.setType(UmlgRestletGenerationUtil.FieldType); fieldTypeField.setName("fieldType"); ojEnum.addToFields(fieldTypeField);
qualifiedName.setName("_qualifiedName"); ojEnum.addToFields(qualifiedName); persistentName.setName("_persistentName"); ojEnum.addToFields(persistentName); inverseName.setName("_inverseName"); ojEnum.addToFields(inverseName); inverseQualifiedName.setName("_inverseQualifiedName"); ojEnum.addToFields(inverseQualifiedName); isAssociationClassOneField.setName("_associationClassOne"); ojEnum.addToFields(isAssociationClassOneField); isMemberEndOfAssociationClassField.setName("_memberEndOfAssociationClass"); ojEnum.addToFields(isMemberEndOfAssociationClassField); associationClassPropertyNameField.setName("_associationClassPropertyName"); ojEnum.addToFields(associationClassPropertyNameField); inverseAssociationClassPropertyNameField.setName("_inverseAssociationClassPropertyName"); ojEnum.addToFields(inverseAssociationClassPropertyNameField); isAssociationClassPropertyField.setName("_associationClassProperty"); ojEnum.addToFields(isAssociationClassPropertyField); isOnePrimitivePropertyOfAssociationClassField.setName("_onePrimitivePropertyOfAssociationClass"); ojEnum.addToFields(isOnePrimitivePropertyOfAssociationClassField);
tumlUriLookup = new OJField(); tumlUriLookup.setType(new OJPathName("String")); tumlUriLookup.setName("tumlLookupUri"); ojEnum.addToFields(tumlUriLookup);
uriPrimitiveField.setName("tumlMetaDataUri"); ojEnum.addToFields(uriPrimitiveField);
private void generateQualifierGetter(OJAnnotatedClass ojClass, PropertyWrapper qualified) { OJAnnotatedOperation qualifierGetter = new OJAnnotatedOperation(qualified.getQualifiedGetterName()); qualifierGetter.addParam("context", qualified.getQualifierContextPathName()); ojClass.addToOperations(qualifierGetter); OJField result = new OJField(); result.setName("result"); result.setType(new OJPathName("java.util.List")); result.getType().addToElementTypes(UmlgGenerationUtil.UmlgQualifierPathName); result.setInitExp("new ArrayList<>()"); ojClass.addToImports("java.util.ArrayList"); qualifierGetter.setReturnType(result.getType()); qualifierGetter.getBody().addToLocals(result); buildUMLGQualifier(ojClass, qualified, qualifierGetter); List<Property> refinedQualifiers = qualified.getRefinedQualifieds(); for (Property refinedQualifier : refinedQualifiers) { buildUMLGQualifier(ojClass, new PropertyWrapper(refinedQualifier), qualifierGetter); } qualifierGetter.getBody().addToStatements("return result"); ojClass.addToImports(UmlgGenerationUtil.UmlgQualifierIdFactory); ojClass.addToImports(UmlgGenerationUtil.UmlgQualifierPathName); ojClass.addToImports(UmlgGenerationUtil.umlgMultiplicityPathName); }
uriPrimitiveField = new OJField(); uriPrimitiveField.setType(new OJPathName("String")); uriPrimitiveField.setName("tumlCompositeParentLookupUri"); ojEnum.addToFields(uriPrimitiveField); OJConstructor constructor = ojEnum.getConstructors().iterator().next();