@Override protected Document parse(String aName, File aFile) throws Exception { String modelContent = FileUtils.readString(aFile, SettingsConstants.COMMON_ENCODING); return Source2XmlDom.transform(modelContent); }
@Override protected ScriptDocument parse(String aDefaultModuleName, File aFile) throws Exception { String source = FileUtils.readString(aFile, SettingsConstants.COMMON_ENCODING); return ScriptDocument.parse(source, aDefaultModuleName); }
@Override protected Document parse(String aName, File aFile) throws Exception { String modelContent = FileUtils.readString(aFile, SettingsConstants.COMMON_ENCODING); return Source2XmlDom.transform(modelContent); }
protected void add(File aFile) throws Exception { if (aFile.getName().endsWith(PlatypusFiles.JAVASCRIPT_FILE_END)) { String defaultModuleName = getDefaultModuleName(aFile); ScriptDocument scriptDoc = scriptsConfigs.get(defaultModuleName, aFile); Set<Map.Entry<String, ScriptDocument.ModuleDocument>> modulesDocs = scriptDoc.getModules().entrySet(); modulesDocs.forEach((Map.Entry<String, ScriptDocument.ModuleDocument> aModuleDocEntry) -> { id2Paths.put(aModuleDocEntry.getKey(), aFile); if (scanCallback != null) { scanCallback.moduleScanned(aModuleDocEntry.getKey(), aModuleDocEntry.getValue(), aFile); } }); } else if (aFile.getName().endsWith(PlatypusFiles.SQL_FILE_END)) { String fileContent = FileUtils.readString(aFile, PlatypusFiles.DEFAULT_ENCODING); String queryName = PlatypusFilesSupport.getAnnotationValue(fileContent, JsDoc.Tag.NAME_TAG); if (queryName != null && !queryName.isEmpty()) { id2Paths.put(queryName, aFile); } } }
public static QueryDocument parse(String aName, File aMainFile, DatabasesClient aBasesProxy, QueriesProxy<SqlQuery> aQueriesPrioxy) throws Exception { Path mainPath = Paths.get(aMainFile.toURI()); String sqledName = mainPath.getFileName().toString(); String woExtension = sqledName.substring(0, sqledName.length() - PlatypusFiles.SQL_EXTENSION.length()); // sql source File sqlFile = aMainFile; String sqlContent = FileUtils.readString(sqlFile, SettingsConstants.COMMON_ENCODING); // sql dialect source File dialectFile = mainPath.resolveSibling(woExtension + PlatypusFiles.DIALECT_EXTENSION).toFile(); String dialectContent = FileUtils.readString(dialectFile, SettingsConstants.COMMON_ENCODING); // query model File modelFile = mainPath.resolveSibling(woExtension + PlatypusFiles.MODEL_EXTENSION).toFile(); String modelContent = FileUtils.readString(modelFile, SettingsConstants.COMMON_ENCODING); Document modelDoc = Source2XmlDom.transform(modelContent); QueryModel model = XmlDom2QueryModel.transform(aBasesProxy, aQueriesPrioxy, modelDoc); // output fields hints File outFile = mainPath.resolveSibling(woExtension + PlatypusFiles.OUT_EXTENSION).toFile(); String outContent = FileUtils.readString(outFile, SettingsConstants.COMMON_ENCODING); Document outDoc = Source2XmlDom.transform(outContent); List<QueryDocument.StoredFieldMetadata> additionalFields = parseFieldsHintsTag(outDoc.getDocumentElement()); // SqlQuery query = new SqlQuery(aBasesProxy); query.setEntityName(aName); query.setSqlText(sqlContent); query.setFullSqlText(dialectContent); return new QueryDocument(query, model, additionalFields); }
String defaultModuleName = FileUtils.removeExtension(relativeResourceName); ScriptDocument scriptDoc = scriptsConfigs.get(defaultModuleName, file); String jsContent = FileUtils.readString(file, SettingsConstants.COMMON_ENCODING); DependenciesWalker walker = new DependenciesWalker(jsContent, (String aModuleCandidate) -> { File depFile = indexer.nameToFile(aModuleCandidate);
Path jsPath = aPath.resolveSibling(fileNameWoExt + PlatypusFiles.JAVASCRIPT_EXTENSION); if (jsPath.toFile().exists()) { ScriptDocument scriptDoc = ScriptDocument.parse(FileUtils.readString(jsPath.toFile(), SettingsConstants.COMMON_ENCODING), bundleName); if (scriptDoc.getModules().size() == 1) { bundleName = scriptDoc.getModules().keySet().iterator().next(); String modelContent = FileUtils.readString(file, SettingsConstants.COMMON_ENCODING); Document modelDoc = Source2XmlDom.transform(modelContent); Element modelDocRoot = modelDoc.getDocumentElement(); Path jsPath = aPath.resolveSibling(fileNameWoExt + PlatypusFiles.JAVASCRIPT_EXTENSION); if (jsPath.toFile().exists()) { ScriptDocument scriptDoc = ScriptDocument.parse(FileUtils.readString(jsPath.toFile(), SettingsConstants.COMMON_ENCODING), bundleName); if (!scriptDoc.getModules().isEmpty()) { bundleName = scriptDoc.getModules().keySet().iterator().next(); String layoutContent = FileUtils.readString(file, SettingsConstants.COMMON_ENCODING); Document layoutDoc = Source2XmlDom.transform(layoutContent); Element layoutDocRoot = layoutDoc.getDocumentElement();
ModuleStructure structure = new ModuleStructure(); structure.getParts().addFile(file); String jsSource = FileUtils.readString(file, SettingsConstants.COMMON_ENCODING); DependenciesWalker walker = new DependenciesWalker(jsSource, (String aModuleCandidate) -> { File depFile = indexer.nameToFile(aModuleCandidate);
public String getAppElementId() throws IOException { Integer appElementType = getAppElementType(); if (appElementType != null) { switch (appElementType) { case ClientConstants.ET_COMPONENT: case ClientConstants.ET_FORM: case ClientConstants.ET_REPORT: { return null; } case ClientConstants.ET_QUERY: { File sqlFile = findFileByExtension(PlatypusFiles.SQL_EXTENSION); String fileContent = FileUtils.readString(sqlFile, PlatypusFiles.DEFAULT_ENCODING); return PlatypusFilesSupport.getAnnotationValue(fileContent, JsDoc.Tag.NAME_TAG); } case ClientConstants.ET_DB_SCHEME: return IdGenerator.genId() + ""; default: return null; } } else { return null; } }