@Check public void checkRESTfulInterfaceNameUniqueness(ZenModel model) { Set<String> names = Sets.newHashSet(); for (ResourceAPI resourceAPI : model.getResourceAPIs()) { if (names.contains(resourceAPI.getName())) { error(String.format("Duplicate name of resource API '%s'", resourceAPI.getName()), resourceAPI, RapidmlPackage.Literals.RESOURCE_API__NAME); } names.add(resourceAPI.getName()); } }
/** * @param importDeclaration * import declaration * @return list of namespaces that available from imported model */ public static List<String> getImportedNamespaces(ImportDeclaration importDeclaration) { ZenModel zenModel = importDeclaration.getImportedModel(); List<String> result = new ArrayList<>(); if (zenModel != null) { String namespace = ((zenModel.getNamespace() != null) ? zenModel.getNamespace() + "." : "")// + zenModel.getName(); result.addAll(zenModel.getResourceAPIs().stream()// .map(rapi -> namespace + "." + rapi.getName()).collect(Collectors.toList())); result.addAll(zenModel.getDataModels().stream()// .map(dm -> namespace + "." + dm.getName()).collect(Collectors.toList())); Optional.ofNullable(zenModel.getSecuritySchemesLibrary())// .filter(it -> !it.getSecuritySchemes().isEmpty())// .ifPresent(it -> result.add(namespace + "." + it.getName())); } return Collections.unmodifiableList(result); }
if (component instanceof ResourceAPI) { _matched=true; return ((ResourceAPI)component).getName();
if (component instanceof ResourceAPI) { _matched=true; return ((ResourceAPI)component).getName();
/** * @param model * model * @return list of resource definitions that imported using import RESTfulInterfaces */ static List<ResourceDefinition> getImportedResources(ZenModel model) { ArrayList<ResourceDefinition> result = new ArrayList<>(); for (ImportDeclaration importDecl : model.getImports()) { String uri = importDecl.getImportURI(); if (!Strings.isNullOrEmpty(uri)) { Resource modelResource = importDecl.eResource(); Resource resource = getResource(modelResource, uri); if (resource != null && resource.getErrors().isEmpty() && !resource.getContents().isEmpty()) { ZenModel zenModel = (ZenModel) resource.getContents().get(0); String namespace = Strings.isNullOrEmpty(zenModel.getNamespace()) ? zenModel.getName() : zenModel .getNamespace() + "." + zenModel.getName(); //$NON-NLS-1$ for (ResourceAPI resourceAPI : zenModel.getResourceAPIs()) { String ifaceFQN = namespace + "." + resourceAPI.getName(); //$NON-NLS-1$ if (ifaceFQN.equals(importDecl.getImportedNamespace())) { result.addAll(resourceAPI.getOwnedResourceDefinitions()); } } } } } return result; }
@Override public void generate(ZenModel model) throws GenerationException { String metadataFile = String.format("%s_metadata.yaml", model.getName()); generateFile(metadataFile, new MetadataGenerator(model)); if (context.getGenTargetParameters().get("genMetadataSkeleton") == Boolean.TRUE) { String skeletonFile = String.format("%s_metadata-skel.yaml", model.getName()); Object structSkel = context.getGenTargetParameters().get("structMetadataSkeleton"); Object primSkel = context.getGenTargetParameters().get("primFieldMetadataSkeleton"); Object refSkel = context.getGenTargetParameters().get("refFieldMetadataSkeleton"); if (!(context.getGenTargetParameters().get("omitFieldsWithoutSkeletons") == Boolean.TRUE)) { primSkel = primSkel == null ? emptyObject : primSkel; refSkel = primSkel == null ? emptyObject : refSkel; } generateFile(skeletonFile, new MetadataSkeletonGenerator(model, structSkel, primSkel, refSkel)); } for (ResourceAPI api : model.getResourceAPIs()) { for (ResourceDefinition resource : api.getOwnedResourceDefinitions()) { if (resource instanceof ServiceDataResource) { String resourcePath = String.format("handlers/%s/%s/%s.js", model.getName(), api.getName(), resource.getName()); generateFile(resourcePath, new ResourceStubGenerator((ServiceDataResource) resource)); String customPath = String.format("custom/%s/%s/%sImpl.js", model.getName(), api.getName(), resource.getName()); generateFile(customPath, new CustomCodeGenerator((ServiceDataResource) resource), false); } } } generateFile("app.js", new AppGenerator(metadataFile, context)); }
_info_2.setTitle(resourceAPI.getName()); Info _info_3 = swagger.getInfo(); _info_3.setDescription(this._zenModelHelper.getDocumentation(resourceAPI));
private String getFqName(final ResourceDefinition resource) { String _xblockexpression = null; { EObject _eContainer = resource.eContainer(); final ResourceAPI api = ((ResourceAPI) _eContainer); EObject _eContainer_1 = api.eContainer(); final ZenModel model = ((ZenModel) _eContainer_1); StringConcatenation _builder = new StringConcatenation(); String _name = model.getName(); _builder.append(_name); _builder.append("."); String _name_1 = api.getName(); _builder.append(_name_1); _builder.append("."); String _name_2 = resource.getName(); _builder.append(_name_2); _xblockexpression = _builder.toString(); } return _xblockexpression; }
_builder.append(_baseURI); _builder.append("/"); String _name = resourceAPI.getName(); _builder.append(_name); _builder.append("\">");
_builder.append(" "); _builder.append("\"name\": \""); String _name = resourceAPI.getName(); _builder.append(_name, " "); _builder.append("\",");