├── .gitignore ├── COPYING ├── COPYING.LESSER ├── LICENSE ├── NOTICE ├── README.md ├── RELEASE.md ├── Roadmap.txt ├── datagear-analysis ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── datagear │ │ └── analysis │ │ ├── AbstractIdentifiable.java │ │ ├── AbstractNameTypeAware.java │ │ ├── Category.java │ │ ├── Chart.java │ │ ├── ChartDefinition.java │ │ ├── ChartPlugin.java │ │ ├── ChartPluginAttribute.java │ │ ├── ChartPluginDataSetRange.java │ │ ├── ChartPluginManager.java │ │ ├── ChartPluginResource.java │ │ ├── ChartQuery.java │ │ ├── ChartResult.java │ │ ├── ChartResultError.java │ │ ├── ChartTheme.java │ │ ├── Dashboard.java │ │ ├── DashboardQuery.java │ │ ├── DashboardQueryHandler.java │ │ ├── DashboardResult.java │ │ ├── DashboardTheme.java │ │ ├── DashboardThemeSource.java │ │ ├── DataSet.java │ │ ├── DataSetBind.java │ │ ├── DataSetException.java │ │ ├── DataSetField.java │ │ ├── DataSetParam.java │ │ ├── DataSetQuery.java │ │ ├── DataSetResult.java │ │ ├── DataSign.java │ │ ├── DefaultRenderContext.java │ │ ├── Group.java │ │ ├── Identifiable.java │ │ ├── NameAware.java │ │ ├── NameAwareUtil.java │ │ ├── NameTypeAware.java │ │ ├── NameTypeInputAware.java │ │ ├── RenderContext.java │ │ ├── RenderException.java │ │ ├── ResolvableDataSet.java │ │ ├── ResolvedDataSetResult.java │ │ ├── ResultDataFormat.java │ │ ├── ResultDataFormatAware.java │ │ ├── SimpleDashboardQueryHandler.java │ │ ├── Theme.java │ │ ├── TplDashboard.java │ │ ├── TplDashboardRenderContext.java │ │ ├── TplDashboardWidget.java │ │ ├── TplDashboardWidgetResManager.java │ │ ├── constraint │ │ ├── AbstractValueConstraint.java │ │ ├── Constraint.java │ │ ├── Max.java │ │ ├── MaxLength.java │ │ ├── Min.java │ │ ├── MinLength.java │ │ └── Required.java │ │ └── support │ │ ├── AbstractChartPlugin.java │ │ ├── AbstractChartPluginManager.java │ │ ├── AbstractCsvDataSet.java │ │ ├── AbstractCsvFileDataSet.java │ │ ├── AbstractDataSet.java │ │ ├── AbstractExcelDataSet.java │ │ ├── AbstractExcelFileDataSet.java │ │ ├── AbstractJsonDataSet.java │ │ ├── AbstractJsonFileDataSet.java │ │ ├── AbstractResolvableDataSet.java │ │ ├── AbstractResolvableResourceDataSet.java │ │ ├── AbstractTplDashboardWidgetResManager.java │ │ ├── ChartPluginAttributeValueConverter.java │ │ ├── ChartPluginCategorizationResolver.java │ │ ├── ChartResultErrorMessage.java │ │ ├── ChartWidget.java │ │ ├── ChartWidgetSource.java │ │ ├── ConcurrentChartPluginManager.java │ │ ├── CsvDirectoryFileDataSet.java │ │ ├── CsvValueDataSet.java │ │ ├── DashboardQueryConverter.java │ │ ├── DataFormat.java │ │ ├── DataSetFieldExpEvaluator.java │ │ ├── DataSetFieldExpEvaluatorException.java │ │ ├── DataSetFieldExpEvaluatorParseException.java │ │ ├── DataSetFieldNotFoundException.java │ │ ├── DataSetFieldValueConverter.java │ │ ├── DataSetFmkTemplateResolver.java │ │ ├── DataSetFmkTemplateResolvers.java │ │ ├── DataSetParamValueConverter.java │ │ ├── DataSetParamValueRequiredException.java │ │ ├── DataSetSourceFileNotFoundException.java │ │ ├── DataSetSourceParseException.java │ │ ├── DataValueConverter.java │ │ ├── DataValueConvertionException.java │ │ ├── ErrorMessage.java │ │ ├── ErrorMessageDashboardResult.java │ │ ├── ExcelDirectoryFileDataSet.java │ │ ├── FileChartPluginResource.java │ │ ├── FileResolvedInfo.java │ │ ├── FileTplDashboardWidgetResManager.java │ │ ├── HeaderContentNotNameValueObjArrayJsonException.java │ │ ├── HttpDataSet.java │ │ ├── JsonChartPluginPropertiesResolver.java │ │ ├── JsonDirectoryFileDataSet.java │ │ ├── JsonPathSupport.java │ │ ├── JsonSupport.java │ │ ├── JsonValueDataSet.java │ │ ├── LocationResource.java │ │ ├── NameAsTplDashboardWidgetResManager.java │ │ ├── NotNameValueObjArrayJsonException.java │ │ ├── ProfileDataSet.java │ │ ├── RangeExpResolver.java │ │ ├── ReadJsonDataPathException.java │ │ ├── RequestContentNotNameValueObjArrayJsonException.java │ │ ├── ResultDataFormatter.java │ │ ├── SimpleChartPluginManager.java │ │ ├── SimpleChartWidgetSource.java │ │ ├── SimpleCsvFileDataSet.java │ │ ├── SimpleDashboardThemeSource.java │ │ ├── SimpleExcelDataSet.java │ │ ├── SimpleJsonFileDataSet.java │ │ ├── SqlDataSet.java │ │ ├── SqlDataSetConnectionException.java │ │ ├── SqlDataSetSqlExecutionException.java │ │ ├── SqlDataSetSqlValidationException.java │ │ ├── SqlDataSetUnsupportedSqlTypeException.java │ │ ├── TemplateContext.java │ │ ├── TemplateResolvedDataSetResult.java │ │ ├── TemplateResolver.java │ │ ├── TemplateResolverException.java │ │ ├── UnsupportedJsonResultDataException.java │ │ ├── UnsupportedResultDataException.java │ │ ├── ZipEntryChartPluginResource.java │ │ ├── datasetres │ │ ├── CsvDataSetResource.java │ │ ├── CsvFileDataSetResource.java │ │ ├── CsvValueDataSetResource.java │ │ ├── DataSetResource.java │ │ ├── ExcelDataSetResource.java │ │ ├── ExcelFileDataSetResource.java │ │ ├── JsonDataSetResource.java │ │ ├── JsonFileDataSetResource.java │ │ └── JsonValueDataSetResource.java │ │ ├── fmk │ │ ├── CsvOutputFormat.java │ │ ├── JsonOutputFormat.java │ │ ├── SqlOutputFormat.java │ │ ├── TemplateCsvOutputModel.java │ │ ├── TemplateJsonOutputModel.java │ │ ├── TemplateSqlOutputModel.java │ │ ├── TemplateXmlOutputModel.java │ │ └── XmlOutputFormat.java │ │ └── html │ │ ├── AbstractHtmlScriptObjectWriter.java │ │ ├── AttributeValueHtmlChartPlugin.java │ │ ├── DefaultHtmlTitleHandler.java │ │ ├── DirectoryHtmlChartPluginManager.java │ │ ├── HtmlChart.java │ │ ├── HtmlChartPlugin.java │ │ ├── HtmlChartPluginJsDefResolver.java │ │ ├── HtmlChartPluginLoadException.java │ │ ├── HtmlChartPluginLoader.java │ │ ├── HtmlChartPluginScriptObjectWriter.java │ │ ├── HtmlChartRenderContext.java │ │ ├── HtmlChartScriptObjectWriter.java │ │ ├── HtmlChartWidget.java │ │ ├── HtmlChartWidgetJsonRenderer.java │ │ ├── HtmlRenderContextScriptObjectWriter.java │ │ ├── HtmlTitleHandler.java │ │ ├── HtmlTplDashboard.java │ │ ├── HtmlTplDashboardImport.java │ │ ├── HtmlTplDashboardImportBuilder.java │ │ ├── HtmlTplDashboardRenderContext.java │ │ ├── HtmlTplDashboardScriptObjectWriter.java │ │ ├── HtmlTplDashboardWidget.java │ │ ├── HtmlTplDashboardWidgetHtmlRenderer.java │ │ ├── HtmlTplDashboardWidgetRenderer.java │ │ ├── JsChartRenderer.java │ │ ├── LoadHtmlChartPluginBean.java │ │ ├── LoadableChartWidgets.java │ │ ├── SimpleHtmlTplDashboardImportBuilder.java │ │ ├── SimpleHtmlTplOption.java │ │ └── StringJsChartRenderer.java │ └── test │ ├── java │ └── org │ │ └── datagear │ │ └── analysis │ │ └── support │ │ ├── AbstractChartPluginManagerTest.java │ │ ├── AbstractCsvDataSetTest.java │ │ ├── AbstractDataSetTest.java │ │ ├── AbstractJsonDataSetTest.java │ │ ├── AbstractResolvableDataSetTest.java │ │ ├── ChartPluginAttributeValueConverterTest.java │ │ ├── CsvDirectoryFileDataSetTest.java │ │ ├── CsvValueDataSetTest.java │ │ ├── DataSetFieldExpEvaluatorTest.java │ │ ├── DataSetFieldValueConverterTest.java │ │ ├── DataSetFmkTemplateResolverTest.java │ │ ├── DataSetParamValueConverterTest.java │ │ ├── ExcelDirectoryFileDataSetTest.java │ │ ├── HttpDataSetTest.java │ │ ├── JsonChartPluginPropertiesResolverTest.java │ │ ├── JsonDirectoryFileDataSetTest.java │ │ ├── JsonValueDataSetTest.java │ │ ├── SqlDataSetTest.java │ │ └── html │ │ ├── DirectoryHtmlChartPluginManagerTest.java │ │ ├── HtmlChartPluginJsDefResolverTest.java │ │ ├── HtmlChartPluginLoaderTest.java │ │ ├── HtmlChartPluginTest.java │ │ ├── HtmlChartWidgetJsonRendererTest.java │ │ ├── HtmlTplDashboardWidgetHtmlRendererTest.java │ │ └── HtmlTplDashboardWidgetRendererTest.java │ └── resources │ └── org │ └── datagear │ └── analysis │ └── support │ ├── CsvDirectoryFileDataSetTest-0.csv │ ├── ExcelDirectoryFileDataSetTest-0.xlsx │ ├── ExcelDirectoryFileDataSetTest-1.xls │ ├── ExcelDirectoryFileDataSetTest-2.xls │ ├── JsonChartPluginPropertiesResolverTest-3.0.1.json │ ├── JsonChartPluginPropertiesResolverTest-author-issueDate.json │ ├── JsonChartPluginPropertiesResolverTest-contact.json │ ├── JsonChartPluginPropertiesResolverTest-dataSetRange-number.json │ ├── JsonChartPluginPropertiesResolverTest-dataSetRange.json │ ├── JsonChartPluginPropertiesResolverTest-platformVersion.json │ ├── JsonChartPluginPropertiesResolverTest-string-categories.json │ ├── JsonChartPluginPropertiesResolverTest.json │ ├── JsonDirectoryFileDataSetTest-0.json │ └── html │ ├── directoryHtmlChartPluginManagerTest │ ├── plugin.current.zip │ └── plugin.upload.zip │ ├── htmlChartPluginLoaders │ ├── not-plugin-01 │ │ └── not-plugin.txt │ ├── not-plugin-02.zip │ ├── plugin01 │ │ ├── icon-01.png │ │ ├── icons │ │ │ └── icon-02.png │ │ └── plugin.json │ ├── plugin02 │ │ ├── icon-01.png │ │ ├── icons │ │ │ └── icon-02.png │ │ └── plugin.json │ ├── plugin03.zip │ ├── plugin04.zip │ ├── plugin05-4.1.0-renderer │ │ └── plugin.json │ └── plugin06.zip │ ├── htmlChartPluginTest │ └── plugin.json │ ├── htmlChartPluginTestOld │ └── plugin.json │ ├── htmlChartPluginTestRendererFile │ ├── plugin.json │ └── renderer.js │ └── htmlTplDashboardWidgets │ ├── freemarker │ └── widget01 │ │ └── index.html │ └── html │ └── widget01 │ └── index.html ├── datagear-connection ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── datagear │ │ └── connection │ │ ├── AbstractDriverChecker.java │ │ ├── AbstractDriverClassNameDevotedPropertiesProcessor.java │ │ ├── AbstractFileDriverEntityManager.java │ │ ├── ConnectionIdentity.java │ │ ├── ConnectionOption.java │ │ ├── ConnectionSensor.java │ │ ├── ConnectionSource.java │ │ ├── ConnectionSourceException.java │ │ ├── ConnectionSourceProperties.java │ │ ├── ConstantConnectionSensor.java │ │ ├── ConstantURLSensor.java │ │ ├── DatabaseIdentity.java │ │ ├── DefaultConnectionSource.java │ │ ├── DevotedPropertiesProcessor.java │ │ ├── DriverChecker.java │ │ ├── DriverClassFormatErrorException.java │ │ ├── DriverEntity.java │ │ ├── DriverEntityManager.java │ │ ├── DriverEntityManagerException.java │ │ ├── DriverIdentity.java │ │ ├── DriverLibraryInfo.java │ │ ├── DriverLibraryNotFoundException.java │ │ ├── DriverNotFoundException.java │ │ ├── DriverTool.java │ │ ├── EstablishConnectionException.java │ │ ├── GenericPropertiesProcessor.java │ │ ├── PathClassLoader.java │ │ ├── PathDriverFactory.java │ │ ├── PathDriverFactoryException.java │ │ ├── PrefixURLSensor.java │ │ ├── PropertiesProcessor.java │ │ ├── SimpleDriverChecker.java │ │ ├── URLConnectionSensor.java │ │ ├── URLNotAcceptedException.java │ │ ├── URLSensor.java │ │ ├── UnsupportedGetConnectionException.java │ │ ├── XmlDriverEntityManager.java │ │ └── support │ │ ├── DerbyURLSensor.java │ │ ├── MySqlDevotedPropertiesProcessor.java │ │ ├── MySqlURLSensor.java │ │ ├── OracleDevotedPropertiesProcessor.java │ │ ├── OracleURLSensor.java │ │ ├── PostgresqlURLSensor.java │ │ └── SqlServerURLSensor.java │ └── test │ ├── java │ └── org │ │ └── datagear │ │ └── connection │ │ ├── ConnectionOptionTest.java │ │ ├── DefaultConnectionSourceTest.java │ │ └── XmlDriverEntityManagerTest.java │ └── resources │ └── drivers │ ├── driverEntityInfo.xml │ ├── mixed │ ├── mysql-connector-java-5.1.23.jar │ └── ojdbc6-11.2.0.3.jar │ ├── mysql-jre8 │ └── mysql-connector-java-8.0.12.jar │ ├── mysql │ ├── mysql-connector-java-5.1.23.jar │ └── test-for-holder.jar │ └── oracle │ └── ojdbc6-11.2.0.3.jar ├── datagear-dataexchange ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── datagear │ │ └── dataexchange │ │ ├── AbstractDevotedDBMetaDataExchangeService.java │ │ ├── AbstractDevotedDataExchangeService.java │ │ ├── AbstractQuery.java │ │ ├── AbstractReason.java │ │ ├── BatchDataExchange.java │ │ ├── BatchDataExchangeListener.java │ │ ├── BatchDataExchangeResult.java │ │ ├── BatchDataExchangeService.java │ │ ├── CancelReason.java │ │ ├── CircularDependencyException.java │ │ ├── ColumnNotFoundException.java │ │ ├── DataExchange.java │ │ ├── DataExchangeContext.java │ │ ├── DataExchangeException.java │ │ ├── DataExchangeListener.java │ │ ├── DataExchangeService.java │ │ ├── DataExportListener.java │ │ ├── DataFormat.java │ │ ├── DataFormatContext.java │ │ ├── DataImportDependencyResolver.java │ │ ├── DataImportListener.java │ │ ├── DataImportOption.java │ │ ├── DataIndex.java │ │ ├── DefaultBatchDataExchangeResult.java │ │ ├── DependentCancelReason.java │ │ ├── DependentSubmitFailException.java │ │ ├── DevotedDataExchangeService.java │ │ ├── DirectCancelReason.java │ │ ├── ExceptionResolve.java │ │ ├── ExecuteDataImportSqlException.java │ │ ├── FormatDataExchange.java │ │ ├── GenericDataExchangeService.java │ │ ├── IllegalImportSourceValueException.java │ │ ├── IndexDataExchangeException.java │ │ ├── IndexFormatDataExchangeContext.java │ │ ├── Query.java │ │ ├── QueryTextDataExport.java │ │ ├── RowColumnDataIndex.java │ │ ├── RowDataIndex.java │ │ ├── SetImportColumnValueException.java │ │ ├── SimpleBatchDataExchange.java │ │ ├── SqlQuery.java │ │ ├── SqlValidationException.java │ │ ├── SubDataExchange.java │ │ ├── SubmitFailException.java │ │ ├── TableNotFoundException.java │ │ ├── TableQuery.java │ │ ├── TableTextValueDataImport.java │ │ ├── TextDataExport.java │ │ ├── TextDataExportListener.java │ │ ├── TextDataExportOption.java │ │ ├── TextValueDataImport.java │ │ ├── UnsupportedExchangeException.java │ │ ├── UnsupportedSqlTypeException.java │ │ ├── UnsupportedSqlValueException.java │ │ ├── ValueDataImportListener.java │ │ ├── ValueDataImportOption.java │ │ ├── listener │ │ ├── AbstractLogFileSupport.java │ │ ├── LogFileDataExchangeListener.java │ │ ├── LogFileDataExportListener.java │ │ └── LogFileDataImportListener.java │ │ └── support │ │ ├── CsvDataExport.java │ │ ├── CsvDataExportService.java │ │ ├── CsvDataImport.java │ │ ├── CsvDataImportService.java │ │ ├── ExcelDataExport.java │ │ ├── ExcelDataExportService.java │ │ ├── ExcelDataImport.java │ │ ├── ExcelDataImportService.java │ │ ├── ExcelDataIndex.java │ │ ├── IllegalJsonDataFormatException.java │ │ ├── JsonDataExport.java │ │ ├── JsonDataExportOption.java │ │ ├── JsonDataExportService.java │ │ ├── JsonDataFormat.java │ │ ├── JsonDataImport.java │ │ ├── JsonDataImportOption.java │ │ ├── JsonDataImportService.java │ │ ├── SqlDataExport.java │ │ ├── SqlDataExportOption.java │ │ ├── SqlDataExportService.java │ │ ├── SqlDataImport.java │ │ ├── SqlDataImportService.java │ │ ├── SqlDataIndex.java │ │ └── TableMismatchException.java │ └── test │ ├── java │ └── org │ │ └── datagear │ │ └── dataexchange │ │ ├── BatchDataExchangeServiceTest.java │ │ ├── DataexchangeTestSupport.java │ │ └── support │ │ ├── CsvDataExportServiceTest.java │ │ ├── CsvDataImportServiceTest.java │ │ ├── ExcelDataImportServiceTest.java │ │ └── JsonDataImportServiceTest.java │ └── resources │ └── org │ └── datagear │ └── dataexchange │ ├── BatchDataExchangeServiceTest_1.csv │ ├── BatchDataExchangeServiceTest_2.csv │ └── support │ ├── CsvDataExportServiceTest.csv │ ├── CsvDataImportServiceTest__ExceptionResolve.csv │ ├── CsvDataImportServiceTest_ignoreInexistentColumn.csv │ ├── CsvDataImportServiceTest_unsigned_number.csv │ ├── ExcelDataImportServiceTest.xls │ ├── ExcelDataImportServiceTest.xlsx │ ├── ExcelDataImportServiceTest_inlineStr.xlsx │ ├── JsonDataImportServiceTest_row_array.json │ └── JsonDataImportServiceTest_table_object.json ├── datagear-management ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── datagear │ │ │ └── management │ │ │ ├── dbversion │ │ │ ├── DbVersionManager.java │ │ │ └── DbVersionManagerException.java │ │ │ ├── domain │ │ │ ├── AbstractEntity.java │ │ │ ├── AbstractStringIdEntity.java │ │ │ ├── AnalysisProject.java │ │ │ ├── AnalysisProjectAwareEntity.java │ │ │ ├── Authorization.java │ │ │ ├── CloneableEntity.java │ │ │ ├── CreateTimeEntity.java │ │ │ ├── CreateUserEntity.java │ │ │ ├── CsvFileDataSetEntity.java │ │ │ ├── CsvValueDataSetEntity.java │ │ │ ├── DashboardShareSet.java │ │ │ ├── DataIdPermission.java │ │ │ ├── DataPermissionEntity.java │ │ │ ├── DataSetBindVO.java │ │ │ ├── DataSetEntity.java │ │ │ ├── DirectoryFileDataSetEntity.java │ │ │ ├── DtbsSource.java │ │ │ ├── DtbsSourceGuard.java │ │ │ ├── DtbsSourceProperty.java │ │ │ ├── DtbsSourcePropertyPattern.java │ │ │ ├── Entity.java │ │ │ ├── ExcelDataSetEntity.java │ │ │ ├── FileSource.java │ │ │ ├── HtmlChartPluginVo.java │ │ │ ├── HtmlChartWidgetEntity.java │ │ │ ├── HtmlTplDashboardWidgetEntity.java │ │ │ ├── HttpDataSetEntity.java │ │ │ ├── JsonFileDataSetEntity.java │ │ │ ├── JsonValueDataSetEntity.java │ │ │ ├── Role.java │ │ │ ├── SqlDataSetEntity.java │ │ │ ├── SqlHistory.java │ │ │ ├── SummaryDataSetEntity.java │ │ │ └── User.java │ │ │ ├── service │ │ │ ├── AnalysisProjectAuthorizationListener.java │ │ │ ├── AnalysisProjectAwareEntityService.java │ │ │ ├── AnalysisProjectService.java │ │ │ ├── AuthorizationListener.java │ │ │ ├── AuthorizationService.java │ │ │ ├── CreateUserEntityService.java │ │ │ ├── DashboardShareSetService.java │ │ │ ├── DataPermissionEntityService.java │ │ │ ├── DataSetEntityService.java │ │ │ ├── DeleteBuiltinRoleDeniedException.java │ │ │ ├── DtbsSourceGuardService.java │ │ │ ├── DtbsSourceService.java │ │ │ ├── EntityService.java │ │ │ ├── FileSourceService.java │ │ │ ├── HtmlChartWidgetEntityService.java │ │ │ ├── HtmlTplDashboardWidgetEntityService.java │ │ │ ├── PermissionDeniedException.java │ │ │ ├── RoleService.java │ │ │ ├── ServiceContext.java │ │ │ ├── SqlHistoryService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ │ ├── AbstractMybatisDataPermissionEntityService.java │ │ │ │ ├── AbstractMybatisEntityService.java │ │ │ │ ├── AbstractMybatisService.java │ │ │ │ ├── AnalysisProjectAuthorizationListenerAware.java │ │ │ │ ├── AnalysisProjectServiceImpl.java │ │ │ │ ├── AuthorizationListenerAware.java │ │ │ │ ├── AuthorizationQueryContext.java │ │ │ │ ├── AuthorizationServiceImpl.java │ │ │ │ ├── BundleAnalysisProjectAuthorizationListener.java │ │ │ │ ├── BundleAuthorizationListener.java │ │ │ │ ├── DashboardShareSetServiceImpl.java │ │ │ │ ├── DataSetEntityServiceImpl.java │ │ │ │ ├── DtbsSourceGuardServiceImpl.java │ │ │ │ ├── DtbsSourceServiceImpl.java │ │ │ │ ├── EnumValueLabel.java │ │ │ │ ├── FileSourceServiceImpl.java │ │ │ │ ├── HtmlChartWidgetEntityServiceImpl.java │ │ │ │ ├── HtmlTplDashboardWidgetEntityServiceImpl.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── SaveDtbsSourcePermissionDeniedException.java │ │ │ │ ├── SqlHistoryServiceImpl.java │ │ │ │ ├── SqlSessionDaoSupportImpl.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── util │ │ │ ├── DataPermissionSpec.java │ │ │ ├── DerbyFunctionSupport.java │ │ │ ├── DtbsSourceConnectionFactory.java │ │ │ ├── DtbsSourceConnectionSupport.java │ │ │ ├── DtbsSourceGuardChecker.java │ │ │ ├── GuardEntity.java │ │ │ ├── ManagementSupport.java │ │ │ ├── RefPermissionDeniedException.java │ │ │ ├── RoleSpec.java │ │ │ ├── dialect │ │ │ ├── AbstractDbDialectBuilder.java │ │ │ ├── DbDialectBuilderException.java │ │ │ ├── DefaultMbSqlDialect.java │ │ │ ├── DerbyMbSqlDialect.java │ │ │ ├── MbGlobalVariable.java │ │ │ ├── MbSqlDialect.java │ │ │ ├── MbSqlDialectBuilder.java │ │ │ ├── MysqlMbSqlDialect.java │ │ │ ├── OracleMbSqlDialect.java │ │ │ ├── PostgresqlMbSqlDialect.java │ │ │ ├── SqlserverMbGlobalVariable.java │ │ │ └── SqlserverMbSqlDialect.java │ │ │ └── typehandlers │ │ │ ├── AbstractJsonTypeHandler.java │ │ │ ├── DataFormatTypeHandler.java │ │ │ ├── LiteralBooleanTypeHandler.java │ │ │ └── ResultDataFormatTypeHandler.java │ └── resources │ │ └── org │ │ └── datagear │ │ └── management │ │ ├── ddl │ │ ├── datagear-bak.sql │ │ └── datagear.sql │ │ └── mapper │ │ ├── AnalysisProjectAwareQueryPmsnMapper.xml │ │ ├── AnalysisProjectMapper.xml │ │ ├── AuthorizationMapper.xml │ │ ├── DashboardShareSetMapper.xml │ │ ├── DataSetEntityMapper.xml │ │ ├── DataSetEntityMapper_CsvFile.xml │ │ ├── DataSetEntityMapper_CsvValue.xml │ │ ├── DataSetEntityMapper_Excel.xml │ │ ├── DataSetEntityMapper_Http.xml │ │ ├── DataSetEntityMapper_JsonFile.xml │ │ ├── DataSetEntityMapper_JsonValue.xml │ │ ├── DataSetEntityMapper_SQL.xml │ │ ├── DtbsSourceGuardMapper.xml │ │ ├── DtbsSourceMapper.xml │ │ ├── FileSourceMapper.xml │ │ ├── HtmlChartWidgetEntityMapper.xml │ │ ├── HtmlTplDashboardWidgetEntityMapper.xml │ │ ├── RoleMapper.xml │ │ ├── SqlHistoryMapper.xml │ │ ├── UserMapper.xml │ │ ├── commonDataPermissionSqls.xml │ │ └── commonSqls.xml │ └── test │ └── java │ └── org │ └── datagear │ └── management │ ├── dbversion │ └── DbVersionManagerTest.java │ ├── impl │ ├── RoleServiceImplTest.java │ ├── ServiceImplTestSupport.java │ └── UserServiceImplTest.java │ └── util │ └── DtbsSourceGuardCheckerTest.java ├── datagear-meta ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── datagear │ │ └── meta │ │ ├── AbstractKey.java │ │ ├── AbstractTable.java │ │ ├── Column.java │ │ ├── DataType.java │ │ ├── Database.java │ │ ├── ImportKey.java │ │ ├── PrimaryKey.java │ │ ├── SearchableType.java │ │ ├── SimpleTable.java │ │ ├── Table.java │ │ ├── TableType.java │ │ ├── TableUtil.java │ │ ├── UniqueKey.java │ │ └── resolver │ │ ├── AbstractConnectionDevotedDBMetaResolver.java │ │ ├── AbstractDevotedDBMetaResolver.java │ │ ├── DBMetaResolver.java │ │ ├── DBMetaResolverException.java │ │ ├── DatabaseMetaDataPrinter.java │ │ ├── DbMetaSupport.java │ │ ├── DbTableTypeSpec.java │ │ ├── DefaultTableTypeResolver.java │ │ ├── DevotedDBMetaResolver.java │ │ ├── GenericDBMetaResolver.java │ │ ├── TableNotFoundException.java │ │ ├── TableTypeResolver.java │ │ ├── UnsupportedDBMetaResolverException.java │ │ ├── WildcardDevotedDBMetaResolver.java │ │ └── support │ │ └── MySqlDevotedDBMetaResolver.java │ └── test │ └── java │ └── org │ └── datagear │ └── meta │ ├── DefaultTableTypeResolverTest.java │ └── GenericDBMetaResolverTest.java ├── datagear-persistence ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── datagear │ │ └── persistence │ │ ├── Dialect.java │ │ ├── DialectBuilder.java │ │ ├── DialectException.java │ │ ├── DialectSource.java │ │ ├── LiteralSqlParamValue.java │ │ ├── NonUniqueResultException.java │ │ ├── Order.java │ │ ├── Paging.java │ │ ├── PagingData.java │ │ ├── PagingQuery.java │ │ ├── PersistenceException.java │ │ ├── PersistenceManager.java │ │ ├── Query.java │ │ ├── Row.java │ │ ├── RowMapper.java │ │ ├── RowMapperException.java │ │ ├── SqlParamValueMapper.java │ │ ├── SqlParamValueMapperException.java │ │ └── support │ │ ├── AbstractDialect.java │ │ ├── AbstractDialectBuilder.java │ │ ├── AbstractLOBRowMapper.java │ │ ├── AbstractRowMapper.java │ │ ├── AbstractSqlParamValueMapper.java │ │ ├── AbstractURLSensedDialectBuilder.java │ │ ├── ConversionSqlParamValueMapper.java │ │ ├── DefaultDialectSource.java │ │ ├── DefaultLOBRowMapper.java │ │ ├── DefaultPersistenceManager.java │ │ ├── NoColumnDefinedException.java │ │ ├── NonUniqueRecordColumnException.java │ │ ├── PersistenceSupport.java │ │ ├── ReleasableRegistry.java │ │ ├── SimpleRowMapper.java │ │ ├── SimpleSqlParamValueMapper.java │ │ ├── SqlParamValueExpressionException.java │ │ ├── SqlParamValueSqlExpressionException.java │ │ ├── SqlParamValueSqlExpressionSyntaxException.java │ │ ├── SqlParamValueVariableExpressionException.java │ │ ├── SqlParamValueVariableExpressionSyntaxException.java │ │ ├── SqlSelectManager.java │ │ ├── SqlSelectResult.java │ │ ├── SqlValidationException.java │ │ ├── UnsupportedColumnValueMapperException.java │ │ ├── UnsupportedDialectException.java │ │ ├── UnsupportedSqlParamValueMapperException.java │ │ ├── dialect │ │ ├── MysqlDialect.java │ │ ├── MysqlDialectBuilder.java │ │ ├── OracleDialect.java │ │ ├── OracleDialectBuilder.java │ │ ├── PostgresqlDialect.java │ │ ├── PostgresqlDialectBuilder.java │ │ ├── SqlServerDialect.java │ │ └── SqlServerDialectBuilder.java │ │ └── expression │ │ ├── ExpressionEvaluationContext.java │ │ ├── NameExpression.java │ │ ├── NameExpressionResolver.java │ │ ├── SqlExpressionResolver.java │ │ ├── VariableExpressionBean.java │ │ └── VariableExpressionResolver.java │ └── test │ └── java │ └── org │ └── datagear │ └── persistence │ ├── PersistenceTestSupport.java │ └── support │ ├── ConversionSqlParamValueMapperTest.java │ └── DefaultPersistenceManagerTest.java ├── datagear-util ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── datagear │ │ └── util │ │ ├── AbstractLastModifiedService.java │ │ ├── AsteriskPatternMatcher.java │ │ ├── AsteriskPatternSupport.java │ │ ├── CopyFileFilter.java │ │ ├── DateFormat.java │ │ ├── DateNumberFormat.java │ │ ├── FileInfo.java │ │ ├── FileUtil.java │ │ ├── Global.java │ │ ├── IDUtil.java │ │ ├── IOUtil.java │ │ ├── JDBCCompatiblity.java │ │ ├── JdbcSupport.java │ │ ├── JdbcUtil.java │ │ ├── KeyValuePair.java │ │ ├── KeywordMatcher.java │ │ ├── LastModifiedService.java │ │ ├── MalformedZipException.java │ │ ├── NumberParser.java │ │ ├── NumberParserException.java │ │ ├── QueryResultSet.java │ │ ├── SimpleLastModifiedService.java │ │ ├── Sql.java │ │ ├── SqlParamValue.java │ │ ├── SqlScriptParser.java │ │ ├── SqlType.java │ │ ├── StringUtil.java │ │ ├── TextKeyValuePair.java │ │ ├── TextParserSupport.java │ │ ├── cache │ │ ├── CollectionCacheValue.java │ │ └── CommonCacheKey.java │ │ ├── dirquery │ │ ├── DirectoryPagingQuery.java │ │ ├── DirectoryQuery.java │ │ ├── DirectoryQuerySupport.java │ │ └── ResultFileInfo.java │ │ ├── expression │ │ ├── Expression.java │ │ └── ExpressionResolver.java │ │ ├── function │ │ └── OnceSupplier.java │ │ ├── html │ │ ├── CharsetFilterHandler.java │ │ ├── CopyWriter.java │ │ ├── DefaultFilterHandler.java │ │ ├── FilterHandler.java │ │ ├── HeadBodyAwareFilterHandler.java │ │ ├── HtmlFilter.java │ │ ├── NopWriter.java │ │ └── RedirectWriter.java │ │ ├── i18n │ │ ├── AbstractLabeled.java │ │ ├── Label.java │ │ ├── LabelUtil.java │ │ └── Labeled.java │ │ ├── query │ │ ├── KeywordQuery.java │ │ ├── Order.java │ │ ├── Paging.java │ │ └── PagingData.java │ │ ├── resource │ │ ├── AbstractReaderResourceFactory.java │ │ ├── AbstractWriterResourceFactory.java │ │ ├── ClasspathInputStreamResourceFactory.java │ │ ├── ClasspathReaderResourceFactory.java │ │ ├── ConnectionFactory.java │ │ ├── DataSourceConnectionFactory.java │ │ ├── FileInputStreamResourceFactory.java │ │ ├── FileOutputStreamResourceFactory.java │ │ ├── FileReaderResourceFactory.java │ │ ├── FileWriterResourceFactory.java │ │ ├── ResourceFactory.java │ │ ├── SimpleClosableFactory.java │ │ └── SimpleConnectionFactory.java │ │ ├── sqlvalidator │ │ ├── AbstractSqlValidator.java │ │ ├── DatabaseProfile.java │ │ ├── InvalidPatternSqlValidator.java │ │ ├── SqlReplacer.java │ │ ├── SqlToken.java │ │ ├── SqlTokenParser.java │ │ ├── SqlValidation.java │ │ └── SqlValidator.java │ │ ├── test │ │ └── DBTestSupport.java │ │ └── version │ │ ├── AbstractVersionContentReader.java │ │ ├── ChangelogResolver.java │ │ ├── Version.java │ │ └── VersionContent.java │ └── test │ ├── java │ └── org │ │ └── datagear │ │ └── util │ │ ├── AsteriskPatternMatcherTest.java │ │ ├── AsteriskPatternSupportTest.java │ │ ├── FileUtilTest.java │ │ ├── IDUtilTest.java │ │ ├── KeywordMatcherTest.java │ │ ├── SimpleLastModifiedServiceTest.java │ │ ├── SqlScriptParserTest.java │ │ ├── StringUtilTest.java │ │ ├── dirquery │ │ └── DirectoryQuerySupportTest.java │ │ ├── expression │ │ └── ExpressionResolverTest.java │ │ ├── function │ │ └── OnceSupplierTest.java │ │ ├── html │ │ ├── CharsetFilterHandlerTest.java │ │ └── HtmlFilterTest.java │ │ ├── i18n │ │ ├── LabelTest.java │ │ └── LabelUtilTest.java │ │ ├── sqlvalidator │ │ ├── InvalidPatternSqlValidatorTest.java │ │ └── SqlReplacerTest.java │ │ └── version │ │ ├── ChangelogResolverTest.java │ │ └── VersionTest.java │ └── resources │ └── org │ └── datagear │ └── util │ ├── SqlScriptParserTest.sql │ └── version │ └── changelog.txt ├── datagear-web ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── datagear │ │ │ └── web │ │ │ ├── analysis │ │ │ └── DashboardVersion.java │ │ │ ├── config │ │ │ ├── ApplicationProperties.java │ │ │ ├── ApplicationPropertiesConfigSupport.java │ │ │ ├── CoreConfigSupport.java │ │ │ ├── CrossOriginProperties.java │ │ │ ├── DataSourceConfigSupport.java │ │ │ ├── SchedulingConfigSupport.java │ │ │ ├── SecurityConfigSupport.java │ │ │ ├── ServletConfigSupport.java │ │ │ ├── TransactionConfigSupport.java │ │ │ ├── WebMvcConfigurerConfigSupport.java │ │ │ ├── WebMvcRegistrationsConfigSupport.java │ │ │ └── support │ │ │ │ ├── AbstractClearCommentResourceTransformer.java │ │ │ │ ├── ClearCssCommentResourceTransformer.java │ │ │ │ ├── ClearJsCommentResourceTransformer.java │ │ │ │ ├── CustomErrorPageRegistrar.java │ │ │ │ ├── DeliverContentTypeExceptionHandlerExceptionResolver.java │ │ │ │ ├── EncodingPropertySourceLoader.java │ │ │ │ ├── EnumCookieThemeResolver.java │ │ │ │ └── FormLoginConfgBean.java │ │ │ ├── controller │ │ │ ├── AbstractChartPluginAwareController.java │ │ │ ├── AbstractController.java │ │ │ ├── AbstractDataAnalysisController.java │ │ │ ├── AbstractDtbsSourceConnController.java │ │ │ ├── AbstractDtbsSourceConnTableController.java │ │ │ ├── AnalysisProjectController.java │ │ │ ├── AuthorizationController.java │ │ │ ├── ChangelogController.java │ │ │ ├── ChartController.java │ │ │ ├── ChartPluginController.java │ │ │ ├── ChartPluginVisualResController.java │ │ │ ├── ChartVisualCompatController.java │ │ │ ├── ChartVisualController.java │ │ │ ├── CheckCodeController.java │ │ │ ├── CompatibleController.java │ │ │ ├── ControllerAdvice.java │ │ │ ├── ControllerException.java │ │ │ ├── ControllerForm.java │ │ │ ├── DashboardController.java │ │ │ ├── DashboardGlobalResController.java │ │ │ ├── DashboardVisualCompatController.java │ │ │ ├── DashboardVisualController.java │ │ │ ├── DataSetController.java │ │ │ ├── DriverEntityController.java │ │ │ ├── DtbsSourceController.java │ │ │ ├── DtbsSourceDataController.java │ │ │ ├── DtbsSourceExchangeController.java │ │ │ ├── DtbsSourceGuardController.java │ │ │ ├── DtbsSourceNotFoundException.java │ │ │ ├── DtbsSourceSqlEditorController.java │ │ │ ├── DtbsSourceSqlpadController.java │ │ │ ├── DtbsSourceUrlBuilderController.java │ │ │ ├── DuplicateRecordException.java │ │ │ ├── ErrorController.java │ │ │ ├── FileNotFoundException.java │ │ │ ├── FileSourceController.java │ │ │ ├── FileSourceDirectoryNotFoundException.java │ │ │ ├── IllegalImportDriverEntityFileFormatException.java │ │ │ ├── IllegalInputException.java │ │ │ ├── LoginController.java │ │ │ ├── MainController.java │ │ │ ├── RecordNotFoundException.java │ │ │ ├── RegisterController.java │ │ │ ├── ResetPasswordController.java │ │ │ ├── RoleController.java │ │ │ ├── ServerTimeJsController.java │ │ │ ├── UserController.java │ │ │ └── UserSQLException.java │ │ │ ├── dataexchange │ │ │ ├── MessageBatchDataExchangeListener.java │ │ │ ├── MessageDataExchangeListener.java │ │ │ ├── MessageSubDataExchangeListener.java │ │ │ ├── MessageSubDataImportListener.java │ │ │ ├── MessageSubTextDataExportListener.java │ │ │ ├── MessageSubTextValueDataImportListener.java │ │ │ └── SubDataExchangeMessage.java │ │ │ ├── format │ │ │ ├── AbstractDateFormatter.java │ │ │ ├── DateFormatter.java │ │ │ ├── SqlDateFormatter.java │ │ │ ├── SqlTimeFormatter.java │ │ │ └── SqlTimestampFormatter.java │ │ │ ├── freemarker │ │ │ ├── CustomFreeMarkerView.java │ │ │ └── WriteJsonTemplateDirectiveModel.java │ │ │ ├── json │ │ │ └── jackson │ │ │ │ ├── BigDecimalToStringSerializer.java │ │ │ │ ├── BigIntegerToStringSerializer.java │ │ │ │ ├── ByteArraySerializer.java │ │ │ │ ├── EscapeHtmlStringSerializer.java │ │ │ │ ├── FormatterDeserializer.java │ │ │ │ ├── FormatterSerializer.java │ │ │ │ ├── LongToStringSerializer.java │ │ │ │ └── ObjectMapperBuilder.java │ │ │ ├── security │ │ │ ├── AjaxAwareAuthenticationEntryPoint.java │ │ │ ├── AnonymousAuthenticationFilterExt.java │ │ │ ├── AuthUser.java │ │ │ ├── AuthenticationFailureHandlerExt.java │ │ │ ├── AuthenticationSecurity.java │ │ │ ├── AuthenticationSuccessHandlerExt.java │ │ │ ├── AuthenticationUserGetter.java │ │ │ ├── EncryptorException.java │ │ │ ├── IpLoginLatchedException.java │ │ │ ├── LoginCheckCodeErrorException.java │ │ │ ├── LoginLatchFilter.java │ │ │ ├── ModulePermission.java │ │ │ ├── ModulePermissions.java │ │ │ ├── StandardPasswordEncoderPrinter.java │ │ │ ├── UserDetailsServiceImpl.java │ │ │ └── UsernameLoginLatchedException.java │ │ │ ├── sqlpad │ │ │ ├── SqlPermissionValidator.java │ │ │ ├── SqlpadExecutionService.java │ │ │ └── SqlpadExecutionSubmit.java │ │ │ ├── util │ │ │ ├── AnalysisProjectAwareSupport.java │ │ │ ├── ApplicationBanner.java │ │ │ ├── AuthorizationResMetaManager.java │ │ │ ├── AuthorizationResMetas.java │ │ │ ├── ChartPluginZipTool.java │ │ │ ├── CheckCodeManager.java │ │ │ ├── DefaultMessageChannel.java │ │ │ ├── DelegatingTextEncryptor.java │ │ │ ├── DerbySqlClient.java │ │ │ ├── DetectNewVersionScriptResolver.java │ │ │ ├── DirectoryCleaner.java │ │ │ ├── DirectoryFactory.java │ │ │ ├── DirectoryHtmlChartPluginManagerInitializer.java │ │ │ ├── DriverInfo.java │ │ │ ├── DtbsSourceTableCache.java │ │ │ ├── ExpiredSessionAttrManager.java │ │ │ ├── FileMerger.java │ │ │ ├── MessageChannel.java │ │ │ ├── MessageChannelException.java │ │ │ ├── MessageSourceSupport.java │ │ │ ├── OperationMessage.java │ │ │ ├── SessionDashboardInfoSupport.java │ │ │ ├── SessionIdParamResolver.java │ │ │ ├── SqlDriverChecker.java │ │ │ ├── ThemeSpec.java │ │ │ ├── WebDashboardQueryConverter.java │ │ │ ├── WebHtmlTplDashboardImportBuilder.java │ │ │ ├── WebHtmlTplDashboardImportBuilderFactory.java │ │ │ ├── WebUtils.java │ │ │ ├── XmlDriverEntityManagerInitializer.java │ │ │ ├── accesslatch │ │ │ │ ├── AbstractAccessLatch.java │ │ │ │ ├── AccessLatch.java │ │ │ │ ├── IpLoginLatch.java │ │ │ │ ├── ResourceAccessLatch.java │ │ │ │ ├── SimpleAccessLatch.java │ │ │ │ └── UsernameLoginLatch.java │ │ │ ├── msg │ │ │ │ ├── ExceptionMessage.java │ │ │ │ ├── FinishMessage.java │ │ │ │ ├── Message.java │ │ │ │ ├── StartMessage.java │ │ │ │ ├── SuccessMessage.java │ │ │ │ ├── TableMessage.java │ │ │ │ └── TextMessage.java │ │ │ └── packager │ │ │ │ ├── AbstractPackager.java │ │ │ │ ├── CodeMirrorPackager.java │ │ │ │ └── PrimeVuePackager.java │ │ │ └── vo │ │ │ ├── APIDDataFilterPagingQuery.java │ │ │ └── DataFilterPagingQuery.java │ └── resources │ │ ├── META-INF │ │ └── spring.factories │ │ └── org │ │ └── datagear │ │ └── web │ │ ├── application.properties │ │ ├── builtInDriverEntity.zip │ │ ├── builtInHtmlChartPlugins │ │ ├── org.datagear.chart.bar.horizontal.zip │ │ ├── org.datagear.chart.bar.polar.angle.stack.zip │ │ ├── org.datagear.chart.bar.polar.angle.zip │ │ ├── org.datagear.chart.bar.polar.radius.stack.zip │ │ ├── org.datagear.chart.bar.polar.radius.zip │ │ ├── org.datagear.chart.bar.stack.horizontal.zip │ │ ├── org.datagear.chart.bar.stack.zip │ │ ├── org.datagear.chart.bar.zip │ │ ├── org.datagear.chart.boxplot.horizontal.zip │ │ ├── org.datagear.chart.boxplot.zip │ │ ├── org.datagear.chart.candlestick.zip │ │ ├── org.datagear.chart.custom.zip │ │ ├── org.datagear.chart.form.select.multiple.zip │ │ ├── org.datagear.chart.form.select.zip │ │ ├── org.datagear.chart.funnel.pyramid.zip │ │ ├── org.datagear.chart.funnel.zip │ │ ├── org.datagear.chart.gauge.ring.zip │ │ ├── org.datagear.chart.gauge.step.zip │ │ ├── org.datagear.chart.gauge.zip │ │ ├── org.datagear.chart.graph.circular.zip │ │ ├── org.datagear.chart.graph.zip │ │ ├── org.datagear.chart.heatmap.zip │ │ ├── org.datagear.chart.label.hideName.zip │ │ ├── org.datagear.chart.label.valueFirst.zip │ │ ├── org.datagear.chart.label.zip │ │ ├── org.datagear.chart.line.area.smooth.stack.zip │ │ ├── org.datagear.chart.line.area.smooth.zip │ │ ├── org.datagear.chart.line.area.stack.zip │ │ ├── org.datagear.chart.line.area.zip │ │ ├── org.datagear.chart.line.smooth.zip │ │ ├── org.datagear.chart.line.step.zip │ │ ├── org.datagear.chart.line.zip │ │ ├── org.datagear.chart.liquidfill.diamond.zip │ │ ├── org.datagear.chart.liquidfill.rect.zip │ │ ├── org.datagear.chart.liquidfill.zip │ │ ├── org.datagear.chart.map.flyline.zip │ │ ├── org.datagear.chart.map.graph.zip │ │ ├── org.datagear.chart.map.heatmap.zip │ │ ├── org.datagear.chart.map.lines.zip │ │ ├── org.datagear.chart.map.scatter.ripple.zip │ │ ├── org.datagear.chart.map.scatter.zip │ │ ├── org.datagear.chart.map.zip │ │ ├── org.datagear.chart.parallel.smooth.zip │ │ ├── org.datagear.chart.parallel.vertical.smooth.zip │ │ ├── org.datagear.chart.parallel.vertical.zip │ │ ├── org.datagear.chart.parallel.zip │ │ ├── org.datagear.chart.pictorialBar.h.zip │ │ ├── org.datagear.chart.pictorialBar.progess.h.star.zip │ │ ├── org.datagear.chart.pictorialBar.progess.h.zip │ │ ├── org.datagear.chart.pictorialBar.progess.star.zip │ │ ├── org.datagear.chart.pictorialBar.progess.zip │ │ ├── org.datagear.chart.pictorialBar.zip │ │ ├── org.datagear.chart.pie.nest.zip │ │ ├── org.datagear.chart.pie.ring.zip │ │ ├── org.datagear.chart.pie.rose.zip │ │ ├── org.datagear.chart.pie.zip │ │ ├── org.datagear.chart.radar.circle.zip │ │ ├── org.datagear.chart.radar.zip │ │ ├── org.datagear.chart.sankey.vertical.zip │ │ ├── org.datagear.chart.sankey.zip │ │ ├── org.datagear.chart.scatter.coord.ripple.zip │ │ ├── org.datagear.chart.scatter.coord.zip │ │ ├── org.datagear.chart.scatter.ripple.zip │ │ ├── org.datagear.chart.scatter.zip │ │ ├── org.datagear.chart.sunburst.zip │ │ ├── org.datagear.chart.table.v2.zip │ │ ├── org.datagear.chart.table.zip │ │ ├── org.datagear.chart.themeRiver.zip │ │ ├── org.datagear.chart.tree.bt.zip │ │ ├── org.datagear.chart.tree.rectangle.zip │ │ ├── org.datagear.chart.tree.rl.zip │ │ ├── org.datagear.chart.tree.tb.zip │ │ ├── org.datagear.chart.tree.zip │ │ └── org.datagear.chart.wordcloud.zip │ │ ├── changelog.txt │ │ ├── commonDriverInfos.json │ │ ├── i18n │ │ └── message.properties │ │ ├── static │ │ ├── css │ │ │ ├── analysis.css │ │ │ ├── codemirror-5.64.0 │ │ │ │ └── custom.css │ │ │ ├── dashboardEditor.css │ │ │ └── style.css │ │ ├── image │ │ │ └── favicon.ico │ │ ├── lib │ │ │ ├── DataTables-1.11.3 │ │ │ │ ├── css │ │ │ │ │ └── datatables.min.css │ │ │ │ ├── js │ │ │ │ │ └── datatables.min.js │ │ │ │ └── readme.txt │ │ │ ├── clipboard-2.0.4 │ │ │ │ └── clipboard.min.js │ │ │ ├── codemirror-5.64.0 │ │ │ │ ├── addon │ │ │ │ │ ├── edit │ │ │ │ │ │ ├── closebrackets.js │ │ │ │ │ │ ├── closetag.js │ │ │ │ │ │ ├── continuelist.js │ │ │ │ │ │ ├── matchbrackets.js │ │ │ │ │ │ ├── matchtags.js │ │ │ │ │ │ └── trailingspace.js │ │ │ │ │ ├── fold │ │ │ │ │ │ ├── foldcode.js │ │ │ │ │ │ ├── foldgutter.css │ │ │ │ │ │ ├── foldgutter.js │ │ │ │ │ │ └── xml-fold.js │ │ │ │ │ ├── hint │ │ │ │ │ │ ├── anyword-hint.js │ │ │ │ │ │ ├── css-hint.js │ │ │ │ │ │ ├── html-hint.js │ │ │ │ │ │ ├── javascript-hint.js │ │ │ │ │ │ ├── show-hint.css │ │ │ │ │ │ ├── show-hint.js │ │ │ │ │ │ ├── sql-hint.js │ │ │ │ │ │ └── xml-hint.js │ │ │ │ │ └── search │ │ │ │ │ │ ├── jump-to-line.js │ │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ │ │ ├── search.js │ │ │ │ │ │ └── searchcursor.js │ │ │ │ ├── lib │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── mode │ │ │ │ │ ├── css │ │ │ │ │ │ ├── css.js │ │ │ │ │ │ ├── gss.html │ │ │ │ │ │ ├── gss_test.js │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── less.html │ │ │ │ │ │ ├── less_test.js │ │ │ │ │ │ ├── scss.html │ │ │ │ │ │ ├── scss_test.js │ │ │ │ │ │ └── test.js │ │ │ │ │ ├── htmlmixed │ │ │ │ │ │ ├── htmlmixed.js │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── javascript │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── javascript.js │ │ │ │ │ │ ├── json-ld.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── typescript.html │ │ │ │ │ ├── sql │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── sql.js │ │ │ │ │ └── xml │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ ├── test.js │ │ │ │ │ │ └── xml.js │ │ │ │ └── pkg │ │ │ │ │ ├── codemirror-bundle.css │ │ │ │ │ ├── codemirror-bundle.js │ │ │ │ │ └── readme-pkg.txt │ │ │ ├── echarts-5.6.0 │ │ │ │ └── echarts.min.js │ │ │ ├── echarts-liquidfill-3.0.0 │ │ │ │ └── echarts-liquidfill.min.js │ │ │ ├── echarts-wordcloud-2.0.0 │ │ │ │ └── echarts-wordcloud.min.js │ │ │ ├── geojson │ │ │ │ ├── 100000_full.json │ │ │ │ ├── 110000_full.json │ │ │ │ ├── 120000_full.json │ │ │ │ ├── 130000_full.json │ │ │ │ ├── 140000_full.json │ │ │ │ ├── 150000_full.json │ │ │ │ ├── 210000_full.json │ │ │ │ ├── 220000_full.json │ │ │ │ ├── 230000_full.json │ │ │ │ ├── 310000_full.json │ │ │ │ ├── 320000_full.json │ │ │ │ ├── 330000_full.json │ │ │ │ ├── 340000_full.json │ │ │ │ ├── 350000_full.json │ │ │ │ ├── 360000_full.json │ │ │ │ ├── 370000_full.json │ │ │ │ ├── 410000_full.json │ │ │ │ ├── 420000_full.json │ │ │ │ ├── 430000_full.json │ │ │ │ ├── 440000_full.json │ │ │ │ ├── 450000_full.json │ │ │ │ ├── 460000_full.json │ │ │ │ ├── 500000_full.json │ │ │ │ ├── 510000_full.json │ │ │ │ ├── 520000_full.json │ │ │ │ ├── 530000_full.json │ │ │ │ ├── 540000_full.json │ │ │ │ ├── 610000_full.json │ │ │ │ ├── 620000_full.json │ │ │ │ ├── 630000_full.json │ │ │ │ ├── 640000_full.json │ │ │ │ ├── 650000_full.json │ │ │ │ ├── 710000.json │ │ │ │ ├── 810000_full.json │ │ │ │ ├── 820000_full.json │ │ │ │ ├── china-cities.json │ │ │ │ ├── china-contour.json │ │ │ │ ├── china_nhzd.json │ │ │ │ └── world.json │ │ │ ├── jquery-3.7.1 │ │ │ │ └── jquery-3.7.1.min.js │ │ │ ├── jquery-datetimepicker-2.5.20 │ │ │ │ ├── jquery.datetimepicker.full.js │ │ │ │ ├── jquery.datetimepicker.full.min.js │ │ │ │ └── jquery.datetimepicker.min.css │ │ │ ├── jquery-validation-1.19.3 │ │ │ │ ├── additional-methods.min.js │ │ │ │ ├── jquery.validate.min.js │ │ │ │ └── localization │ │ │ │ │ ├── messages_zh.js │ │ │ │ │ └── messages_zh.min.js │ │ │ ├── jquery.cookie-1.4.1 │ │ │ │ └── jquery.cookie.js │ │ │ ├── primeflex@3.3.1 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ └── primeflex.min.css │ │ │ ├── primeicons@6.0.1 │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── fonts │ │ │ │ │ ├── primeicons.eot │ │ │ │ │ ├── primeicons.svg │ │ │ │ │ ├── primeicons.ttf │ │ │ │ │ ├── primeicons.woff │ │ │ │ │ └── primeicons.woff2 │ │ │ │ └── primeicons.css │ │ │ ├── primevue@3.34.1 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── primevue.min.0.js │ │ │ │ ├── primevue.min.1.js │ │ │ │ ├── primevue.min.2.js │ │ │ │ ├── primevue.min.3.js │ │ │ │ ├── readme-pkg.txt │ │ │ │ ├── readme-warning.txt │ │ │ │ └── resources │ │ │ │ │ ├── primevue.min.css │ │ │ │ │ └── themes │ │ │ │ │ ├── saga-blue │ │ │ │ │ └── theme.css │ │ │ │ │ └── vela-blue │ │ │ │ │ └── theme.css │ │ │ └── vue@3.2.47 │ │ │ │ └── vue.global.prod.js │ │ ├── script │ │ │ ├── chartFactory.js │ │ │ ├── chartSetting.js │ │ │ ├── chartSupport.js │ │ │ ├── dashboardApiList.js │ │ │ ├── dashboardEditor.js │ │ │ ├── dashboardFactory.js │ │ │ ├── pages │ │ │ │ ├── dashboard │ │ │ │ │ └── include │ │ │ │ │ │ └── dashboardDesign.js │ │ │ │ └── include │ │ │ │ │ └── page.js │ │ │ └── util.js │ │ └── theme │ │ │ ├── blue │ │ │ ├── image │ │ │ │ └── logo.png │ │ │ └── style.css │ │ │ └── blueDark │ │ │ ├── image │ │ │ └── logo.png │ │ │ └── style.css │ │ ├── templates │ │ ├── about.ftl │ │ ├── analysisProject │ │ │ ├── analysisProject_form.ftl │ │ │ └── analysisProject_table.ftl │ │ ├── authorization │ │ │ ├── authorization_form.ftl │ │ │ └── authorization_table.ftl │ │ ├── change_theme_data.ftl │ │ ├── changelog.ftl │ │ ├── chart │ │ │ ├── chart_form.ftl │ │ │ ├── chart_table.ftl │ │ │ └── include │ │ │ │ └── chart_attr_values_form.ftl │ │ ├── chartPlugin │ │ │ ├── chartPlugin_form.ftl │ │ │ ├── chartPlugin_select.ftl │ │ │ ├── chartPlugin_table.ftl │ │ │ └── chartPlugin_upload.ftl │ │ ├── dashboard │ │ │ ├── dashboard_design_form.ftl │ │ │ ├── dashboard_form.ftl │ │ │ ├── dashboard_import.ftl │ │ │ ├── dashboard_share_set.ftl │ │ │ ├── dashboard_show_auth.ftl │ │ │ ├── dashboard_table.ftl │ │ │ └── include │ │ │ │ ├── dashboard_code_completions.ftl │ │ │ │ ├── dashboard_design_editor.ftl │ │ │ │ ├── dashboard_design_editor_forms.ftl │ │ │ │ ├── dashboard_design_resource.ftl │ │ │ │ └── dashboard_design_resource_forms.ftl │ │ ├── dashboardGlobalRes │ │ │ ├── dashboardGlobalRes_form.ftl │ │ │ ├── dashboardGlobalRes_move.ftl │ │ │ ├── dashboardGlobalRes_rename.ftl │ │ │ ├── dashboardGlobalRes_table.ftl │ │ │ └── dashboardGlobalRes_upload.ftl │ │ ├── dataSet │ │ │ ├── dataSet_form_CsvFile.ftl │ │ │ ├── dataSet_form_CsvValue.ftl │ │ │ ├── dataSet_form_Excel.ftl │ │ │ ├── dataSet_form_Http.ftl │ │ │ ├── dataSet_form_JsonFile.ftl │ │ │ ├── dataSet_form_JsonValue.ftl │ │ │ ├── dataSet_form_SQL.ftl │ │ │ ├── dataSet_table.ftl │ │ │ └── include │ │ │ │ ├── dataSet_form_encoding.ftl │ │ │ │ ├── dataSet_form_file_source.ftl │ │ │ │ ├── dataSet_form_js.ftl │ │ │ │ ├── dataSet_form_name.ftl │ │ │ │ ├── dataSet_form_param_field.ftl │ │ │ │ ├── dataSet_form_param_field_form.ftl │ │ │ │ └── dataSet_form_preview.ftl │ │ ├── driverEntity │ │ │ ├── driverEntity_form.ftl │ │ │ └── driverEntity_table.ftl │ │ ├── dtbsSource │ │ │ ├── dtbsSource_dbinfo.ftl │ │ │ ├── dtbsSource_dbtable_meta.ftl │ │ │ ├── dtbsSource_form.ftl │ │ │ ├── dtbsSource_table.ftl │ │ │ └── dtbsSource_tree.ftl │ │ ├── dtbsSourceData │ │ │ ├── dtbsSourceData_form.ftl │ │ │ ├── dtbsSourceData_table.ftl │ │ │ └── include │ │ │ │ ├── dtbsSourceData_page_obj.ftl │ │ │ │ └── dtbsSourceData_search_form.ftl │ │ ├── dtbsSourceExchange │ │ │ ├── detail_log.ftl │ │ │ ├── export.ftl │ │ │ ├── export_csv.ftl │ │ │ ├── export_excel.ftl │ │ │ ├── export_json.ftl │ │ │ ├── export_sql.ftl │ │ │ ├── import.ftl │ │ │ ├── import_csv.ftl │ │ │ ├── import_excel.ftl │ │ │ ├── import_json.ftl │ │ │ ├── import_sql.ftl │ │ │ └── include │ │ │ │ ├── dtbsSourceExchange_data_format.ftl │ │ │ │ ├── dtbsSourceExchange_js.ftl │ │ │ │ ├── export_foot.ftl │ │ │ │ ├── export_head.ftl │ │ │ │ ├── export_js.ftl │ │ │ │ ├── export_table_head.ftl │ │ │ │ ├── import_foot.ftl │ │ │ │ ├── import_head.ftl │ │ │ │ ├── import_js.ftl │ │ │ │ ├── import_table_head.ftl │ │ │ │ └── import_value_data_Import_option.ftl │ │ ├── dtbsSourceGuard │ │ │ ├── dtbsSourceGuard_form.ftl │ │ │ ├── dtbsSourceGuard_table.ftl │ │ │ └── dtbsSourceGuard_test.ftl │ │ ├── dtbsSourceSqlpad │ │ │ ├── dtbsSourceSqlpad.ftl │ │ │ └── dtbsSourceSqlpad_history_table.ftl │ │ ├── dtbsSourceUrlBuilder │ │ │ ├── dtbsSourceUrlBuilder_build.ftl │ │ │ └── dtbsSourceUrlBuilder_set.ftl │ │ ├── error.ftl │ │ ├── fileSource │ │ │ ├── fileSource_file_table.ftl │ │ │ ├── fileSource_form.ftl │ │ │ └── fileSource_table.ftl │ │ ├── include │ │ │ ├── html_app_name_prefix.ftl │ │ │ ├── html_app_name_suffix.ftl │ │ │ ├── html_doctype.ftl │ │ │ ├── html_head.ftl │ │ │ ├── html_logo.ftl │ │ │ ├── html_request_action_suffix.ftl │ │ │ ├── page_boolean_options.ftl │ │ │ ├── page_code_editor.ftl │ │ │ ├── page_copy_to_clipboard.ftl │ │ │ ├── page_current_analysis_project.ftl │ │ │ ├── page_directory_breadcrumb.ftl │ │ │ ├── page_fileupload.ftl │ │ │ ├── page_foot.ftl │ │ │ ├── page_form.ftl │ │ │ ├── page_format_time.ftl │ │ │ ├── page_import.ftl │ │ │ ├── page_main_header.ftl │ │ │ ├── page_main_header_simple.ftl │ │ │ ├── page_manager.ftl │ │ │ ├── page_obj.ftl │ │ │ ├── page_palette.ftl │ │ │ ├── page_search_form.ftl │ │ │ ├── page_search_form_directory.ftl │ │ │ ├── page_search_form_filter.ftl │ │ │ ├── page_simple_form.ftl │ │ │ ├── page_sql_editor.ftl │ │ │ ├── page_steps.ftl │ │ │ ├── page_table.ftl │ │ │ ├── page_tabview.ftl │ │ │ ├── page_validation_msg.ftl │ │ │ └── page_vue_mount.ftl │ │ ├── login.ftl │ │ ├── main.ftl │ │ ├── register.ftl │ │ ├── register_success.ftl │ │ ├── reset_password.ftl │ │ ├── role │ │ │ ├── role_form.ftl │ │ │ └── role_table.ftl │ │ └── user │ │ │ ├── user_delete.ftl │ │ │ ├── user_form.ftl │ │ │ ├── user_psd_form.ftl │ │ │ └── user_table.ftl │ │ ├── theme │ │ ├── blue.properties │ │ └── blueDark.properties │ │ └── transactionConfig.xml │ └── test │ └── java │ └── org │ └── datagear │ └── web │ └── util │ ├── DelegatingTextEncryptorTest.java │ ├── SessionIdParamResolverTest.java │ ├── WebUtilsTest.java │ └── accesslatch │ └── AbstractAccessLatchTest.java ├── datagear-webapp ├── pom.xml └── src │ ├── dist │ ├── bin │ │ ├── config │ │ │ └── application.properties │ │ ├── lib │ │ │ └── readme.txt │ │ ├── readme.txt │ │ ├── shutdown.sh │ │ ├── startup.bat │ │ └── startup.sh │ └── war │ │ └── readme.txt │ └── main │ ├── java │ └── org │ │ └── datagear │ │ └── webapp │ │ ├── DataGearApplication.java │ │ ├── DataGearServletInitializer.java │ │ └── config │ │ ├── ApplicationPropertiesConfig.java │ │ ├── CoreConfig.java │ │ ├── DataSourceConfig.java │ │ ├── SchedulingConfig.java │ │ ├── SecurityConfig.java │ │ ├── ServletConfig.java │ │ ├── TransactionConfig.java │ │ ├── WebMvcConfigurerConfig.java │ │ └── WebMvcRegistrationsConfig.java │ └── resources │ ├── application-war.properties │ └── application.properties ├── pom.xml ├── screenshot ├── add-sql-dataset.png ├── architecture.png ├── chart-interaction.png ├── chart.png ├── dashboard-edit.png ├── dashboard-form.gif ├── dashboard-link-load-chart.gif ├── dashboard-map-chart-hierarchy.gif ├── dashboard-map-chart-link.gif ├── dashboard-time-series-chart.gif ├── dashboard-visual-mode.gif ├── datasource-manage.png └── template-006-dg.png └── test ├── config └── jdbc.properties └── sql ├── others ├── test-elasticsearch.txt ├── test-hive.sql ├── test-mysql-data.sql ├── test-mysql-ddl.sql ├── test-oracle.sql ├── test-postgresql.sql └── test-sqlserver.sql └── test-mysql.sql /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | **/.settings/ 3 | **/.classpath 4 | **/.project 5 | */target/ 6 | **/derby.log 7 | **/.DS_Store 8 | 9 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 10 | hs_err_pid* 11 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2018-2025 datagear.tech 2 | 3 | DataGear is free software: you can redistribute it and/or modify it under the terms of 4 | the GNU Lesser General Public License as published by the Free Software Foundation, 5 | either version 3 of the License, or (at your option) any later version. 6 | 7 | DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 8 | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 9 | See the GNU Lesser General Public License for more details. 10 | 11 | You should have received a copy of the GNU Lesser General Public License along with DataGear. 12 | If not, see . -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- 1 | # DataGear 2 | 3 | ## 版本发布流程 4 | 5 | 1. 以当前分支新建版本标记,名称为:v[version],描述为:version [version]; 6 | 7 | 2. 切换到版本标记,执行maven构建命令:`mvn clean package` ; 8 | 9 | 3. 将刚才新建的标记推送到仓库保存; 10 | 11 | 4. 将构建的程序包(`datagear-web/target/datagear-[version]-packages/`目录内)发布到Gitee、官网; 12 | 13 | 5. 将当前分支合并至主干; 14 | 15 | ### 新建开发分支流程 16 | 17 | 1. 以主干新建新版本开发分支,分支名为`dev-*`; 18 | 19 | 2. 切换至新版本开发分支,修改`pom.xml`文件中的`version`标签内的版本号为下一个版本; 20 | 21 | 3. 执行统一修改版本号的maven命令:`mvn -N versions:update-child-modules antrun:run` ; 22 | 23 | 4. 提交并推送新版本开发分支。 -------------------------------------------------------------------------------- /Roadmap.txt: -------------------------------------------------------------------------------- 1 | 下一版本: 2 | 3 | 4 | 5 | 待定: 6 | 7 | SQL数据集支持SQL预编译语法,进而支持执行insert/update/delete类型的SQL; 8 | HTTP数据集响应类型支持文本、CSV、Excel; 9 | 数据集支持修改类型; 10 | 看板可视编辑模式绝对/相对定位元素可拖拽; 11 | 看板JS对象新增chart.updateOptions()函数; 12 | 内置图表插件新增数据卡片,将每行数据渲染为一个数据卡片; 13 | plugin.json添加ext:{event:[{sourceType:"", data:[{name:"..."},...]}]}属性,用于说明图表事件结构,为图表联动提供支持; 14 | 图表插件数据标记自动绑定; 15 | 图表插件定义常用图表属性; 16 | 图表插件在线定义功能; 17 | 用户/角色登录后跳转首页管理功能,可定义指定用户/角色登录后的跳转首页; 18 | 看板图表导出数据功能; 19 | 看板模板管理功能; 20 | 看板编辑时自动保存临时内容; 21 | 组合数据集: 22 | 新建组合数据集(CombineDataSet),选定多个其他数据集,通过SQL语句连接、选取它们,生成新的数据; 23 | 统计分析数据集; 24 | 定时邮件报告; 25 | 项目(包括数据集、图表、看板)导入/导出功能; 26 | 服务端文件数据集支持${DG_LATEST_FILE}内置参数,用于读取最新文件;(暂不实现,因为无法支持子目录,用处不大) 27 | 28 | 待研究: 29 | 提供服务API,使图表、看板可以方便整合至第三方前端代码中; 30 | 多维分析图表类型; 31 | 数据填报; 32 | 应用级集成; 33 | 3D图表; 34 | SQL跨库查询; 35 | docker安装镜像; 36 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/ChartPluginResource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | import java.io.IOException; 21 | import java.io.InputStream; 22 | 23 | /** 24 | * 图表插件资源。 25 | * 26 | * @author datagear@163.com 27 | * 28 | */ 29 | public interface ChartPluginResource extends NameAware 30 | { 31 | /** 32 | * 获取资源输入流。 33 | * 34 | * @return 35 | * @throws IOException 36 | */ 37 | InputStream getInputStream() throws IOException; 38 | 39 | /** 40 | * 获取上次修改时间。 41 | * 42 | * @return 43 | */ 44 | long getLastModified(); 45 | } 46 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/DashboardThemeSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * {@linkplain DashboardTheme}源。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface DashboardThemeSource 27 | { 28 | /** 29 | * 获取默认{@linkplain DashboardTheme}。 30 | * 31 | * @return 32 | */ 33 | DashboardTheme getDashboardTheme(); 34 | 35 | /** 36 | * 获取指定名称的{@linkplain DashboardTheme},没有则返回{@code null}。 37 | * 38 | * @param themeName 39 | * @return 40 | */ 41 | DashboardTheme getDashboardTheme(String themeName); 42 | } 43 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/DataSetException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * 数据集异常。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class DataSetException extends RuntimeException 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public DataSetException() 31 | { 32 | super(); 33 | } 34 | 35 | public DataSetException(String message) 36 | { 37 | super(message); 38 | } 39 | 40 | public DataSetException(Throwable cause) 41 | { 42 | super(cause); 43 | } 44 | 45 | public DataSetException(String message, Throwable cause) 46 | { 47 | super(message, cause); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/Identifiable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * 可被标识的。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface Identifiable 27 | { 28 | /** 29 | * 获取标识。 30 | * 31 | * @return 32 | */ 33 | String getId(); 34 | } 35 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/NameAware.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * 名称相关类接口。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface NameAware 27 | { 28 | /** 29 | * 获取名称。 30 | * 31 | * @return 32 | */ 33 | String getName(); 34 | } 35 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/NameTypeAware.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * 名称、类型相关类接口。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface NameTypeAware extends NameAware 27 | { 28 | /** 29 | * 获取数据类型。 30 | * 31 | * @return 32 | */ 33 | String getType(); 34 | } 35 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/RenderException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * 渲染异常。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class RenderException extends RuntimeException 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public RenderException() 31 | { 32 | super(); 33 | } 34 | 35 | public RenderException(String message) 36 | { 37 | super(message); 38 | } 39 | 40 | public RenderException(Throwable cause) 41 | { 42 | super(cause); 43 | } 44 | 45 | public RenderException(String message, Throwable cause) 46 | { 47 | super(message, cause); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/ResultDataFormatAware.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis; 19 | 20 | /** 21 | * {@linkplain ResultDataFormat}引用类。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface ResultDataFormatAware 27 | { 28 | /** 29 | * 获取{@linkplain ResultDataFormat}。 30 | * 31 | * @return 返回{@code null}表示没有设置 32 | */ 33 | ResultDataFormat getResultDataFormat(); 34 | 35 | /** 36 | * 设置{@linkplain ResultDataFormat}。 37 | * 38 | * @param format 39 | */ 40 | void setResultDataFormat(ResultDataFormat format); 41 | } 42 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/constraint/Constraint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.constraint; 19 | 20 | /** 21 | * 约束。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface Constraint 27 | { 28 | 29 | } 30 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/constraint/Max.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.constraint; 19 | 20 | /** 21 | * 约束-最大值。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class Max extends AbstractValueConstraint 27 | { 28 | public Max() 29 | { 30 | super(); 31 | } 32 | 33 | public Max(Number value) 34 | { 35 | super(value); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/constraint/MaxLength.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.constraint; 19 | 20 | /** 21 | * 约束-最大长度。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class MaxLength extends AbstractValueConstraint 27 | { 28 | public MaxLength() 29 | { 30 | super(); 31 | } 32 | 33 | public MaxLength(int value) 34 | { 35 | super(value); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/constraint/Min.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.constraint; 19 | 20 | /** 21 | * 约束-最小值。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class Min extends AbstractValueConstraint 27 | { 28 | public Min() 29 | { 30 | super(); 31 | } 32 | 33 | public Min(Number value) 34 | { 35 | super(value); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/constraint/MinLength.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.constraint; 19 | 20 | /** 21 | * 约束-最小长度。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class MinLength extends AbstractValueConstraint 27 | { 28 | public MinLength() 29 | { 30 | super(); 31 | } 32 | 33 | public MinLength(int value) 34 | { 35 | super(value); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/constraint/Required.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.constraint; 19 | 20 | /** 21 | * 约束-必填。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class Required extends AbstractValueConstraint 27 | { 28 | public Required() 29 | { 30 | super(); 31 | } 32 | 33 | public Required(boolean value) 34 | { 35 | super(value); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/support/ChartWidgetSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.support; 19 | 20 | /** 21 | * {@linkplain ChartWidget}源。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface ChartWidgetSource 27 | { 28 | /** 29 | * 获取指定ID的{@linkplain ChartWidget},没有则返回{@code null}。 30 | * 31 | * @param id 32 | * @return 33 | * @throws Throwable 34 | */ 35 | ChartWidget getChartWidget(String id) throws Throwable; 36 | } 37 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/support/SqlDataSetConnectionException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.support; 19 | 20 | import org.datagear.analysis.DataSetException; 21 | 22 | /** 23 | * {@linkplain SqlDataSet}建立连接异常。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public class SqlDataSetConnectionException extends DataSetException 29 | { 30 | private static final long serialVersionUID = 1L; 31 | 32 | public SqlDataSetConnectionException(Throwable cause) 33 | { 34 | super(cause); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/support/TemplateResolver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.support; 19 | 20 | /** 21 | * 模板解析器。 22 | *

23 | * 此类解析由模板语言(比如Freemarker)构建的字符串,并返回模板执行结果。 24 | *

25 | * 26 | * @author datagear@163.com 27 | * 28 | */ 29 | public interface TemplateResolver 30 | { 31 | /** 32 | * 解析。 33 | * 34 | * @param template 35 | * @param templateContext 36 | * @return 37 | * @throws TemplateResolverException 38 | */ 39 | String resolve(String template, TemplateContext templateContext) throws TemplateResolverException; 40 | } 41 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/support/html/HtmlTitleHandler.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.support.html; 19 | 20 | /** 21 | * HTML的<title></title>处理器。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface HtmlTitleHandler 27 | { 28 | /** 29 | * 返回要追加的标题内容。 30 | * 31 | * @param title 32 | * @return 33 | */ 34 | String suffix(String title); 35 | } 36 | -------------------------------------------------------------------------------- /datagear-analysis/src/main/java/org/datagear/analysis/support/html/HtmlTplDashboardImportBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.analysis.support.html; 19 | 20 | import java.util.List; 21 | 22 | /** 23 | * {@linkplain HtmlTplDashboardImport}列表构建器。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface HtmlTplDashboardImportBuilder 29 | { 30 | /** 31 | * 构建{@linkplain HtmlTplDashboardImport}列表。 32 | * 33 | * @param renderContext 34 | * @param dashboard 35 | * @return 36 | */ 37 | List build(HtmlTplDashboardRenderContext renderContext, HtmlTplDashboard dashboard); 38 | } 39 | -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/CsvDirectoryFileDataSetTest-0.csv: -------------------------------------------------------------------------------- 1 | name, value, 尺寸 2 | aaa, 11, 12 3 | bbb, 21, 22 4 | ccc, 31, 32 -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/ExcelDirectoryFileDataSetTest-0.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/ExcelDirectoryFileDataSetTest-0.xlsx -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/ExcelDirectoryFileDataSetTest-1.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/ExcelDirectoryFileDataSetTest-1.xls -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/ExcelDirectoryFileDataSetTest-2.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/ExcelDirectoryFileDataSetTest-2.xls -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonChartPluginPropertiesResolverTest-author-issueDate.json: -------------------------------------------------------------------------------- 1 | { 2 | id : "author-issueDate", 3 | nameLabel : "", 4 | author: "test", 5 | issueDate: "2024-09-01" 6 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonChartPluginPropertiesResolverTest-contact.json: -------------------------------------------------------------------------------- 1 | { 2 | id : "contact", 3 | nameLabel : "", 4 | author: "test", 5 | issueDate: "2024-09-01", 6 | contact: "test@dgtest.com" 7 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonChartPluginPropertiesResolverTest-dataSetRange-number.json: -------------------------------------------------------------------------------- 1 | { 2 | id : "dataset-range-number", 3 | nameLabel: "", 4 | dataSetRange: 1 5 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonChartPluginPropertiesResolverTest-dataSetRange.json: -------------------------------------------------------------------------------- 1 | { 2 | id : "pie-chart", 3 | nameLabel: "", 4 | dataSetRange: 5 | { 6 | main: 7 | { 8 | min: 1, 9 | max: 2 10 | }, 11 | attachment: 12 | { 13 | min: 3, 14 | max: 4 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonChartPluginPropertiesResolverTest-platformVersion.json: -------------------------------------------------------------------------------- 1 | { 2 | "id" : "author-issueDate", 3 | "nameLabel" : "", 4 | "platformVersion": "5.2.0" 5 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonChartPluginPropertiesResolverTest-string-categories.json: -------------------------------------------------------------------------------- 1 | { 2 | id : "pie-chart", 3 | categories: [ "line", "bar"], 4 | categoryOrders: 41 5 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/JsonDirectoryFileDataSetTest-0.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | name: "aaa", 4 | value: 11, 5 | "尺寸": 12, 6 | date: "2020-08-01" 7 | }, 8 | { 9 | name: "bbb", 10 | value: 21, 11 | "尺寸": 22, 12 | date: "2020-08-02" 13 | }, 14 | { 15 | name: "ccc", 16 | value: 31, 17 | "尺寸": 32, 18 | date: "2020-08-03" 19 | } 20 | ] -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/directoryHtmlChartPluginManagerTest/plugin.current.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/html/directoryHtmlChartPluginManagerTest/plugin.current.zip -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/directoryHtmlChartPluginManagerTest/plugin.upload.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/html/directoryHtmlChartPluginManagerTest/plugin.upload.zip -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/not-plugin-01/not-plugin.txt: -------------------------------------------------------------------------------- 1 | not plugin -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/not-plugin-02.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/not-plugin-02.zip -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin01/icon-01.png: -------------------------------------------------------------------------------- 1 | icon-01 -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin01/icons/icon-02.png: -------------------------------------------------------------------------------- 1 | icon-01 -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin01/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | id : 'plugin01', 3 | nameLabel : 4 | { 5 | value : '折线图', 6 | localeValues : 7 | { 8 | 'en' : 'line chart', 9 | 'zh' : '折线中文' 10 | } 11 | }, 12 | icons : "icon-01.png", 13 | order : 4, 14 | chartRenderer : {} 15 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin02/icon-01.png: -------------------------------------------------------------------------------- 1 | icon-01 -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin02/icons/icon-02.png: -------------------------------------------------------------------------------- 1 | icon-01 -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin02/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | id : 'plugin02', 3 | nameLabel : 4 | { 5 | value : '折线图', 6 | localeValues : 7 | { 8 | 'en' : 'line chart', 9 | 'zh' : '折线中文' 10 | } 11 | }, 12 | icons : { "light" : "icon-01.png", "dark" : "icons/icon-02.png" }, 13 | order : 3, 14 | chartRenderer : {} 15 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin03.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin03.zip -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin04.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin04.zip -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin05-4.1.0-renderer/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | id : "plugin05", 3 | nameLabel : "plugin05", 4 | renderer : { render: function(chart){ } } 5 | } -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin06.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginLoaders/plugin06.zip -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginTest/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | id : 'pie-chart', 3 | nameLabel : 4 | { 5 | value : '饼图', 6 | localeValues : 7 | { 8 | 'en' : 'pie chart', 9 | 'zh' : '饼图中文' 10 | } 11 | }, 12 | renderer: 13 | { 14 | render: function(chart) 15 | { 16 | var str = "this is render function"; 17 | }, 18 | update: function(chart, results) 19 | { 20 | var str = "this is update function"; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginTestOld/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | id : 'pie-chart', 3 | nameLabel : 4 | { 5 | value : '饼图', 6 | localeValues : 7 | { 8 | 'en' : 'pie chart', 9 | 'zh' : '饼图中文' 10 | } 11 | }, 12 | chartRenderer: 13 | { 14 | render: function(chart) 15 | { 16 | var str = "this is render function"; 17 | }, 18 | update: function(chart, results) 19 | { 20 | var str = "this is update function"; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginTestRendererFile/plugin.json: -------------------------------------------------------------------------------- 1 | { 2 | id : 'pie-chart', 3 | nameLabel : 4 | { 5 | value : '饼图', 6 | localeValues : 7 | { 8 | 'en' : 'pie chart', 9 | 'zh' : '饼图中文' 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlChartPluginTestRendererFile/renderer.js: -------------------------------------------------------------------------------- 1 | /** 独立插件渲染器文件 */ 2 | (function(localPlugin) 3 | { 4 | var r = 5 | { 6 | render: function(chart){} 7 | }; 8 | 9 | return r; 10 | })(plugin); -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlTplDashboardWidgets/freemarker/widget01/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 看板 5 | <@import /> 6 | <@theme /> 7 | 14 | 15 | 25 | 26 | 27 | <@dashboard> 28 |
29 |

Hello dashboard!

30 |
31 | <@chart widget="chart-widget-01" /> 32 |
33 |
34 | <@chart widget="chart-widget-01" /> 35 |
36 |
37 | <@chart widget="chart-widget-01" var="chart01" elementId="element01" /> 38 |
39 |
40 | <@chart widget="chart-widget-01" /> 41 |
42 |
43 | <@chart widget="chart-widget-01" var="chart02" /> 44 |
45 |
46 | <@chart widget="chart-widget-01" /> 47 |
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /datagear-analysis/src/test/resources/org/datagear/analysis/support/html/htmlTplDashboardWidgets/html/widget01/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 看板 5 | 18 | 19 | 20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | 28 |
29 | 30 |
31 | 32 | -------------------------------------------------------------------------------- /datagear-connection/src/main/java/org/datagear/connection/ConnectionSensor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.connection; 19 | 20 | import java.sql.Connection; 21 | 22 | /** 23 | * {@linkplain Connection}敏感器。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface ConnectionSensor 29 | { 30 | /** 31 | * 是否支持指定{@link Connection}。 32 | * 33 | * @param cn 34 | * @return 35 | */ 36 | boolean supports(Connection cn); 37 | } 38 | -------------------------------------------------------------------------------- /datagear-connection/src/main/java/org/datagear/connection/DevotedPropertiesProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.connection; 19 | 20 | import java.sql.Driver; 21 | import java.util.Properties; 22 | 23 | /** 24 | * 专职{@linkplain PropertiesProcessor}。 25 | * 26 | * @author datagear@163.com 27 | * 28 | */ 29 | public interface DevotedPropertiesProcessor extends PropertiesProcessor 30 | { 31 | /** 32 | * 是否能处理给定连接参数。 33 | * 34 | * @param driver 35 | * @param url 36 | * @param properties 37 | * @return 38 | */ 39 | boolean supports(Driver driver, String url, Properties properties); 40 | } 41 | -------------------------------------------------------------------------------- /datagear-connection/src/main/java/org/datagear/connection/DriverClassFormatErrorException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.connection; 19 | 20 | /** 21 | * 驱动程序类格式错误异常。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class DriverClassFormatErrorException extends PathDriverFactoryException 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public DriverClassFormatErrorException(ClassFormatError cause) 31 | { 32 | super(cause); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /datagear-connection/src/main/java/org/datagear/connection/PropertiesProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.connection; 19 | 20 | import java.sql.Driver; 21 | import java.util.Properties; 22 | 23 | /** 24 | * 连接参数处理器。 25 | *

26 | * {@linkplain DefaultConnectionSource}使用此类在获取连接之前处理连接参数。 27 | *

28 | * 29 | * @author datagear@163.com 30 | * 31 | */ 32 | public interface PropertiesProcessor 33 | { 34 | /** 35 | * 处理连接参数。 36 | *

37 | * 比如修改已设参数,或者添加新参数。 38 | *

39 | * 40 | * @param driver 41 | * @param url 42 | * @param properties 43 | */ 44 | void process(Driver driver, String url, Properties properties); 45 | } 46 | -------------------------------------------------------------------------------- /datagear-connection/src/main/java/org/datagear/connection/SimpleDriverChecker.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.connection; 19 | 20 | import java.sql.Driver; 21 | 22 | /** 23 | * 简单{@linkplain DriverChecker}实现。 24 | *

25 | * 它仅使用{@linkplain Driver#acceptsURL(String)}校验。 26 | *

27 | * 28 | * @author datagear@163.com 29 | * 30 | */ 31 | public class SimpleDriverChecker extends AbstractDriverChecker 32 | { 33 | public SimpleDriverChecker() 34 | { 35 | super(); 36 | } 37 | 38 | @Override 39 | protected boolean checkConnection(Driver driver, ConnectionOption connectionOption) throws Throwable 40 | { 41 | return true; 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /datagear-connection/src/main/java/org/datagear/connection/URLSensor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.connection; 19 | 20 | /** 21 | * JDBC连接URL敏感器。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface URLSensor 27 | { 28 | /** 29 | * 是否支持指定JDBC连接url。 30 | * 31 | * @param url 32 | * @return 33 | */ 34 | boolean supports(String url); 35 | } 36 | -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/driverEntityInfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | mysql 5 | com.mysql.jdbc.Driver 6 | 7 | 8 | mysql-jre8 9 | com.mysql.cj.jdbc.Driver 10 | 11 | 12 | oracle 13 | oracle.jdbc.OracleDriver 14 | 15 | 16 | -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/mixed/mysql-connector-java-5.1.23.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-connection/src/test/resources/drivers/mixed/mysql-connector-java-5.1.23.jar -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/mixed/ojdbc6-11.2.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-connection/src/test/resources/drivers/mixed/ojdbc6-11.2.0.3.jar -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/mysql-jre8/mysql-connector-java-8.0.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-connection/src/test/resources/drivers/mysql-jre8/mysql-connector-java-8.0.12.jar -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/mysql/mysql-connector-java-5.1.23.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-connection/src/test/resources/drivers/mysql/mysql-connector-java-5.1.23.jar -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/mysql/test-for-holder.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-connection/src/test/resources/drivers/mysql/test-for-holder.jar -------------------------------------------------------------------------------- /datagear-connection/src/test/resources/drivers/oracle/ojdbc6-11.2.0.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-connection/src/test/resources/drivers/oracle/ojdbc6-11.2.0.3.jar -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/CancelReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 子数据交换取消原因。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class CancelReason extends AbstractReason 27 | { 28 | public CancelReason() 29 | { 30 | super(); 31 | } 32 | 33 | public CancelReason(String reason) 34 | { 35 | super(reason); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/DataExchangeService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 数据交换服务。 22 | * 23 | * @author datagear@163.com 24 | * 25 | * @param 26 | */ 27 | public interface DataExchangeService 28 | { 29 | /** 30 | * 进行数据交换。 31 | * 32 | * @param dataExchange 33 | * @throws DataExchangeException 34 | */ 35 | void exchange(T dataExchange) throws DataExchangeException; 36 | } 37 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/DataExportListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 数据导出监听器。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface DataExportListener extends DataExchangeListener 27 | { 28 | /** 29 | * 指定索引的数据导出成功。 30 | * 31 | * @param dataIndex 32 | */ 33 | void onSuccess(DataIndex dataIndex); 34 | } 35 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/DataImportListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 数据导入监听器。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface DataImportListener extends DataExchangeListener 27 | { 28 | /** 29 | * 指定索引的数据导入成功。 30 | * 31 | * @param dataIndex 32 | */ 33 | void onSuccess(DataIndex dataIndex); 34 | 35 | /** 36 | * 指定索引的数据因为异常而被忽略。 37 | * 38 | * @param dataIndex 39 | */ 40 | void onIgnore(DataIndex dataIndex, DataExchangeException e); 41 | 42 | } 43 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/DataIndex.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | import java.io.Serializable; 21 | 22 | /** 23 | * 数据索引。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public abstract class DataIndex implements Serializable 29 | { 30 | private static final long serialVersionUID = 1L; 31 | 32 | @Override 33 | public abstract String toString(); 34 | } 35 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/DevotedDataExchangeService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 专职{@linkplain DataExchangeService}。 22 | * 23 | * @author datagear@163.com 24 | * 25 | * @param 26 | */ 27 | public interface DevotedDataExchangeService extends DataExchangeService 28 | { 29 | /** 30 | * 是否支持指定{@linkplain DataExchange}。 31 | * 32 | * @param dataExchange 33 | * @return 34 | */ 35 | boolean supports(T dataExchange); 36 | } 37 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/DirectCancelReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 子数据交换被直接取消{@linkplain CancelReason}。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class DirectCancelReason extends CancelReason 27 | { 28 | public DirectCancelReason() 29 | { 30 | super("Canceled"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/ExceptionResolve.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 数据交换异常处理方式。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public enum ExceptionResolve 27 | { 28 | /** 提交并终止 */ 29 | ABORT, 30 | 31 | /** 忽略并继续 */ 32 | IGNORE, 33 | 34 | /** 回滚并终止 */ 35 | ROLLBACK 36 | } 37 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/ExecuteDataImportSqlException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | import java.sql.SQLException; 21 | 22 | /** 23 | * 执行数据导入SQL异常。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public class ExecuteDataImportSqlException extends IndexDataExchangeException 29 | { 30 | private static final long serialVersionUID = 1L; 31 | 32 | public ExecuteDataImportSqlException(DataIndex dataIndex, SQLException cause) 33 | { 34 | super(dataIndex, cause); 35 | } 36 | 37 | @Override 38 | public SQLException getCause() 39 | { 40 | return (SQLException) super.getCause(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/Query.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | import java.sql.Connection; 21 | 22 | import org.datagear.util.QueryResultSet; 23 | 24 | /** 25 | * 查询。 26 | * 27 | * @author datagear@163.com 28 | * 29 | */ 30 | public interface Query 31 | { 32 | /** 33 | * 执行查询并返回结果。 34 | * 35 | * @param cn 36 | * @return 37 | * @throws Throwable 38 | */ 39 | QueryResultSet execute(Connection cn) throws Throwable; 40 | } 41 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/TextDataExportListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 文本导出监听器。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface TextDataExportListener extends DataExportListener 27 | { 28 | /** 29 | * 读取列值出现异常时导出文本值被设置为{@code null}。 30 | * 31 | * @param dataIndex 32 | * @param columnName 33 | * @param e 34 | */ 35 | void onSetNullTextValue(DataIndex dataIndex, String columnName, DataExchangeException e); 36 | } 37 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/ValueDataImportListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange; 19 | 20 | /** 21 | * 值导入监听器。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public interface ValueDataImportListener extends DataImportListener 27 | { 28 | /** 29 | * {@code columnValue}非法时列值被设置为{@code null}。 30 | * 31 | * @param dataIndex 32 | * @param columnName 33 | * @param columnValue 34 | * @param e 35 | */ 36 | void onSetNullColumnValue(DataIndex dataIndex, String columnName, Object columnValue, DataExchangeException e); 37 | } 38 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/main/java/org/datagear/dataexchange/support/JsonDataFormat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.dataexchange.support; 19 | 20 | /** 21 | * JSON数据格式。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public enum JsonDataFormat 27 | { 28 | /** 表对象,格式为:{"table_name" : [{...}, {...}]} */ 29 | TABLE_OBJECT, 30 | 31 | /** 行数组:格式为:[{...}, {...}] */ 32 | ROW_ARRAY 33 | } 34 | -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/BatchDataExchangeServiceTest_1.csv: -------------------------------------------------------------------------------- 1 | ID,NAME 2 | 1,NAME-1 3 | 2,NAME-2 4 | 3,NAME-3 -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/BatchDataExchangeServiceTest_2.csv: -------------------------------------------------------------------------------- 1 | ID,NAME 2 | 4,NAME-4 3 | 5,NAME-5 4 | 6,NAME-6 -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/CsvDataExportServiceTest.csv: -------------------------------------------------------------------------------- 1 | ID,NAME,COL_DATE,COL_DATETIME,COL_TIME,COL_TIMESTAMP,COL_BLOB,COL_CLOB 2 | 1,NAME-1,2019-01-01,2019-01-01 11:11:11,09:35:20,2019-01-01 12:12:12,0xffd1,clob-content-1 3 | 2,NAME-2,2019-01-02,2019-01-02 11:11:11,09:35:21,2019-01-02 12:12:12,0xffd2,clob-content-2 4 | 3,NAME-3,2019-01-03,2019-01-03 11:11:11,09:35:22,2019-01-03 12:12:12,0xffd3,clob-content-3 -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/CsvDataImportServiceTest__ExceptionResolve.csv: -------------------------------------------------------------------------------- 1 | ID,NAME 2 | 1,NAME-1 3 | NOT-NUMBER,NAME-2 4 | 3,NAME-3 -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/CsvDataImportServiceTest_ignoreInexistentColumn.csv: -------------------------------------------------------------------------------- 1 | ID,NAME,INEXISTENT_COLUMN 2 | 1,NAME-1,A 3 | 2,NAME-2,B 4 | 3,NAME-3,C -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/CsvDataImportServiceTest_unsigned_number.csv: -------------------------------------------------------------------------------- 1 | NAME,V_TINYINT,V_SMALLINT,V_MEDIUMINT,V_INTEGER,V_BIGINT,V_FLOAT,V_REAL,V_DOUBLE,V_DECIMAL 2 | TEST-IN-RANGE,6,600,6000,60000,600000,6.66,6.66,6.66,6.66 3 | TEST-OUT-RANGE,255,65535,16777215,4294967295,18446744073709551615,6.66,6.66,6.66,6.66 -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/ExcelDataImportServiceTest.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/ExcelDataImportServiceTest.xls -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/ExcelDataImportServiceTest.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/ExcelDataImportServiceTest.xlsx -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/ExcelDataImportServiceTest_inlineStr.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/ExcelDataImportServiceTest_inlineStr.xlsx -------------------------------------------------------------------------------- /datagear-dataexchange/src/test/resources/org/datagear/dataexchange/support/JsonDataImportServiceTest_row_array.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "ID": 1, 4 | "NAME": "NAME-1", 5 | "COL_DATE": "2019-01-01", 6 | "COL_DATETIME": "2019-01-01 11:11:11", 7 | "COL_TIME": "09:35:20", 8 | "COL_TIMESTAMP": "2019-01-01 12:12:12", 9 | "COL_BLOB": "0xffd1", 10 | "COL_CLOB": "clob-content-1" 11 | }, 12 | { 13 | "ID": "2", 14 | "NAME": "NAME-2", 15 | "COL_DATE": "2019-01-02", 16 | "COL_DATETIME": "2019-01-02 11:11:12", 17 | "COL_TIME": "09:35:21", 18 | "COL_TIMESTAMP": "2019-01-02 12:12:13", 19 | "COL_BLOB": "0xffd2", 20 | "COL_CLOB": "clob-content-2" 21 | }, 22 | { 23 | "ID": "3", 24 | "NAME": "NAME-3" 25 | } 26 | ] -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/domain/AbstractStringIdEntity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.domain; 19 | 20 | /** 21 | * 抽象字符串ID实体。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public abstract class AbstractStringIdEntity extends AbstractEntity 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public AbstractStringIdEntity() 31 | { 32 | super(); 33 | } 34 | 35 | public AbstractStringIdEntity(String id) 36 | { 37 | super(id); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/domain/CreateTimeEntity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.domain; 19 | 20 | import java.util.Date; 21 | 22 | /** 23 | * 带有创建时间的实体。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface CreateTimeEntity 29 | { 30 | /** 31 | * 获取创建时间。 32 | * 33 | * @return 34 | */ 35 | Date getCreateTime(); 36 | 37 | /** 38 | * 设置创建时间。 39 | * 40 | * @param createTime 41 | */ 42 | void setCreateTime(Date createTime); 43 | } 44 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/domain/CreateUserEntity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.domain; 19 | 20 | /** 21 | * 带有创建用户信息的实体。 22 | * 23 | * @author datagear@163.com 24 | */ 25 | public interface CreateUserEntity extends CreateTimeEntity 26 | { 27 | /** 28 | * 获取创建用户。 29 | * 30 | * @return 31 | */ 32 | User getCreateUser(); 33 | 34 | /** 35 | * 设置创建用户。 36 | * 37 | * @param user 38 | */ 39 | void setCreateUser(User user); 40 | } 41 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/domain/Entity.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.domain; 19 | 20 | import java.io.Serializable; 21 | 22 | /** 23 | * 实体。 24 | * 25 | * @author datagear@163.com 26 | * 27 | * @param 28 | */ 29 | public interface Entity extends Serializable 30 | { 31 | /** ID属性名 */ 32 | public static final String ID_PROP_NAME = "id"; 33 | 34 | /** 35 | * 获取ID。 36 | * 37 | * @return 38 | */ 39 | ID getId(); 40 | 41 | /** 42 | * 设置ID。 43 | * 44 | * @param id 45 | */ 46 | void setId(ID id); 47 | } 48 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/service/AnalysisProjectAuthorizationListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.service; 19 | 20 | import org.datagear.management.domain.AnalysisProject; 21 | 22 | /** 23 | * {@linkplain AnalysisProject}授权监听器。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface AnalysisProjectAuthorizationListener 29 | { 30 | /** 31 | * 指定ID的{@linkplain AnalysisProject}授权已更新。 32 | * 33 | * @param analysisProjects 34 | */ 35 | void authorizationUpdated(String... analysisProjects); 36 | 37 | } 38 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/service/AnalysisProjectService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.service; 19 | 20 | import org.datagear.management.domain.AnalysisProject; 21 | 22 | /** 23 | * {@linkplain AnalysisProject}业务服务接口。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface AnalysisProjectService 29 | extends DataPermissionEntityService, CreateUserEntityService 30 | { 31 | 32 | } 33 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/service/DashboardShareSetService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.service; 19 | 20 | import org.datagear.management.domain.DashboardShareSet; 21 | 22 | /** 23 | * {@linkplain DashboardShareSet}业务服务接口。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface DashboardShareSetService extends EntityService 29 | { 30 | /** 31 | * 保存。 32 | *

33 | * 插入或更新。 34 | *

35 | * 36 | * @param entity 37 | */ 38 | void save(DashboardShareSet entity); 39 | } 40 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/service/DtbsSourceService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.service; 19 | 20 | import org.datagear.management.domain.DtbsSource; 21 | 22 | /** 23 | * {@linkplain DtbsSource}业务服务接口。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface DtbsSourceService extends DataPermissionEntityService, CreateUserEntityService 29 | { 30 | } 31 | -------------------------------------------------------------------------------- /datagear-management/src/main/java/org/datagear/management/service/FileSourceService.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.management.service; 19 | 20 | import org.datagear.management.domain.FileSource; 21 | 22 | /** 23 | * {@linkplain FileSource}业务服务接口。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface FileSourceService 29 | extends DataPermissionEntityService, CreateUserEntityService 30 | { 31 | 32 | } 33 | -------------------------------------------------------------------------------- /datagear-management/src/main/resources/org/datagear/management/mapper/AnalysisProjectAwareQueryPmsnMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 12 | 13 | 14 | SELECT 15 | T.DATA_ID as AP_ID, 16 | T.DATA_PERMISSION 17 | FROM 18 | ( 19 | 20 | 21 | 22 | ) T 23 | WHERE 24 | T.DATA_PERMISSION >= ${DP_MIN_READ_PERMISSION} 25 | 26 | 27 | -------------------------------------------------------------------------------- /datagear-management/src/main/resources/org/datagear/management/mapper/DataSetEntityMapper_CsvValue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | INSERT INTO DATAGEAR_DATA_SET_CSV_VALUE 8 | ( 9 | DS_ID, DS_VALUE, DS_NAME_ROW 10 | ) 11 | VALUES 12 | ( 13 | #{entity.id}, #{entity.value}, #{entity.nameRow} 14 | ) 15 | 16 | 17 | 18 | UPDATE DATAGEAR_DATA_SET_CSV_VALUE SET 19 | DS_VALUE = #{entity.value}, 20 | DS_NAME_ROW = #{entity.nameRow} 21 | WHERE 22 | DS_ID = #{entity.id} 23 | 24 | 25 | 37 | 38 | -------------------------------------------------------------------------------- /datagear-management/src/main/resources/org/datagear/management/mapper/DataSetEntityMapper_JsonValue.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | INSERT INTO DATAGEAR_DATA_SET_JSON_VALUE 8 | ( 9 | DS_ID, DS_VALUE 10 | ) 11 | VALUES 12 | ( 13 | #{entity.id}, #{entity.value} 14 | ) 15 | 16 | 17 | 18 | UPDATE DATAGEAR_DATA_SET_JSON_VALUE SET 19 | DS_VALUE = #{entity.value} 20 | WHERE 21 | DS_ID = #{entity.id} 22 | 23 | 24 | 35 | 36 | -------------------------------------------------------------------------------- /datagear-management/src/main/resources/org/datagear/management/mapper/commonSqls.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ${_pagingQueryHead} 8 | 9 | 10 | 11 | ${_pagingQueryFoot} 12 | 13 | 14 | 15 | 16 | ORDER BY ${queryOrder} 17 | 18 | 19 | 20 | 21 | 22 | 23 | USR.USER_NAME AS ${_iq_}createUser.name${_iq_}, 24 | (CASE 25 | WHEN USR.USER_ID IS NULL THEN 'ANONYMOUS' 26 | WHEN USR.USER_REAL_NAME IS NULL THEN USR.USER_NAME 27 | WHEN USR.USER_REAL_NAME = '' THEN USR.USER_NAME 28 | ELSE USR.USER_REAL_NAME 29 | END) AS ${_iq_}createUser.realName${_iq_}, 30 | (CASE WHEN USR.USER_IS_ADMIN IS NULL THEN '0' ELSE USR.USER_IS_ADMIN END) AS ${_iq_}createUser.admin${_iq_}, 31 | (CASE WHEN USR.USER_ID IS NULL THEN '1' ELSE '0' END) AS ${_iq_}createUser.anonymous${_iq_} 32 | 33 | -------------------------------------------------------------------------------- /datagear-meta/src/main/java/org/datagear/meta/PrimaryKey.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.meta; 19 | 20 | /** 21 | * 主键。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class PrimaryKey extends AbstractKey 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public PrimaryKey() 31 | { 32 | super(); 33 | } 34 | 35 | public PrimaryKey(String[] columnNames) 36 | { 37 | super(columnNames); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-meta/src/main/java/org/datagear/meta/SearchableType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.meta; 19 | 20 | import java.sql.DatabaseMetaData; 21 | 22 | /** 23 | * 可搜索类型(WHERE条件类型)。 24 | *

25 | * 参考{@linkplain DatabaseMetaData#getTypeInfo()}结果集{@code SEARCHABLE}列说明。 26 | *

27 | * 28 | * @author datagear@163.com 29 | * 30 | */ 31 | public enum SearchableType 32 | { 33 | /** 不可用于WHERE */ 34 | NO, 35 | 36 | /** 仅可用于WHERE中的LIKE */ 37 | ONLY_LIKE, 38 | 39 | /** 仅不可用于WHERE中的LIKE */ 40 | EXPCEPT_LIKE, 41 | 42 | /** 可用于WHERE中的任何情况 */ 43 | ALL 44 | } 45 | -------------------------------------------------------------------------------- /datagear-meta/src/main/java/org/datagear/meta/SimpleTable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.meta; 19 | 20 | /** 21 | * 简单表元信息。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class SimpleTable extends AbstractTable 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public SimpleTable() 31 | { 32 | super(); 33 | } 34 | 35 | public SimpleTable(String name, String type) 36 | { 37 | super(name, type); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-meta/src/main/java/org/datagear/meta/UniqueKey.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.meta; 19 | 20 | /** 21 | * 唯一键。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class UniqueKey extends AbstractKey 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public UniqueKey() 31 | { 32 | super(); 33 | } 34 | 35 | public UniqueKey(String[] columnNames) 36 | { 37 | super(columnNames); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-meta/src/main/java/org/datagear/meta/resolver/DevotedDBMetaResolver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.meta.resolver; 19 | 20 | import org.datagear.connection.ConnectionSensor; 21 | 22 | /** 23 | * 专职{@linkplain DBMetaResolver}。 24 | *

25 | * 此类继承自{@linkplain DBMetaResolver}的所有方法仅在{@linkplain #supports(java.sql.Connection)}返回{@code true}时可用。 26 | *

27 | * 28 | * @author datagear@163.com 29 | * 30 | */ 31 | public interface DevotedDBMetaResolver extends DBMetaResolver, ConnectionSensor 32 | { 33 | } 34 | -------------------------------------------------------------------------------- /datagear-meta/src/main/java/org/datagear/meta/resolver/WildcardDevotedDBMetaResolver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.meta.resolver; 19 | 20 | import java.sql.Connection; 21 | 22 | /** 23 | * 通配{@linkplain DevotedDBMetaResolver}。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public class WildcardDevotedDBMetaResolver extends AbstractDevotedDBMetaResolver 29 | { 30 | public WildcardDevotedDBMetaResolver() 31 | { 32 | super(); 33 | } 34 | 35 | @Override 36 | public boolean supports(Connection cn) 37 | { 38 | return true; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/DialectBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence; 19 | 20 | import java.sql.Connection; 21 | 22 | import org.datagear.connection.ConnectionSensor; 23 | 24 | /** 25 | * 数据库方言构建器。 26 | * 27 | * @author datagear@163.com 28 | * 29 | */ 30 | public interface DialectBuilder extends ConnectionSensor 31 | { 32 | /** 33 | * 构建{@linkplain Dialect}。 34 | * 35 | * @param cn 36 | * @return 37 | * @throws DialectException 38 | */ 39 | Dialect build(Connection cn) throws DialectException; 40 | } 41 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/DialectSource.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence; 19 | 20 | import java.sql.Connection; 21 | 22 | /** 23 | * {@linkplain Dialect}源。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface DialectSource 29 | { 30 | /** 31 | * 获取给定数据库连接对应的{@linkplain Dialect}。 32 | * 33 | * @param cn 34 | * @return 35 | * @throws DialectException 36 | */ 37 | Dialect getDialect(Connection cn) throws DialectException; 38 | } 39 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/Paging.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence; 19 | 20 | /** 21 | * 分页信息。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class Paging extends org.datagear.util.query.Paging 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public Paging() 31 | { 32 | super(); 33 | } 34 | 35 | public Paging(int page) 36 | { 37 | super(page); 38 | } 39 | 40 | public Paging(int page, int pageSize) 41 | { 42 | super(page, pageSize); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/PagingData.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence; 19 | 20 | /** 21 | * 分页数据。 22 | * 23 | * @author datagear@163.com 24 | * 25 | * @param 26 | */ 27 | public class PagingData extends org.datagear.util.query.PagingData 28 | { 29 | public PagingData() 30 | { 31 | super(); 32 | } 33 | 34 | public PagingData(int page, long total) 35 | { 36 | super(page, total); 37 | } 38 | 39 | public PagingData(int page, long total, int pageSize) 40 | { 41 | super(page, total, pageSize); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/Row.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence; 19 | 20 | import java.util.HashMap; 21 | import java.util.Map; 22 | 23 | /** 24 | * 行对象。 25 | * 26 | * @author datagear@163.com 27 | * 28 | */ 29 | public class Row extends HashMap 30 | { 31 | private static final long serialVersionUID = 1L; 32 | 33 | public Row() 34 | { 35 | super(); 36 | } 37 | 38 | public Row(Map m) 39 | { 40 | super(m); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/RowMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence; 19 | 20 | import java.sql.Connection; 21 | import java.sql.ResultSet; 22 | 23 | import org.datagear.meta.Table; 24 | 25 | /** 26 | * {@linkplain ResultSet}至{@linkplain Row}行映射器。 27 | * 28 | * @author datagear@163.com 29 | * 30 | */ 31 | public interface RowMapper 32 | { 33 | /** 34 | * 将结果集行映射为{@linkplain Row}。 35 | * 36 | * @param cn 37 | * @param table 38 | * @param rs 39 | * @param rowIndex 行号,以{@code 1}开始 40 | * @return 41 | * @throws RowMapperException 42 | */ 43 | Row map(Connection cn, Table table, ResultSet rs, int rowIndex) throws RowMapperException; 44 | } 45 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/support/AbstractSqlParamValueMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence.support; 19 | 20 | import org.datagear.persistence.SqlParamValueMapper; 21 | 22 | /** 23 | * 抽象{@linkplain SqlParamValueMapper}。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public abstract class AbstractSqlParamValueMapper extends PersistenceSupport implements SqlParamValueMapper 29 | { 30 | public AbstractSqlParamValueMapper() 31 | { 32 | super(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /datagear-persistence/src/main/java/org/datagear/persistence/support/expression/VariableExpressionBean.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.persistence.support.expression; 19 | 20 | /** 21 | * 用于变量表达式求值的Bean。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class VariableExpressionBean 27 | { 28 | private int index; 29 | 30 | public VariableExpressionBean() 31 | { 32 | super(); 33 | } 34 | 35 | public VariableExpressionBean(int index) 36 | { 37 | super(); 38 | this.index = index; 39 | } 40 | 41 | public int getIndex() 42 | { 43 | return index; 44 | } 45 | 46 | public void setIndex(int index) 47 | { 48 | this.index = index; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /datagear-util/src/main/java/org/datagear/util/CopyFileFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.util; 19 | 20 | import java.io.File; 21 | 22 | /** 23 | * 拷贝文件过滤器。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | @FunctionalInterface 29 | public interface CopyFileFilter 30 | { 31 | /** 32 | * 是否允许拷贝。 33 | * 34 | * @param from 35 | * 文件、目录 36 | * @param to 37 | * 文件、目录,可能还不存在 38 | * @return 39 | */ 40 | boolean accept(File from, File to); 41 | } 42 | -------------------------------------------------------------------------------- /datagear-util/src/main/java/org/datagear/util/KeyValuePair.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.util; 19 | 20 | /** 21 | * 键值对象。 22 | * 23 | * @author datagear@163.com 24 | * 25 | * @param 26 | * @param 27 | */ 28 | public interface KeyValuePair 29 | { 30 | /** 31 | * 获取键。 32 | * 33 | * @return 34 | */ 35 | K getKey(); 36 | 37 | /** 38 | * 获取值。 39 | * 40 | * @return 41 | */ 42 | V getValue(); 43 | } 44 | -------------------------------------------------------------------------------- /datagear-util/src/main/java/org/datagear/util/resource/ConnectionFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.util.resource; 19 | 20 | import java.sql.Connection; 21 | 22 | /** 23 | * 数据库连接资源工厂。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface ConnectionFactory extends ResourceFactory 29 | { 30 | } 31 | -------------------------------------------------------------------------------- /datagear-util/src/main/java/org/datagear/util/resource/ResourceFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.util.resource; 19 | 20 | /** 21 | * 资源工厂。 22 | *

23 | * 此类用于获取、释放资源。 24 | *

25 | * 26 | * @author datagear@163.com 27 | * 28 | * @param 29 | */ 30 | public interface ResourceFactory 31 | { 32 | /** 33 | * 获取资源。 34 | * 35 | * @return 36 | * @throws Exception 37 | */ 38 | T get() throws Exception; 39 | 40 | /** 41 | * 释放资源。 42 | * 43 | * @param resource 44 | * @throws Exception 45 | */ 46 | void release(T resource) throws Exception; 47 | } 48 | -------------------------------------------------------------------------------- /datagear-util/src/main/java/org/datagear/util/sqlvalidator/SqlValidator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.util.sqlvalidator; 19 | 20 | /** 21 | * SQL校验器。 22 | *

23 | * 校验SQL语句对于指定{@linkplain DatabaseProfile}是否合法,比如是否包含不允许出现的关键字。 24 | *

25 | * 26 | * @author datagear@163.com 27 | * 28 | */ 29 | public interface SqlValidator 30 | { 31 | /** 32 | * 校验。 33 | * 34 | * @param sql 35 | * @param profile 36 | * @return 37 | */ 38 | SqlValidation validate(String sql, DatabaseProfile profile); 39 | } 40 | -------------------------------------------------------------------------------- /datagear-util/src/test/java/org/datagear/util/IDUtilTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.util; 19 | 20 | import org.junit.Test; 21 | 22 | /** 23 | * {@linkplain IDUtil}单元测试类。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public class IDUtilTest 29 | { 30 | @Test 31 | public void randomIdOnTime20Test() 32 | { 33 | for (int i = 0; i < 100; i++) 34 | { 35 | String id = IDUtil.randomIdOnTime20(); 36 | System.out.println(id); 37 | } 38 | } 39 | 40 | @Test 41 | public void randomTest() 42 | { 43 | for (int i = 0; i < 100; i++) 44 | { 45 | String id = IDUtil.random(20); 46 | System.out.println(id); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /datagear-util/src/test/resources/org/datagear/util/SqlScriptParserTest.sql: -------------------------------------------------------------------------------- 1 | 2 | --comment 3 | select 4 | * 5 | from 6 | t_order 7 | ; 8 | 9 | 10 | 11 | select * from t_product;delete 12 | 13 | from 14 | t_user; 15 | 16 | --comment 17 | 18 | update 19 | 20 | --comment 21 | 22 | t_user 23 | 24 | 25 | set name = '3'; 26 | 27 | --@delimiter --; 28 | select ; from 29 | t_user; 30 | where id = 3 31 | --; 32 | 33 | --@delimiter ; 34 | select * from a;select * from b; 35 | select * from c; 36 | 37 | 38 | --@delimiter /*d*/ 39 | select * from a/*d*/select * from b/*d*/ 40 | select * from c 41 | -- 42 | /*d*/ 43 | 44 | -------------------------------------------------------------------------------- /datagear-util/src/test/resources/org/datagear/util/version/changelog.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | --注释0 4 | 5 | --v1.0.0 6 | 日志0 7 | 日志1 8 | 9 | --注释1 10 | 11 | --v2.0.0 12 | 日志2 13 | 日志3 14 | 日志4 -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/controller/ControllerForm.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.controller; 19 | 20 | import java.io.Serializable; 21 | 22 | /** 23 | * 控制器表单。 24 | * 25 | * @author datagear@163.com 26 | * 27 | */ 28 | public interface ControllerForm extends Serializable 29 | { 30 | 31 | } 32 | -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/controller/FileNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.controller; 19 | 20 | /** 21 | * 文件未找到异常。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class FileNotFoundException extends ControllerException 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | private String fileName; 31 | 32 | public FileNotFoundException(String fileName) 33 | { 34 | super("No file named [" + fileName + "] is found"); 35 | 36 | this.fileName = fileName; 37 | } 38 | 39 | public String getFileName() 40 | { 41 | return fileName; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/security/StandardPasswordEncoderPrinter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.security; 19 | 20 | import org.springframework.security.crypto.password.StandardPasswordEncoder; 21 | 22 | @SuppressWarnings("deprecation") 23 | public class StandardPasswordEncoderPrinter 24 | { 25 | private static StandardPasswordEncoder standardPasswordEncoder = new StandardPasswordEncoder(); 26 | 27 | public static void main(String[] args) 28 | { 29 | System.out.println(standardPasswordEncoder.encode("admin")); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/util/msg/ExceptionMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.util.msg; 19 | 20 | /** 21 | * 异常消息。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class ExceptionMessage extends TextMessage 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public ExceptionMessage() 31 | { 32 | super(); 33 | } 34 | 35 | public ExceptionMessage(String content) 36 | { 37 | super(content); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/util/msg/FinishMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.util.msg; 19 | 20 | /** 21 | * 完成消息。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class FinishMessage extends TextMessage 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public FinishMessage() 31 | { 32 | super(); 33 | } 34 | 35 | public FinishMessage(String content) 36 | { 37 | super(content); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/util/msg/StartMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.util.msg; 19 | 20 | /** 21 | * 开始消息。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class StartMessage extends TextMessage 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public StartMessage() 31 | { 32 | super(); 33 | } 34 | 35 | public StartMessage(String content) 36 | { 37 | super(content); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-web/src/main/java/org/datagear/web/util/msg/SuccessMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.web.util.msg; 19 | 20 | /** 21 | * 成功消息。 22 | * 23 | * @author datagear@163.com 24 | * 25 | */ 26 | public class SuccessMessage extends TextMessage 27 | { 28 | private static final long serialVersionUID = 1L; 29 | 30 | public SuccessMessage() 31 | { 32 | super(); 33 | } 34 | 35 | public SuccessMessage(String content) 36 | { 37 | super(content); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.env.PropertySourceLoader=org.datagear.web.config.support.EncodingPropertySourceLoader -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInDriverEntity.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInDriverEntity.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.horizontal.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.horizontal.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.angle.stack.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.angle.stack.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.angle.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.angle.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.radius.stack.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.radius.stack.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.radius.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.polar.radius.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.stack.horizontal.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.stack.horizontal.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.stack.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.stack.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.bar.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.boxplot.horizontal.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.boxplot.horizontal.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.boxplot.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.boxplot.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.candlestick.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.candlestick.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.custom.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.custom.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.form.select.multiple.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.form.select.multiple.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.form.select.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.form.select.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.funnel.pyramid.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.funnel.pyramid.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.funnel.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.funnel.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.gauge.ring.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.gauge.ring.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.gauge.step.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.gauge.step.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.gauge.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.gauge.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.graph.circular.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.graph.circular.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.graph.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.graph.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.heatmap.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.heatmap.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.label.hideName.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.label.hideName.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.label.valueFirst.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.label.valueFirst.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.label.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.label.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.smooth.stack.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.smooth.stack.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.smooth.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.smooth.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.stack.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.stack.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.area.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.smooth.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.smooth.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.step.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.step.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.line.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.liquidfill.diamond.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.liquidfill.diamond.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.liquidfill.rect.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.liquidfill.rect.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.liquidfill.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.liquidfill.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.flyline.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.flyline.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.graph.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.graph.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.heatmap.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.heatmap.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.lines.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.lines.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.ripple.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.ripple.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.scatter.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.map.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.smooth.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.smooth.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.vertical.smooth.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.vertical.smooth.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.vertical.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.vertical.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.parallel.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.h.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.h.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.h.star.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.h.star.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.h.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.h.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.star.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.star.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.progess.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pictorialBar.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.nest.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.nest.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.ring.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.ring.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.rose.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.rose.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.pie.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.radar.circle.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.radar.circle.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.radar.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.radar.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sankey.vertical.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sankey.vertical.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sankey.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sankey.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.coord.ripple.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.coord.ripple.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.coord.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.coord.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.ripple.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.ripple.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.scatter.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sunburst.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.sunburst.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.table.v2.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.table.v2.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.table.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.table.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.themeRiver.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.themeRiver.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.bt.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.bt.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.rectangle.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.rectangle.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.rl.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.rl.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.tb.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.tb.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.tree.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.wordcloud.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/builtInHtmlChartPlugins/org.datagear.chart.wordcloud.zip -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/css/dashboardEditor.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | @CHARSET "UTF-8"; 19 | 20 | /*看板可视编辑页面样式*/ 21 | 22 | .dg-show-ve{} 23 | .dg-show-ve .dg-show-ve-selected{ 24 | /*避免元素本身设置了透明度导致选中效果不明显*/ 25 | opacity: 1 !important; 26 | filter: Alpha(Opacity=100) !important; 27 | } 28 | .dg-show-ve .dg-show-ve-new-insert{} 29 | .dg-show-ve .dg-show-ve-new-insert:empty{ 30 | /*设置最小尺寸,避免无法点击选中*/ 31 | min-width: 2rem; 32 | min-height: 2rem; 33 | } 34 | .dg-show-ve.dg-show-ve-boundary{} -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/image/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/image/favicon.ico -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/DataTables-1.11.3/readme.txt: -------------------------------------------------------------------------------- 1 | https://datatables.net/download/ 2 | 3 | Choose a styling framework 4 | jQuery UI 5 | 6 | Select packages 7 | DataTables 8 | 9 | Extensions 10 | AutoFill 11 | ColReorder 12 | FixedColumns 13 | FixedHeader 14 | KeyTable 15 | Responsive 16 | RowGroup 17 | RowReorder 18 | Scroller 19 | Select 20 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) { 13 | if (prev == CodeMirror.Init) prev = false; 14 | if (prev && !val) 15 | cm.removeOverlay("trailingspace"); 16 | else if (!prev && val) 17 | cm.addOverlay({ 18 | token: function(stream) { 19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {} 20 | if (i > stream.pos) { stream.pos = i; return null; } 21 | stream.pos = l; 22 | return "trailingspace"; 23 | }, 24 | name: "trailingspace" 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/addon/fold/foldgutter.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-foldmarker { 2 | color: blue; 3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 4 | font-family: arial; 5 | line-height: .3; 6 | cursor: pointer; 7 | } 8 | .CodeMirror-foldgutter { 9 | width: .7em; 10 | } 11 | .CodeMirror-foldgutter-open, 12 | .CodeMirror-foldgutter-folded { 13 | cursor: pointer; 14 | } 15 | .CodeMirror-foldgutter-open:after { 16 | content: "\25BE"; 17 | } 18 | .CodeMirror-foldgutter-folded:after { 19 | content: "\25B8"; 20 | } 21 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/addon/hint/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | } 23 | 24 | .CodeMirror-hint { 25 | margin: 0; 26 | padding: 0 4px; 27 | border-radius: 2px; 28 | white-space: pre; 29 | color: black; 30 | cursor: pointer; 31 | } 32 | 33 | li.CodeMirror-hint-active { 34 | background: #08f; 35 | color: white; 36 | } 37 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/addon/search/matchesonscrollbar.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-search-match { 2 | background: gold; 3 | border-top: 1px solid orange; 4 | border-bottom: 1px solid orange; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/mode/css/gss_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function() { 5 | "use strict"; 6 | 7 | var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-gss"); 8 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "gss"); } 9 | 10 | MT("atComponent", 11 | "[def @component] {", 12 | "[tag foo] {", 13 | " [property color]: [keyword black];", 14 | "}", 15 | "}"); 16 | 17 | })(); 18 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/pkg/codemirror-bundle.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | } 23 | 24 | .CodeMirror-hint { 25 | margin: 0; 26 | padding: 0 4px; 27 | border-radius: 2px; 28 | white-space: pre; 29 | color: black; 30 | cursor: pointer; 31 | } 32 | 33 | li.CodeMirror-hint-active { 34 | background: #08f; 35 | color: white; 36 | } 37 | .CodeMirror-foldmarker { 38 | color: blue; 39 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 40 | font-family: arial; 41 | line-height: .3; 42 | cursor: pointer; 43 | } 44 | .CodeMirror-foldgutter { 45 | width: .7em; 46 | } 47 | .CodeMirror-foldgutter-open, 48 | .CodeMirror-foldgutter-folded { 49 | cursor: pointer; 50 | } 51 | .CodeMirror-foldgutter-open:after { 52 | content: "\25BE"; 53 | } 54 | .CodeMirror-foldgutter-folded:after { 55 | content: "\25B8"; 56 | } 57 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/codemirror-5.64.0/pkg/readme-pkg.txt: -------------------------------------------------------------------------------- 1 | Package by : org.datagear.web.util.packager.CodeMirrorPackager -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/jquery-validation-1.19.3/localization/messages_zh.js: -------------------------------------------------------------------------------- 1 | (function( factory ) { 2 | if ( typeof define === "function" && define.amd ) { 3 | define( ["jquery", "../jquery.validate"], factory ); 4 | } else if (typeof module === "object" && module.exports) { 5 | module.exports = factory( require( "jquery" ) ); 6 | } else { 7 | factory( jQuery ); 8 | } 9 | }(function( $ ) { 10 | 11 | /* 12 | * Translated default messages for the jQuery validation plugin. 13 | * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) 14 | */ 15 | $.extend( $.validator.messages, { 16 | required: "这是必填字段", 17 | remote: "请修正此字段", 18 | email: "请输入有效的电子邮件地址", 19 | url: "请输入有效的网址", 20 | date: "请输入有效的日期", 21 | dateISO: "请输入有效的日期 (YYYY-MM-DD)", 22 | number: "请输入有效的数字", 23 | digits: "只能输入数字", 24 | creditcard: "请输入有效的信用卡号码", 25 | equalTo: "你的输入不相同", 26 | extension: "请输入有效的后缀", 27 | maxlength: $.validator.format( "最多可以输入 {0} 个字符" ), 28 | minlength: $.validator.format( "最少要输入 {0} 个字符" ), 29 | rangelength: $.validator.format( "请输入长度在 {0} 到 {1} 之间的字符串" ), 30 | range: $.validator.format( "请输入范围在 {0} 到 {1} 之间的数值" ), 31 | step: $.validator.format( "请输入 {0} 的整数倍值" ), 32 | max: $.validator.format( "请输入不大于 {0} 的数值" ), 33 | min: $.validator.format( "请输入不小于 {0} 的数值" ) 34 | } ); 35 | return $; 36 | })); -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/jquery-validation-1.19.3/localization/messages_zh.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery Validation Plugin - v1.19.3 - 1/9/2021 2 | * https://jqueryvalidation.org/ 3 | * Copyright (c) 2021 Jörn Zaefferer; Licensed MIT */ 4 | !function(a){"function"==typeof define&&define.amd?define(["jquery","../jquery.validate.min"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){return a.extend(a.validator.messages,{required:"这是必填字段",remote:"请修正此字段",email:"请输入有效的电子邮件地址",url:"请输入有效的网址",date:"请输入有效的日期",dateISO:"请输入有效的日期 (YYYY-MM-DD)",number:"请输入有效的数字",digits:"只能输入数字",creditcard:"请输入有效的信用卡号码",equalTo:"你的输入不相同",extension:"请输入有效的后缀",maxlength:a.validator.format("最多可以输入 {0} 个字符"),minlength:a.validator.format("最少要输入 {0} 个字符"),rangelength:a.validator.format("请输入长度在 {0} 到 {1} 之间的字符串"),range:a.validator.format("请输入范围在 {0} 到 {1} 之间的数值"),step:a.validator.format("请输入 {0} 的整数倍值"),max:a.validator.format("请输入不大于 {0} 的数值"),min:a.validator.format("请输入不小于 {0} 的数值")}),a}); -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeflex@3.3.1/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016-2023 PrimeTek 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeflex@3.3.1/README.md: -------------------------------------------------------------------------------- 1 | Visit [https://primeflex.org](PrimeFlex) website for demos and documentation. -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018-2021 PrimeTek 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/README.md: -------------------------------------------------------------------------------- 1 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 2 | [![npm version](https://badge.fury.io/js/primeicons.svg)](https://badge.fury.io/js/primeicons) 3 | [![npm downloads](https://img.shields.io/npm/dm/primeicons.svg)](https://www.npmjs.com/package/primeicons) 4 | [![Discord Chat](https://img.shields.io/discord/557940238991753223.svg?color=7289da&label=chat&logo=discord)](https://discord.gg/gzKFYnpmCY) 5 | 6 | --- 7 | 8 | ![PrimeIcons Logo](https://www.primefaces.org/wp-content/uploads/2018/07/primeicons-logo.svg "PrimeIcons") 9 | 10 | Font Icon Library for Prime UI Libraries: [PrimeNG](https://www.primefaces.org/primeng/icons/) | [PrimeReact](https://www.primefaces.org/primereact/icons/) | [PrimeFaces](https://primefaces.org/showcase/icons.xhtml) | [PrimeVue](https://primefaces.org/primevue/icons) 11 | 12 | --- 13 | 14 | ![Icons Preview](https://www.primefaces.org/wp-content/uploads/2022/09/primeicons-6-0-list.png "PrimeIcons") 15 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.eot -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.ttf -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.woff -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/lib/primeicons@6.0.1/fonts/primeicons.woff2 -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primevue@3.34.1/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018-2023 PrimeTek 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primevue@3.34.1/readme-pkg.txt: -------------------------------------------------------------------------------- 1 | Package by : org.datagear.web.util.packager.PrimeVuePackager -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primevue@3.34.1/readme-warning.txt: -------------------------------------------------------------------------------- 1 | 注意: 2 | PrimveVue-3.35.0版本起的CSS中引入了@layer特性,只有Chrome 99+、Firefox 97+、Edge 99+才支持, 3 | 在低于这些版本的浏览器中,页面样式无法正常加载。为了兼容旧版浏览器,本项目使用了最高可用的PrimveVue-3.34.1版本, -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/lib/primevue@3.34.1/resources/primevue.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * The primevue[.min].css has been deprecated. In order not to break existing projects, it is currently included in the build as an empty file. 3 | */ -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/theme/blue/image/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/theme/blue/image/logo.png -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/theme/blue/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | :root{ 19 | --danger-color: #f44336; /*同p-error样式*/ 20 | } 21 | 22 | .logo{ 23 | background-image: url(image/logo.png); 24 | } 25 | 26 | /*滚动条*/ 27 | *::-webkit-scrollbar-thumb{ 28 | background-color: var(--surface-300); 29 | } 30 | 31 | /*代码编辑器*/ 32 | .cm-s-custom span.cm-attribute { color: var(--indigo-600); } 33 | 34 | /*企业版菜单项*/ 35 | .p-menuitem.enterprise-menuitem .p-menuitem-link span{ 36 | background-color: #FBC02D; 37 | color: #212529; 38 | } 39 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/theme/blueDark/image/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/datagear-web/src/main/resources/org/datagear/web/static/theme/blueDark/image/logo.png -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/static/theme/blueDark/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | :root{ 19 | --danger-color: #ef9a9a; /*同p-error样式*/ 20 | } 21 | 22 | .logo{ 23 | background-image: url(image/logo.png); 24 | } 25 | 26 | /*滚动条*/ 27 | *::-webkit-scrollbar-thumb{ 28 | background-color: var(--surface-200); 29 | } 30 | 31 | /*代码编辑器*/ 32 | .cm-s-custom span.cm-attribute { color: var(--blue-600); } 33 | 34 | /*企业版菜单项*/ 35 | .p-menuitem.enterprise-menuitem .p-menuitem-link span{ 36 | background-color: #FFE082; 37 | color: #121212; 38 | } 39 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/change_theme_data.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#include "include/page_import.ftl"> 20 | [ 21 | { 22 | "changeElement": "#primevueCssLink", 23 | "changeAttr": "href", 24 | "changeValue": "${contextPath}/static/lib/primevue@3.34.1/resources/themes/<@spring.theme code='primevue.cssName' />/theme.css" 25 | }, 26 | { 27 | "changeElement": "#styleCssLink", 28 | "changeAttr": "href", 29 | "changeValue": "${contextPath}/static/theme/<@spring.theme code='styleName' />/style.css?v=${clientCacheCode}" 30 | } 31 | ] -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/html_app_name_prefix.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#if !isAjaxRequest><@spring.message code='app.name' /> - -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/html_app_name_suffix.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#if !isAjaxRequest> - <@spring.message code='app.name' /> -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/html_doctype.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#if !isAjaxRequest> 20 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/html_logo.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/html_request_action_suffix.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#if requestAction??> 20 | - <@spring.message code='${requestAction}' /> 21 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_boolean_options.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 是否选项JS片段。 21 | --> 22 | 41 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_code_editor.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 代码编辑器JS片段。 21 | 22 | 依赖: 23 | page_obj.ftl 24 | 25 | --> 26 | 34 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_foot.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 页脚 21 | --> 22 |
23 | Powered by DataGear 24 |
-------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_import.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#import "/spring.ftl" as spring /> -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_simple_form.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 简单表单JS片段。 21 | 22 | 依赖: 23 | page_validation_msg.ftl 24 | 25 | --> 26 | 42 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_sql_editor.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | SQL编辑器JS片段。 21 | 22 | 依赖: 23 | page_obj.ftl 24 | page_code_editor.ftl 25 | 26 | 变量: 27 | //数据源ID,不允许为null 28 | po.getSqlEditorDtbsSourceId 29 | --> 30 | 38 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_table.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 表格JS片段。 21 | 22 | 依赖: 23 | page_manager.ftl 24 | --> 25 | 33 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_tabview.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 选项卡JS片段。 21 | --> 22 | 29 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/templates/include/page_vue_mount.ftl: -------------------------------------------------------------------------------- 1 | <#-- 2 | * 3 | * Copyright 2018-present datagear.tech 4 | * 5 | * This file is part of DataGear. 6 | * 7 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 8 | * the GNU Lesser General Public License as published by the Free Software Foundation, 9 | * either version 3 of the License, or (at your option) any later version. 10 | * 11 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 12 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 | * See the GNU Lesser General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 16 | * If not, see . 17 | * 18 | --> 19 | <#-- 20 | 执行vue挂载片段 21 | --> 22 | 29 | -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/theme/blue.properties: -------------------------------------------------------------------------------- 1 | styleName=blue 2 | primevue.cssName=saga-blue -------------------------------------------------------------------------------- /datagear-web/src/main/resources/org/datagear/web/theme/blueDark.properties: -------------------------------------------------------------------------------- 1 | styleName=blueDark 2 | primevue.cssName=vela-blue -------------------------------------------------------------------------------- /datagear-webapp/src/dist/bin/lib/readme.txt: -------------------------------------------------------------------------------- 1 | 此文件夹放置要额外加载的jar库,比如JDBC驱动库 -------------------------------------------------------------------------------- /datagear-webapp/src/dist/bin/readme.txt: -------------------------------------------------------------------------------- 1 | DataGear-v${project.version} 2 | 3 | DataGear是一款开源免费的数据可视化分析平台,自由制作任何您想要的数据看板。 4 | 5 | 系统要求: 6 | JDK 8+ 7 | 8 | 启动: 9 | Linux: 10 | ./startup.sh 11 | 12 | Windows: 13 | startup.bat 14 | 15 | 打开浏览器,输入服务地址: 16 | http://【IP地址】:50401 17 | 开始使用。 18 | 19 | 官网: 20 | http://www.datagear.tech 21 | 22 | 入门: 23 | http://www.datagear.tech/quickstart/ 24 | 25 | 文档: 26 | http://www.datagear.tech/documentation/ 27 | 28 | 源码: 29 | https://gitee.com/datagear/datagear 30 | https://github.com/datageartech/datagear 31 | -------------------------------------------------------------------------------- /datagear-webapp/src/dist/bin/shutdown.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | JAVA_HOME=$JAVA_HOME 4 | JAVA_OPTS=$JAVA_OPTS 5 | 6 | DG_ECHO_PREFIX="[DataGear] :" 7 | 8 | DG_APP_NAME="${productNameJar}" 9 | 10 | DG_APP_PID=0 11 | 12 | if [ -n "$JAVA_HOME" ]; then 13 | echo "$DG_ECHO_PREFIX using JAVA_HOME '$JAVA_HOME'" 14 | else 15 | java -version 16 | echo "" 17 | echo "$DG_ECHO_PREFIX using previous java runtime" 18 | fi 19 | 20 | readAppPID() 21 | { 22 | if [ -n "$JAVA_HOME" ]; then 23 | JAVAPS=`$JAVA_HOME/bin/jps -lv | grep "$DG_APP_NAME"` 24 | 25 | if [ -n "$JAVAPS" ]; then 26 | DG_APP_PID=`echo $JAVAPS | awk '{print $1}'` 27 | else 28 | DG_APP_PID=0 29 | fi 30 | else 31 | JAVAPS=`ps -ef | grep "$DG_APP_NAME" | grep -v grep` 32 | 33 | if [ -n "$JAVAPS" ]; then 34 | DG_APP_PID=`echo $JAVAPS | awk '{print $2}'` 35 | else 36 | DG_APP_PID=0 37 | fi 38 | fi 39 | } 40 | 41 | readAppPID 42 | 43 | if [ $DG_APP_PID -ne 0 ]; then 44 | echo "$DG_ECHO_PREFIX stopping... (PID=$DG_APP_PID)" 45 | kill -9 $DG_APP_PID 46 | if [ $? -eq 0 ]; then 47 | echo "$DG_ECHO_PREFIX stop OK" 48 | else 49 | echo "$DG_ECHO_PREFIX stop failed" 50 | fi 51 | else 52 | echo "$DG_ECHO_PREFIX application is not running" 53 | echo "$DG_ECHO_PREFIX stop failed" 54 | fi 55 | -------------------------------------------------------------------------------- /datagear-webapp/src/dist/bin/startup.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem JAVA_HOME 4 | rem DG_APP_HOME this make application can run at other path 5 | 6 | set DG_APP_NAME=${productNameJar} 7 | 8 | if "%DG_APP_HOME%" == "" goto setAppHomeAuto 9 | if not "%DG_APP_HOME%" == "" goto okAppHome 10 | 11 | :setAppHomeAuto 12 | set DG_APP_HOME=%~dp0 13 | goto okAppHome 14 | 15 | :okAppHome 16 | set DG_APP_FULL_NAME=%DG_APP_HOME%\%DG_APP_NAME% 17 | set DG_SPRING_OPTS=--spring.config.additional-location=%DG_APP_HOME%\config\application.properties 18 | 19 | if "%JAVA_HOME%" == "" goto setCmdNoJavaHome 20 | if not "%JAVA_HOME%" == "" goto setCmdHasJavaHome 21 | 22 | :setCmdNoJavaHome 23 | set DG_JAVA_CMD=java 24 | echo Using PATH env command 25 | goto run 26 | 27 | :setCmdHasJavaHome 28 | set DG_JAVA_CMD=%JAVA_HOME%\bin\java 29 | echo Using JAVA_HOME "%JAVA_HOME%" 30 | goto run 31 | 32 | :run 33 | "%DG_JAVA_CMD%" -cp %DG_APP_FULL_NAME% -Dloader.home=%DG_APP_HOME% -Dloader.path=%DG_APP_NAME%!/WEB-INF/lib-provided,%DG_APP_NAME%!/WEB-INF/lib,lib,%DG_APP_NAME%!/WEB-INF/classes org.springframework.boot.loader.PropertiesLauncher %DG_SPRING_OPTS% 34 | goto end 35 | 36 | :end 37 | -------------------------------------------------------------------------------- /datagear-webapp/src/dist/war/readme.txt: -------------------------------------------------------------------------------- 1 | DataGear-v${project.version} 2 | 3 | DataGear是一款开源免费的数据可视化分析平台,自由制作任何您想要的数据看板。 4 | 5 | 系统要求: 6 | JDK 8+ 7 | Servlet 3.1+ 8 | 9 | 官网: 10 | http://www.datagear.tech 11 | 12 | 入门: 13 | http://www.datagear.tech/quickstart/ 14 | 15 | 文档: 16 | http://www.datagear.tech/documentation/ 17 | 18 | 源码: 19 | https://gitee.com/datagear/datagear 20 | https://github.com/datageartech/datagear 21 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/java/org/datagear/webapp/config/DataSourceConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.webapp.config; 19 | 20 | import org.datagear.web.config.DataSourceConfigSupport; 21 | import org.springframework.beans.factory.annotation.Autowired; 22 | import org.springframework.context.annotation.Configuration; 23 | import org.springframework.core.env.Environment; 24 | 25 | /** 26 | * 数据源配置。 27 | * 28 | * @author datagear@163.com 29 | */ 30 | @Configuration 31 | public class DataSourceConfig extends DataSourceConfigSupport 32 | { 33 | @Autowired 34 | public DataSourceConfig(Environment environment) 35 | { 36 | super(environment); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/java/org/datagear/webapp/config/SchedulingConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.webapp.config; 19 | 20 | import org.datagear.web.config.SchedulingConfigSupport; 21 | import org.springframework.beans.factory.annotation.Autowired; 22 | import org.springframework.context.annotation.Configuration; 23 | import org.springframework.scheduling.annotation.EnableScheduling; 24 | 25 | /** 26 | * 计划任务配置。 27 | * 28 | * @author datagear@163.com 29 | * 30 | */ 31 | @Configuration 32 | @EnableScheduling 33 | public class SchedulingConfig extends SchedulingConfigSupport 34 | { 35 | @Autowired 36 | public SchedulingConfig(CoreConfig coreConfig) 37 | { 38 | super(coreConfig); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/java/org/datagear/webapp/config/SecurityConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.webapp.config; 19 | 20 | import org.datagear.web.config.SecurityConfigSupport; 21 | import org.springframework.beans.factory.annotation.Autowired; 22 | import org.springframework.context.annotation.Configuration; 23 | import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; 24 | 25 | /** 26 | * 安全配置。 27 | * 28 | * @author datagear@163.com 29 | */ 30 | @Configuration 31 | @EnableWebSecurity 32 | public class SecurityConfig extends SecurityConfigSupport 33 | { 34 | @Autowired 35 | public SecurityConfig(CoreConfig coreConfig) 36 | { 37 | super(coreConfig); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/java/org/datagear/webapp/config/ServletConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.webapp.config; 19 | 20 | import org.datagear.web.config.ServletConfigSupport; 21 | import org.springframework.beans.factory.annotation.Autowired; 22 | import org.springframework.context.annotation.Configuration; 23 | 24 | /** 25 | * Servlet配置。 26 | * 27 | * @author datagear@163.com 28 | */ 29 | @Configuration 30 | public class ServletConfig extends ServletConfigSupport 31 | { 32 | @Autowired 33 | public ServletConfig(CoreConfig coreConfig) 34 | { 35 | super(coreConfig); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/java/org/datagear/webapp/config/WebMvcRegistrationsConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present datagear.tech 3 | * 4 | * This file is part of DataGear. 5 | * 6 | * DataGear is free software: you can redistribute it and/or modify it under the terms of 7 | * the GNU Lesser General Public License as published by the Free Software Foundation, 8 | * either version 3 of the License, or (at your option) any later version. 9 | * 10 | * DataGear is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | * See the GNU Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public License along with DataGear. 15 | * If not, see . 16 | */ 17 | 18 | package org.datagear.webapp.config; 19 | 20 | import org.datagear.web.config.WebMvcRegistrationsConfigSupport; 21 | import org.springframework.context.annotation.Configuration; 22 | 23 | /** 24 | * Web配置。 25 | * 26 | * @author datagear@163.com 27 | * 28 | */ 29 | @Configuration 30 | public class WebMvcRegistrationsConfig extends WebMvcRegistrationsConfigSupport 31 | { 32 | public WebMvcRegistrationsConfig() 33 | { 34 | super(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/resources/application-war.properties: -------------------------------------------------------------------------------- 1 | #--UTF-8 file-- 2 | 3 | #----------------------------------------- 4 | #当系统作为war包部署至Servlet容器时将加载这里配置项 5 | #----------------------------------------- 6 | 7 | #清理临时目录 8 | #执行清理时间间隔 9 | cleanTempDirectory.interval=0 0 1 * * ? 10 | 11 | #日志级别 12 | #ERROR, WARN, INFO, DEBUG, TRACE 13 | logging.level.org.datagear=INFO 14 | 15 | #日志存储路径 16 | logging.file.name=${user.home}/.datagearlogs/datagear.log 17 | -------------------------------------------------------------------------------- /datagear-webapp/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | #--UTF-8 file-- 2 | 3 | #日志级别 4 | # ERROR 5 | # WARN 6 | # INFO 7 | # DEBUG 8 | # TRACE 9 | # logging.level.root=DEBUG 10 | # logging.level.org.springframework.web=DEBUG 11 | logging.level.org.datagear=DEBUG 12 | -------------------------------------------------------------------------------- /screenshot/add-sql-dataset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/add-sql-dataset.png -------------------------------------------------------------------------------- /screenshot/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/architecture.png -------------------------------------------------------------------------------- /screenshot/chart-interaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/chart-interaction.png -------------------------------------------------------------------------------- /screenshot/chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/chart.png -------------------------------------------------------------------------------- /screenshot/dashboard-edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-edit.png -------------------------------------------------------------------------------- /screenshot/dashboard-form.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-form.gif -------------------------------------------------------------------------------- /screenshot/dashboard-link-load-chart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-link-load-chart.gif -------------------------------------------------------------------------------- /screenshot/dashboard-map-chart-hierarchy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-map-chart-hierarchy.gif -------------------------------------------------------------------------------- /screenshot/dashboard-map-chart-link.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-map-chart-link.gif -------------------------------------------------------------------------------- /screenshot/dashboard-time-series-chart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-time-series-chart.gif -------------------------------------------------------------------------------- /screenshot/dashboard-visual-mode.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/dashboard-visual-mode.gif -------------------------------------------------------------------------------- /screenshot/datasource-manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/datasource-manage.png -------------------------------------------------------------------------------- /screenshot/template-006-dg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datageartech/datagear/0cde3799fad38f74d53c73e087b0e3296237e466/screenshot/template-006-dg.png -------------------------------------------------------------------------------- /test/config/jdbc.properties: -------------------------------------------------------------------------------- 1 | jdbc.url=jdbc:mysql://127.0.0.1:3306/dg_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai 2 | jdbc.user=root 3 | jdbc.password=root -------------------------------------------------------------------------------- /test/sql/others/test-hive.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE pokes 2 | ( 3 | foo INT, 4 | bar STRING 5 | ); 6 | 7 | create table if not exists t_account 8 | ( 9 | id bigint, 10 | sex tinyint COMMENT '性别', 11 | name String COMMENT '姓名', 12 | create_time timestamp, 13 | primary key(id) disable novalidate 14 | ) COMMENT '用户表' 15 | partitioned by (year string) 16 | clustered by (id) into 2 buckets 17 | row format delimited fields terminated by '\t' 18 | stored as orc TBLPROPERTIES('transactional'='true'); --------------------------------------------------------------------------------