gitextract_2yt2vx0u/ ├── .gitattributes ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── db/ │ └── spiderflow.sql ├── pom.xml ├── spider-flow-api/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── spiderflow/ │ ├── ExpressionEngine.java │ ├── Grammerable.java │ ├── annotation/ │ │ ├── Comment.java │ │ ├── Example.java │ │ └── Return.java │ ├── common/ │ │ └── CURDController.java │ ├── concurrent/ │ │ ├── ChildPriorThreadSubmitStrategy.java │ │ ├── LinkedThreadSubmitStrategy.java │ │ ├── ParentPriorThreadSubmitStrategy.java │ │ ├── RandomThreadSubmitStrategy.java │ │ ├── SpiderFlowThreadPoolExecutor.java │ │ ├── SpiderFutureTask.java │ │ └── ThreadSubmitStrategy.java │ ├── context/ │ │ ├── CookieContext.java │ │ ├── SpiderContext.java │ │ └── SpiderContextHolder.java │ ├── enums/ │ │ ├── FlowNoticeType.java │ │ └── FlowNoticeWay.java │ ├── executor/ │ │ ├── FunctionExecutor.java │ │ ├── FunctionExtension.java │ │ ├── PluginConfig.java │ │ └── ShapeExecutor.java │ ├── expression/ │ │ └── DynamicMethod.java │ ├── io/ │ │ ├── Line.java │ │ ├── RandomAccessFileReader.java │ │ └── SpiderResponse.java │ ├── listener/ │ │ └── SpiderListener.java │ ├── model/ │ │ ├── Grammer.java │ │ ├── JsonBean.java │ │ ├── Plugin.java │ │ ├── Shape.java │ │ ├── SpiderLog.java │ │ ├── SpiderNode.java │ │ └── SpiderOutput.java │ └── utils/ │ └── Maps.java ├── spider-flow-core/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── spiderflow/ │ └── core/ │ ├── Spider.java │ ├── executor/ │ │ ├── function/ │ │ │ ├── Base64FunctionExecutor.java │ │ │ ├── DateFunctionExecutor.java │ │ │ ├── ExtractFunctionExecutor.java │ │ │ ├── FileFunctionExecutor.java │ │ │ ├── JsonFunctionExecutor.java │ │ │ ├── ListFunctionExecutor.java │ │ │ ├── MD5FunctionExecutor.java │ │ │ ├── RandomFunctionExecutor.java │ │ │ ├── StringFunctionExecutor.java │ │ │ ├── ThreadFunctionExecutor.java │ │ │ ├── UrlFunctionExecutor.java │ │ │ └── extension/ │ │ │ ├── ArrayFunctionExtension.java │ │ │ ├── DateFunctionExtension.java │ │ │ ├── ElementFunctionExtension.java │ │ │ ├── ElementsFunctionExtension.java │ │ │ ├── ListFunctionExtension.java │ │ │ ├── MapFunctionExtension.java │ │ │ ├── ObjectFunctionExtension.java │ │ │ ├── ResponseFunctionExtension.java │ │ │ ├── SqlRowSetExtension.java │ │ │ └── StringFunctionExtension.java │ │ └── shape/ │ │ ├── CommentExecutor.java │ │ ├── ExecuteSQLExecutor.java │ │ ├── ForkJoinExecutor.java │ │ ├── FunctionExecutor.java │ │ ├── LoopExecutor.java │ │ ├── OutputExecutor.java │ │ ├── ProcessExecutor.java │ │ ├── RequestExecutor.java │ │ ├── StartExecutor.java │ │ └── VariableExecutor.java │ ├── expression/ │ │ ├── DefaultExpressionEngine.java │ │ ├── ExpressionError.java │ │ ├── ExpressionGlobalVariables.java │ │ ├── ExpressionTemplate.java │ │ ├── ExpressionTemplateContext.java │ │ ├── interpreter/ │ │ │ ├── AstInterpreter.java │ │ │ ├── JavaReflection.java │ │ │ └── Reflection.java │ │ └── parsing/ │ │ ├── Ast.java │ │ ├── CharacterStream.java │ │ ├── Parser.java │ │ ├── Span.java │ │ ├── Token.java │ │ ├── TokenStream.java │ │ ├── TokenType.java │ │ └── Tokenizer.java │ ├── io/ │ │ ├── HttpRequest.java │ │ └── HttpResponse.java │ ├── job/ │ │ ├── SpiderJob.java │ │ ├── SpiderJobContext.java │ │ └── SpiderJobManager.java │ ├── mapper/ │ │ ├── DataSourceMapper.java │ │ ├── FlowNoticeMapper.java │ │ ├── FunctionMapper.java │ │ ├── SpiderFlowMapper.java │ │ ├── TaskMapper.java │ │ └── VariableMapper.java │ ├── model/ │ │ ├── DataSource.java │ │ ├── FlowNotice.java │ │ ├── Function.java │ │ ├── SpiderFlow.java │ │ ├── Task.java │ │ └── Variable.java │ ├── script/ │ │ └── ScriptManager.java │ ├── serializer/ │ │ └── FastJsonSerializer.java │ ├── service/ │ │ ├── DataSourceService.java │ │ ├── FlowNoticeService.java │ │ ├── FunctionService.java │ │ ├── SpiderFlowService.java │ │ ├── TaskService.java │ │ └── VariableService.java │ └── utils/ │ ├── DataSourceUtils.java │ ├── EmailUtils.java │ ├── ExecutorsUtils.java │ ├── ExpressionUtils.java │ ├── ExtractUtils.java │ ├── FileUtils.java │ └── SpiderFlowUtils.java └── spider-flow-web/ ├── pom.xml └── src/ └── main/ ├── java/ │ └── org/ │ └── spiderflow/ │ ├── SpiderApplication.java │ ├── configuration/ │ │ ├── ResourcesConfiguration.java │ │ └── WebSocketConfiguration.java │ ├── controller/ │ │ ├── DataSourceController.java │ │ ├── FlowNoticeController.java │ │ ├── FunctionController.java │ │ ├── SpiderFlowController.java │ │ ├── SpiderRestController.java │ │ ├── TaskController.java │ │ └── VariableController.java │ ├── logback/ │ │ ├── SpiderFlowFileAppender.java │ │ └── SpiderFlowWebSocketAppender.java │ ├── model/ │ │ ├── SpiderWebSocketContext.java │ │ └── WebSocketEvent.java │ └── websocket/ │ └── WebSocketEditorServer.java └── resources/ ├── application.properties ├── logback-spring.xml └── static/ ├── css/ │ ├── easyui.css │ ├── editor.css │ ├── index.css │ ├── layui-black-gray.css │ └── layui-blue.css ├── datasource-edit.html ├── datasources.html ├── editCron.html ├── editor.html ├── function-edit.html ├── functions.html ├── index.html ├── js/ │ ├── canvas-viewer.js │ ├── codemirror/ │ │ ├── codemirror.css │ │ ├── codemirror.js │ │ ├── dracula.css │ │ ├── idea.css │ │ ├── javascript.js │ │ ├── placeholder.js │ │ ├── show-hint.css │ │ ├── show-hint.js │ │ ├── spiderflow-hint.js │ │ ├── spiderflow.js │ │ └── sql.js │ ├── common.js │ ├── cron/ │ │ └── cron.js │ ├── editor.js │ ├── index.js │ ├── jsontree/ │ │ ├── jsontree.css │ │ └── jsontree.js │ ├── layui/ │ │ ├── css/ │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules/ │ │ │ ├── code.css │ │ │ ├── laydate/ │ │ │ │ └── default/ │ │ │ │ └── laydate.css │ │ │ └── layer/ │ │ │ └── default/ │ │ │ └── layer.css │ │ ├── ext/ │ │ │ ├── eleTree/ │ │ │ │ ├── eleTree.css │ │ │ │ └── eleTree.js │ │ │ └── treeselect/ │ │ │ └── treeselect.js │ │ ├── extends/ │ │ │ ├── formSelects-v4.css │ │ │ ├── formSelects-v4.js │ │ │ └── treeGrid.js │ │ └── layui.all.js │ ├── log-viewer.js │ ├── mxgraph/ │ │ ├── css/ │ │ │ ├── common.css │ │ │ └── explorer.css │ │ ├── mxgraph.js │ │ └── resources/ │ │ ├── editor.txt │ │ ├── editor_de.txt │ │ ├── editor_zh.txt │ │ ├── graph.txt │ │ ├── graph_de.txt │ │ └── graph_zh.txt │ └── spider-editor.js ├── log.html ├── resources/ │ └── templates/ │ ├── comment.html │ ├── edge.html │ ├── executeSql.html │ ├── forkJoin.html │ ├── function.html │ ├── loop.html │ ├── output.html │ ├── process.html │ ├── request.html │ ├── root.html │ ├── start.html │ └── variable.html ├── spiderList-notice.html ├── spiderList.html ├── task.html ├── variable-edit.html └── variables.html