├── jplugin-core ├── jplugin-core-ctx │ ├── .gitignore │ └── src │ │ ├── test │ │ └── java │ │ │ ├── test │ │ │ └── net │ │ │ │ └── jplugin │ │ │ │ └── core │ │ │ │ └── ctx │ │ │ │ ├── bindextension │ │ │ │ ├── IService1.java │ │ │ │ ├── Service1Impl1.java │ │ │ │ ├── Service1Impl2.java │ │ │ │ └── TestBindExtension.java │ │ │ │ ├── bind │ │ │ │ ├── IBindRuleService.java │ │ │ │ ├── IBindRuleService2.java │ │ │ │ ├── IBindRuleService3.java │ │ │ │ ├── BindRuleServiceImpl.java │ │ │ │ ├── BindTest.java │ │ │ │ └── BindRuleServiceImpl2.java │ │ │ │ ├── bindrulemethodfilter │ │ │ │ ├── IRuleService123.java │ │ │ │ ├── RuleService123.java │ │ │ │ └── TestFroRuleMethodFilter.java │ │ │ │ └── IRuleTest.java │ │ │ └── jplugincoretest │ │ │ └── testUseTransaction │ │ │ └── Plugin.java │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── ctx │ │ ├── api │ │ ├── IRuleServiceFilter.java │ │ ├── JsonRootMap.java │ │ ├── TransactionSync.java │ │ ├── RefRuleService.java │ │ ├── BindRuleServiceSet.java │ │ ├── TransactionHandler.java │ │ ├── ITransactionManagerListener.java │ │ ├── BindRuleMethodInterceptorSet.java │ │ ├── BindRuleMethodInterceptor.java │ │ ├── RedisLock_Moved.java │ │ └── BindRuleService.java │ │ ├── impl │ │ ├── RuleInvocationHandler.java │ │ ├── ServiceExtensionResolver.java │ │ └── filter4clazz │ │ │ └── RuleCallFilterDefineBean.java │ │ └── kits │ │ └── PropertyFilterKits.java ├── jplugin-core-das │ ├── .gitignore │ └── src │ │ └── main │ │ ├── java │ │ └── net │ │ │ └── jplugin │ │ │ └── core │ │ │ └── das │ │ │ ├── api │ │ │ ├── IDBSplitAlg.java │ │ │ ├── monitor │ │ │ │ ├── ConnectionContext.java │ │ │ │ ├── ResultSetContext.java │ │ │ │ ├── StatementContext.java │ │ │ │ ├── ISqlExecFilter.java │ │ │ │ └── ISqlMonitorListener.java │ │ │ ├── stat │ │ │ │ └── IStatement.java │ │ │ ├── sqlrefactor │ │ │ │ └── ISqlRefactor.java │ │ │ ├── IConnectionWrapperService.java │ │ │ ├── BasicMtBean.java │ │ │ ├── IResultDisposer.java │ │ │ ├── IDynamicDataSourceProvider.java │ │ │ ├── impl │ │ │ │ ├── DataSourceDefinition.java │ │ │ │ └── ConnStaticsKit.java │ │ │ └── PageQueryResult.java │ │ │ ├── monitor │ │ │ ├── SqlCall.java │ │ │ └── MonitorConnWrapperService.java │ │ │ ├── impl │ │ │ └── stat │ │ │ │ ├── IWhereSegment.java │ │ │ │ ├── IFromItem.java │ │ │ │ ├── StringFromItem.java │ │ │ │ ├── StringWhereSegment.java │ │ │ │ └── SubQueryWhereSegment.java │ │ │ ├── sqlrefactor │ │ │ └── SqlRefactorConnWrapperService.java │ │ │ └── kits │ │ │ └── CharacterLexer.java │ │ └── java_dds │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── das │ │ ├── spands │ │ ├── EvaluatContext.java │ │ └── EvaluateResult.java │ │ └── dds │ │ ├── impl │ │ ├── MyCallable.java │ │ ├── IStatementContextCallable.java │ │ ├── Util.java │ │ └── CallableList.java │ │ ├── api │ │ ├── IConnectionSettable.java │ │ └── RouterException.java │ │ └── kits │ │ └── SqlParserKit.java ├── jplugin-core-log │ ├── .gitignore │ └── src │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── log │ │ ├── api │ │ ├── Constants.java │ │ ├── RefLogger.java │ │ └── ILogService.java │ │ └── impl │ │ ├── LogServiceImpl4Compatible.java │ │ └── log4j.properties ├── jplugin-common-kits │ ├── .gitignore │ └── src │ │ └── main │ │ └── java │ │ ├── net │ │ └── jplugin │ │ │ └── common │ │ │ └── kits │ │ │ ├── client │ │ │ ├── ICallback.java │ │ │ └── ClientInvocationManager.java │ │ │ ├── queue │ │ │ ├── INodeOperation.java │ │ │ ├── Node.java │ │ │ └── NodeListTest.java │ │ │ ├── filter │ │ │ └── IFilter.java │ │ │ ├── YesNo.java │ │ │ ├── StartSeqKit.java │ │ │ ├── ObjectRef.java │ │ │ ├── test.java │ │ │ ├── CollectionKit.java │ │ │ ├── Comparor.java │ │ │ ├── EncodingKit.java │ │ │ ├── ExceptionKit.java │ │ │ ├── XMLNodeOperation.java │ │ │ ├── ant │ │ │ ├── CreateFileTask.java │ │ │ ├── CreateBinsTask.java │ │ │ └── startup.cmd │ │ │ ├── reso │ │ │ └── Logger.java │ │ │ └── XMLException.java │ │ └── test │ │ └── net │ │ └── jplugin │ │ └── common │ │ └── kits │ │ ├── Clazz.java │ │ └── ReflactTest.java ├── jplugin-core-config │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── core │ │ │ └── config │ │ │ ├── api │ │ │ ├── IConfigChangeHandler.java │ │ │ ├── IConfigChangeContext.java │ │ │ ├── IConfigProvidor.java │ │ │ ├── RefConfig.java │ │ │ └── ConfigChangeManager.java │ │ │ ├── impl │ │ │ └── autofresh │ │ │ │ └── AutoRefreshConfigChangeHandler.java │ │ │ └── ExtensionConfigHelper.java │ │ └── test │ │ └── java │ │ └── test │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── config │ │ └── change │ │ ├── ConfigChangeTest.java │ │ └── ConfigChangeHandler2.java ├── jplugin-core-kernel │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── core │ │ │ └── kernel │ │ │ ├── api │ │ │ ├── PointType.java │ │ │ ├── Initializable.java │ │ │ ├── IClassChecker.java │ │ │ ├── IObjectResolver.java │ │ │ ├── IPropertyFilter.java │ │ │ ├── IMethodFilter.java │ │ │ ├── ctx │ │ │ │ ├── IContextBeforeListener.java │ │ │ │ └── ThreadLocalContextListener.java │ │ │ ├── IBindAnnotationHandler.java │ │ │ ├── IBindExtensionHandler.java │ │ │ ├── IScheduledExecutionFilter.java │ │ │ ├── RefAnnotationSupport.java │ │ │ ├── ISetAnnotationTransformer.java │ │ │ ├── plugin_event │ │ │ │ └── IPluginEventListener.java │ │ │ ├── ClassDefine.java │ │ │ ├── IExecutorFilter.java │ │ │ ├── IPluginEnvInitFilter.java │ │ │ ├── IExeRunnableInitFilter.java │ │ │ ├── IExtensionFactory.java │ │ │ ├── IStartup.java │ │ │ ├── RefBean.java │ │ │ ├── SetExtensionId.java │ │ │ ├── SetExtensionPriority.java │ │ │ ├── IExtensionFactoryInterceptAble.java │ │ │ ├── IStartLogger.java │ │ │ ├── BindExtensionInterceptorSet.java │ │ │ ├── PluginAnnotation.java │ │ │ ├── BindStartup.java │ │ │ ├── BindBean.java │ │ │ ├── Beans.java │ │ │ └── AbstractPluginForTest.java │ │ │ ├── impl_incept │ │ │ └── IInstanceLevelInfo.java │ │ │ └── kits │ │ │ ├── RunnableInitFilterManager.java │ │ │ └── scheduled │ │ │ └── ScheduledFilterManager.java │ │ └── test │ │ └── java │ │ └── jplugincoretest │ │ ├── inferenceRefPointName │ │ ├── impl │ │ │ ├── UniqueInterfaceImpl.java │ │ │ ├── IUniqueInterface.java │ │ │ ├── IMapInterface.java │ │ │ ├── IListInterface.java │ │ │ ├── MapInterfaceImpl1.java │ │ │ ├── ListInterfaceImpl1.java │ │ │ └── ListInterfaceImpl2.java │ │ └── Plugin.java │ │ ├── bind_extensin_incept │ │ ├── IMyInterface1097.java │ │ ├── Plugin.java │ │ ├── MyInterface1097Impl2.java │ │ └── MyInterface1097Impl1.java │ │ └── bind_extension_incept2 │ │ ├── AbsMyInterface1097.java │ │ ├── Plugin.java │ │ ├── MyInterface1097Impl2.java │ │ └── MyInterface1097Impl1.java ├── jplugin-core-rclient │ ├── .gitignore │ └── src │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ ├── core │ │ └── rclient │ │ │ ├── api │ │ │ ├── ITokenFetcher.java │ │ │ ├── IClientFailHandler.java │ │ │ ├── IServiceUrlResolver.java │ │ │ ├── IClientFilter.java │ │ │ └── IClientHandler.java │ │ │ └── handler │ │ │ └── ClientFailHandlerManager.java │ │ └── ext │ │ └── webasic │ │ └── api │ │ └── Para.java ├── jplugin-core-service │ ├── .gitignore │ └── src │ │ ├── test │ │ └── java │ │ │ ├── test │ │ │ └── net │ │ │ │ └── jplugin │ │ │ │ └── core │ │ │ │ └── service │ │ │ │ └── incept │ │ │ │ ├── IService212.java │ │ │ │ ├── Service212Impl.java │ │ │ │ ├── ExtensionInceptTestClient.java │ │ │ │ ├── ExtensionInceptTest2.java │ │ │ │ ├── ExtensionInceptTest3.java │ │ │ │ └── ExtensionInceptTest1.java │ │ │ └── jplugincoretest │ │ │ └── service │ │ │ ├── test │ │ │ ├── Service2022204Test.java │ │ │ └── Plugin.java │ │ │ ├── autobindextension │ │ │ ├── IAutoBindExtensionIntf.java │ │ │ ├── IAutoBindExtensionAbstractClass.java │ │ │ ├── AutoBindExtensionIntfImpl.java │ │ │ ├── AutoBindExtensionACImpl.java │ │ │ └── AutoBindExtensionACImpl2.java │ │ │ ├── test_extenxion_incept │ │ │ └── AbstractServiceForInceptTest.java │ │ │ └── Plugin.java │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── service │ │ ├── impl │ │ ├── IServiceExtensionResolver.java │ │ └── esf │ │ │ └── api │ │ │ └── IRPCHandler.java │ │ └── api │ │ ├── Constants.java │ │ ├── BindExportService.java │ │ ├── BindServiceSet.java │ │ ├── BindServiceExport.java │ │ ├── UseTransaction.java │ │ └── RefService.java ├── jplugin-ext-das-hib │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── core │ │ │ └── das │ │ │ └── hib │ │ │ └── api │ │ │ ├── IMtDataService.java │ │ │ ├── IResultSetDisposer.java │ │ │ ├── IPersistObjDefinition.java │ │ │ ├── SinglePoDefine.java │ │ │ ├── Entity.java │ │ │ └── ExtensionDasHelper.java │ │ └── test │ │ └── java │ │ └── test │ │ └── net │ │ └── jplugin │ │ ├── das │ │ └── hib │ │ │ ├── mt │ │ │ ├── NonMtPojo.java │ │ │ └── MtPojo.java │ │ │ ├── DBPojoIdNativeTest.java │ │ │ └── DBPojoTest.java │ │ └── core │ │ └── das │ │ └── hib │ │ └── DBHibTest.java ├── jplugin-ext-das-ts │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── core │ │ │ └── das │ │ │ └── route │ │ │ ├── impl │ │ │ ├── util │ │ │ │ ├── MyCallable.java │ │ │ │ └── CallableList.java │ │ │ ├── conn │ │ │ │ ├── mulqry │ │ │ │ │ └── CompareKit.java │ │ │ │ └── LogUtil.java │ │ │ └── autocreate │ │ │ │ └── SelectStatementInspector.java │ │ │ └── api │ │ │ ├── IFunctionHandler.java │ │ │ ├── AggFunctionEvalueContext.java │ │ │ └── IAggregationFunctionHandler.java │ │ └── test │ │ └── java │ │ └── test │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── das │ │ └── route │ │ ├── dynamicds │ │ └── DynamicDsTestProvider.java │ │ ├── SqlWordsWalkerTest.java │ │ └── where │ │ └── funcs │ │ └── MytestFunctionHandler.java ├── jplugin-ext-event │ ├── .gitignore │ └── src │ │ ├── test │ │ └── java │ │ │ └── qqq │ │ │ └── ClassAAA.java │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── event │ │ └── api │ │ ├── IEventFilter.java │ │ ├── Event.java │ │ └── Channel.java ├── jplugin-ext-gtrace │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── ext │ │ │ └── gtrace │ │ │ └── impl │ │ │ └── RunWrapperConstants.java │ │ └── test │ │ └── java │ │ └── test │ │ └── net │ │ └── jplugin │ │ └── ext │ │ └── gtrace │ │ └── schedule │ │ └── ScheduleFilter.java ├── jplugin-ext-mtenant │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ ├── core │ │ │ └── mtenant │ │ │ │ ├── api │ │ │ │ ├── ITenantListProvidor.java │ │ │ │ ├── TenantIteratorRunnableAdaptor.java │ │ │ │ └── TenantResult.java │ │ │ │ ├── MtenantStatus.java │ │ │ │ ├── MTenantConfigHelper.java │ │ │ │ ├── impl │ │ │ │ └── MtDataSourceWrapperService.java │ │ │ │ ├── ExtensionMTenantHelper.java │ │ │ │ └── dds │ │ │ │ └── DDSConfigChangeHandler.java │ │ │ └── mtenant │ │ │ └── impl │ │ │ └── kit │ │ │ └── parse │ │ │ └── SqlParser.java │ │ └── test │ │ └── java │ │ └── test │ │ └── net │ │ └── jplugin │ │ └── core │ │ └── mtenant │ │ ├── TestCtrller.java │ │ └── iterator │ │ └── TenantListProvider.java ├── jplugin-ext-token │ ├── .gitignore │ └── src │ │ └── test │ │ └── java │ │ └── test │ │ └── net │ │ └── jplugin │ │ └── ext │ │ └── token │ │ └── Plugin.java ├── jplugin-ext-webasic │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── ext │ │ │ └── webasic │ │ │ ├── api │ │ │ ├── websock │ │ │ │ └── WeAppWebSockServlet.java │ │ │ ├── IHttpFilter.java │ │ │ ├── IInvocationFilter.java │ │ │ ├── IDynamicService.java │ │ │ ├── esf │ │ │ │ ├── IESFRestFilter.java │ │ │ │ └── IESFRpcFilter.java │ │ │ ├── BindServiceExport.java │ │ │ ├── ServiceState.java │ │ │ ├── IController.java │ │ │ ├── BindController.java │ │ │ ├── IControllerSet.java │ │ │ ├── WebFilter.java │ │ │ └── JPluginApi.java │ │ │ └── impl │ │ │ ├── filter │ │ │ └── IMethodCallback.java │ │ │ ├── restm │ │ │ ├── Constants.java │ │ │ └── invoker │ │ │ │ └── IServiceInvoker.java │ │ │ └── ESFRPCRequestInfoFillerMt.java │ │ └── test │ │ └── java │ │ └── jplugincoretest │ │ └── net │ │ └── jplugin │ │ └── ext │ │ └── webasic │ │ ├── annotation │ │ ├── IRuleTestForAnno.java │ │ ├── RuleTestForAnno.java │ │ └── ServiceExportTest.java │ │ ├── restmethod │ │ └── RestMethod4Rule.java │ │ ├── bind │ │ ├── BindServiceExportTest.java │ │ ├── BindExControllerTest.java │ │ └── BindControllerTest.java │ │ ├── mttest │ │ └── MtTestForRequest.java │ │ ├── TestPathSearch.java │ │ ├── webctrl │ │ ├── DemoWebCtrl.java │ │ ├── DemoWebExCtrl.java │ │ ├── WebCtrlTestClient.java │ │ └── WebExCtrlTestClient.java │ │ ├── mapreturn │ │ └── ExportForMapBeanTest.java │ │ └── restclient │ │ └── WebCtrlFilterTest.java ├── jplugin-package-core │ ├── .gitignore │ ├── .idea │ │ ├── .name │ │ ├── vcs.xml │ │ ├── modules.xml │ │ ├── misc.xml │ │ ├── compiler.xml │ │ └── libraries │ │ │ ├── Maven__net_jplugin_core_jplugin_core_log_0_0_2_SNAPSHOT.xml │ │ │ ├── Maven__net_jplugin_core_jplugin_common_kits_0_0_2_SNAPSHOT.xml │ │ │ ├── Maven__net_jplugin_core_jplugin_core_config_0_0_2_SNAPSHOT.xml │ │ │ └── Maven__net_jplugin_core_jplugin_core_kernel_0_0_2_SNAPSHOT.xml │ └── src │ │ └── main │ │ └── java │ │ └── ForJavaDoc.java ├── jplugin-common-kits-http │ ├── .gitignore │ └── src │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ └── common │ │ └── kits │ │ └── http │ │ ├── mock │ │ ├── IHttpService.java │ │ ├── DummyHttpThread.java │ │ └── HttpSessionMock.java │ │ ├── filter │ │ └── IHttpClientFilter.java │ │ ├── HttpStatusException.java │ │ └── ContentKit.java ├── jplugin-ext-das-mybatis │ ├── .gitignore │ └── src │ │ ├── main │ │ └── java │ │ │ └── net │ │ │ └── jplugin │ │ │ └── core │ │ │ └── das │ │ │ └── mybatis │ │ │ ├── impl │ │ │ ├── IMapperHandler.java │ │ │ └── sess │ │ │ │ └── SessionClearContextListener.java │ │ │ └── api │ │ │ ├── IMapperHandlerForReturn.java │ │ │ ├── RefMapper.java │ │ │ ├── BindMapperSet.java │ │ │ ├── RefMybatisService.java │ │ │ ├── ExtensionDefinition4Incept.java │ │ │ ├── BindMapper.java │ │ │ └── ExtensionDefinition4Mapping.java │ │ └── test │ │ └── java │ │ ├── test │ │ └── net │ │ │ ├── jplugin │ │ │ └── core │ │ │ │ └── das │ │ │ │ └── mybatis │ │ │ │ ├── anno │ │ │ │ ├── IServiceForAnno.java │ │ │ │ └── IRuleTestForMybatisAnno.java │ │ │ │ ├── ts │ │ │ │ ├── TbRoute0Mapper.java │ │ │ │ ├── TbRoute0.java │ │ │ │ └── TbRoute0Mapper.xml │ │ │ │ ├── cachetest │ │ │ │ ├── ICacheMapper.java │ │ │ │ ├── TestCacheBean.java │ │ │ │ └── ICacheMapper.xml │ │ │ │ └── MybtestBean.java │ │ │ └── luis │ │ │ └── plugin │ │ │ └── das │ │ │ └── mybatis │ │ │ ├── txtest │ │ │ ├── MapperProxyTest.java │ │ │ ├── RefMapperTest.java │ │ │ ├── ITxTestDB1Mapper.java │ │ │ └── ITxTestDB2Mapper.java │ │ │ ├── xmltest │ │ │ ├── IXMLMapper.java │ │ │ └── IXMLMapper.xml │ │ │ └── annotest │ │ │ ├── IRule.java │ │ │ └── IMybtestMapper.java │ │ └── jplugincoretest │ │ └── mybastic │ │ ├── TestMapper.java │ │ └── Plugin.java ├── jplugin-test-main │ ├── application │ │ └── config │ │ │ ├── plugin.cfg │ │ │ ├── test1.config.properties │ │ │ ├── test2.config.properties │ │ │ ├── ds_named_ds.config.properties │ │ │ ├── testdynamicds.config.properties │ │ │ ├── mtenant.config.properties │ │ │ ├── the_select_db_table_not_cfg.config.properties │ │ │ ├── db_2.config.properties │ │ │ ├── mt-ds.config.properties │ │ │ ├── database.config.properties │ │ │ ├── router-ds-1.config.properties │ │ │ ├── router-ds-2.config.properties │ │ │ ├── the_db_a.config.properties │ │ │ ├── the_db_b.config.properties │ │ │ ├── the_db_c.config.properties │ │ │ ├── platform.config.properties │ │ │ ├── the_select_db.config.properties │ │ │ └── log4j.config.properties │ ├── .gitignore │ └── src │ │ └── test │ │ └── java │ │ └── net │ │ ├── luis │ │ ├── main │ │ │ ├── export │ │ │ │ ├── IMyExport.java │ │ │ │ ├── MyExport.java │ │ │ │ └── Plugin.java │ │ │ ├── TestDb.java │ │ │ ├── event │ │ │ │ ├── TestEvent.java │ │ │ │ ├── EventFilter.java │ │ │ │ ├── TestEventService.java │ │ │ │ ├── ITestEventService.java │ │ │ │ ├── TestEventConsumer.java │ │ │ │ └── TestEventConsumerForFilter.java │ │ │ ├── pojo │ │ │ │ ├── IDataTest.java │ │ │ │ ├── POProvider.java │ │ │ │ ├── UserBean.java │ │ │ │ ├── DataTestImpl.java │ │ │ │ └── BeanWithTypes.java │ │ │ ├── testrule │ │ │ │ ├── Rule1.java │ │ │ │ ├── User.java │ │ │ │ └── Rule1Impl.java │ │ │ ├── remote │ │ │ │ ├── IServerObject.java │ │ │ │ └── ServerObject.java │ │ │ ├── TestServciceUrlResolver.java │ │ │ ├── TestClientFilter.java │ │ │ └── TestStartLogger.java │ │ ├── testfactory │ │ │ └── IMyInterface.java │ │ ├── testautosearch │ │ │ ├── child │ │ │ │ ├── ITestExten.java │ │ │ │ ├── TestExten.java │ │ │ │ └── Plugin.java │ │ │ ├── extensionid │ │ │ │ ├── IService1ForId.java │ │ │ │ ├── IRuleServiceForId.java │ │ │ │ ├── IExtensionForIdTest.java │ │ │ │ ├── ExportTest1.java │ │ │ │ ├── BeanTest.java │ │ │ │ ├── ExportTest2.java │ │ │ │ ├── RuleServiceForId.java │ │ │ │ ├── Service1ForId.java │ │ │ │ ├── WebExControllerTest.java │ │ │ │ ├── ExtensionForIdTest.java │ │ │ │ ├── BeanTestTest.java │ │ │ │ ├── WebControllerTest.java │ │ │ │ └── BindStartUpForId.java │ │ │ ├── ServiceTest.java │ │ │ └── Test.java │ │ └── testconfig │ │ │ ├── impl │ │ │ ├── MyBean.java │ │ │ └── TestCfgs.java │ │ │ └── Plugin.java │ │ └── MyPlugin.java ├── jplugin-ext-staticweb │ ├── .gitignore │ └── src │ │ └── main │ │ └── java │ │ └── net │ │ └── jplugin │ │ └── ext │ │ └── staticweb │ │ └── Plugin.java ├── nswork │ └── logs │ │ └── jplugin-start.log ├── jplugin-package-mvc │ ├── target │ │ ├── maven-archiver │ │ │ └── pom.properties │ │ └── javadoc-bundle-options │ │ │ └── javadoc-options-javadoc-resources.xml │ └── src │ │ └── main │ │ └── java │ │ └── ForJavaDoc.java ├── jplugin-package-das │ └── src │ │ └── main │ │ └── java │ │ └── ForJavaDoc.java ├── .gitignore ├── logs │ └── jplugin-start.log └── base.iml ├── .gitignore ├── jplugin-core.md └── README.md /jplugin-core/jplugin-core-ctx/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-log/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /jplugin-core/jplugin-package-das/target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-event/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-gtrace/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-token/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/.name: -------------------------------------------------------------------------------- 1 | jplugin-core -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/plugin.cfg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/.gitignore: -------------------------------------------------------------------------------- 1 | /logs/ 2 | /target/ 3 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-staticweb/.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /.settings/ 3 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/test1.config.properties: -------------------------------------------------------------------------------- 1 | c1=1 2 | c2=2 -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/test2.config.properties: -------------------------------------------------------------------------------- 1 | c1=1 2 | c2=2 -------------------------------------------------------------------------------- /jplugin-core/nswork/logs/jplugin-start.log: -------------------------------------------------------------------------------- 1 | 2023-01-29 10:40:05 CloudEnvironment Init: url1, appcode1, S1,S2, 2 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-event/src/test/java/qqq/ClassAAA.java: -------------------------------------------------------------------------------- 1 | package qqq; 2 | 3 | public class ClassAAA { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/export/IMyExport.java: -------------------------------------------------------------------------------- 1 | package net.luis.main.export; 2 | 3 | public interface IMyExport { 4 | } 5 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/IDBSplitAlg.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api; 2 | 3 | public interface IDBSplitAlg { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testfactory/IMyInterface.java: -------------------------------------------------------------------------------- 1 | package net.luis.testfactory; 2 | 3 | public interface IMyInterface { 4 | 5 | String a(); 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/spands/EvaluatContext.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.spands; 2 | 3 | public class EvaluatContext { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/spands/EvaluateResult.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.spands; 2 | 3 | public class EvaluateResult { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/TestDb.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/TestDb.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/PointType.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public enum PointType { 4 | LIST,UNIQUE,NAMED 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEvent.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/IDataTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/IDataTest.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/POProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/POProvider.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/UserBean.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/UserBean.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/testrule/Rule1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/testrule/Rule1.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/testrule/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/testrule/User.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/child/ITestExten.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.child; 2 | 3 | public interface ITestExten { 4 | public void a(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/Initializable.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface Initializable { 4 | void initialize(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/main/java/net/jplugin/core/das/hib/api/IMtDataService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.hib.api; 2 | 3 | public interface IMtDataService extends IDataService { 4 | } 5 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-mvc/target/maven-archiver/pom.properties: -------------------------------------------------------------------------------- 1 | #Generated by Maven 2 | #Thu Apr 13 13:20:47 CST 2023 3 | version=3.0.0-SNAPSHOT 4 | groupId=net.jplugin 5 | artifactId=jplugin-mvc 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/ds_named_ds.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | route-datasource-flag = true 3 | is-tx-managed = false 4 | route-datasource-type = ds-named-ds 5 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/EventFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/EventFilter.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/DataTestImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/DataTestImpl.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/testdynamicds.config.properties: -------------------------------------------------------------------------------- 1 | driver-class-for-dyn-ds=test.net.jplugin.core.das.route.dynamicds.DynamicDsTestProvider 2 | default=ds1 3 | 1001=asdf 4 | 1122=asdf -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/BeanWithTypes.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/pojo/BeanWithTypes.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/remote/IServerObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/remote/IServerObject.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/remote/ServerObject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/remote/ServerObject.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/testrule/Rule1Impl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/testrule/Rule1Impl.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/client/ICallback.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.client; 2 | 3 | public interface ICallback { 4 | public void callback(Object o); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindextension/IService1.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindextension; 2 | 3 | public interface IService1 { 4 | void greet(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IClassChecker.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IClassChecker { 4 | public boolean check(Class c); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/websock/WeAppWebSockServlet.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api.websock; 2 | 3 | 4 | public class WeAppWebSockServlet { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEventService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEventService.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bind/IBindRuleService.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bind; 2 | 3 | public interface IBindRuleService { 4 | public void m1(); 5 | 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bind/IBindRuleService2.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bind; 2 | 3 | public interface IBindRuleService2 { 4 | 5 | public void m2(); 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IObjectResolver.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IObjectResolver { 4 | void resolve(Object obj); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/test/net/jplugin/core/service/incept/IService212.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.service.incept; 2 | 3 | public interface IService212 { 4 | String hello(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/ITestEventService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/ITestEventService.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEventConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEventConsumer.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/queue/INodeOperation.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.queue; 2 | 3 | public interface INodeOperation { 4 | 5 | void call(Node temp); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IPropertyFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IPropertyFilter { 4 | String filte(String orignalVal); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/core/rclient/api/ITokenFetcher.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.rclient.api; 2 | 3 | public interface ITokenFetcher { 4 | 5 | public String fetchToken(); 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/IService1ForId.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | public interface IService1ForId { 4 | public void a(); 5 | 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bind/IBindRuleService3.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bind; 2 | 3 | public interface IBindRuleService3 { 4 | 5 | public void mmmm3(); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/monitor/ConnectionContext.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.monitor; 2 | 3 | public class ConnectionContext extends SqlMonitorListenerContext { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/monitor/ResultSetContext.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.monitor; 2 | 3 | public class ResultSetContext extends SqlMonitorListenerContext { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/monitor/StatementContext.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.monitor; 2 | 3 | public class StatementContext extends SqlMonitorListenerContext { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/IRuleServiceForId.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | public interface IRuleServiceForId { 4 | 5 | public void a(); 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/impl/IMapperHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.impl; 2 | 3 | public interface IMapperHandler { 4 | 5 | void run(T mapper); 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/anno/IServiceForAnno.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis.anno; 2 | 3 | public interface IServiceForAnno { 4 | public void test(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEventConsumerForFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunlet/jplugin/HEAD/jplugin-core/jplugin-test-main/src/test/java/net/luis/main/event/TestEventConsumerForFilter.java -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/IExtensionForIdTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | public interface IExtensionForIdTest { 4 | 5 | public void aaa(); 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/core/rclient/api/IClientFailHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.rclient.api; 2 | 3 | public interface IClientFailHandler { 4 | public void connectFailed(String url); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/filter/IFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.filter; 2 | 3 | public interface IFilter { 4 | public Object filter(FilterChain fc, T ctx) throws Throwable ; 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/api/IConfigChangeHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config.api; 2 | 3 | public interface IConfigChangeHandler { 4 | public void onChange(IConfigChangeContext ctx); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/anno/IRuleTestForMybatisAnno.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis.anno; 2 | 3 | public interface IRuleTestForMybatisAnno { 4 | public void test(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/impl/filter/IMethodCallback.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.impl.filter; 2 | 3 | public interface IMethodCallback { 4 | 5 | public Object run() throws Throwable; 6 | } 7 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/src/main/java/ForJavaDoc.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | public class ForJavaDoc { 5 | /** 6 | * @param args 7 | */ 8 | public static void main(String[] args) { 9 | 10 | } 11 | 12 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-das/src/main/java/ForJavaDoc.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | public class ForJavaDoc { 5 | /** 6 | * @param args 7 | */ 8 | public static void main(String[] args) { 9 | 10 | } 11 | 12 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-mvc/src/main/java/ForJavaDoc.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | public class ForJavaDoc { 5 | /** 6 | * @param args 7 | */ 8 | public static void main(String[] args) { 9 | 10 | } 11 | 12 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/ExportTest1.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | 4 | public class ExportTest1 { 5 | 6 | public void a() { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/monitor/SqlCall.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.monitor; 2 | 3 | import java.sql.SQLException; 4 | 5 | public interface SqlCall { 6 | public Object call() throws SQLException; 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/core/rclient/api/IServiceUrlResolver.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.rclient.api; 2 | 3 | public interface IServiceUrlResolver { 4 | public String resolve(String protocol,String baseUrl); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IMethodFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.reflect.Method; 4 | 5 | public interface IMethodFilter { 6 | boolean match(Method m); 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/IMapperHandlerForReturn.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | public interface IMapperHandlerForReturn { 4 | public R fetchResult(M mapper); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/annotation/IRuleTestForAnno.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.annotation; 2 | 3 | public interface IRuleTestForAnno { 4 | public void test(); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/ctx/IContextBeforeListener.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api.ctx; 2 | 3 | public interface IContextBeforeListener { 4 | public void beforeRelease(ThreadLocalContext ctx); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/impl/restm/Constants.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.impl.restm; 2 | 3 | public class Constants { 4 | 5 | public static final String NOT_WRITE_RESULT = "NOT_WRITE_RESULT"; 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/api/IConfigChangeContext.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config.api; 2 | 3 | import java.util.List; 4 | 5 | public interface IConfigChangeContext { 6 | public List getChangedKeys(); 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IBindAnnotationHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IBindAnnotationHandler { 4 | public void transform(AbstractPlugin plugin, Class c, Object anno); 5 | } 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/impl/MyCallable.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.impl; 2 | 3 | import java.sql.SQLException; 4 | 5 | public interface MyCallable { 6 | public void call(T t) throws SQLException; 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IBindExtensionHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IBindExtensionHandler { 4 | 5 | void handle(AbstractPlugin abstractPluginWithBindSupport); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/IHttpFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | 5 | public interface IHttpFilter extends IFilter { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/export/MyExport.java: -------------------------------------------------------------------------------- 1 | package net.luis.main.export; 2 | 3 | import net.jplugin.core.service.api.BindExportService; 4 | 5 | @BindExportService(path = "/pppppssssss") 6 | 7 | public class MyExport implements IMyExport{ 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/IRuleServiceFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | 5 | public interface IRuleServiceFilter extends IFilter { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/stat/IStatement.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.stat; 2 | 3 | import java.util.List; 4 | 5 | 6 | public interface IStatement { 7 | String getSqlClause(); 8 | List getParams(); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/impl/util/MyCallable.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.impl.util; 2 | 3 | import java.sql.SQLException; 4 | 5 | public interface MyCallable { 6 | public void call(T t) throws SQLException; 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | /logs/ 3 | /jplugin-package-mvc/target/ 4 | /jplugin-package-core/jplugin-core.iml 5 | /jplugin-package-das/jplugin-das.iml 6 | /jplugin-package-pom/base-pom-core/target/ 7 | /jplugin-package-pom/base-pom-mvc/target/ 8 | /jplugin-package-pom/target/ 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/src/main/java/net/jplugin/common/kits/http/mock/IHttpService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.http.mock; 2 | 3 | public interface IHttpService { 4 | 5 | void dohttp(HttpServletRequestMock request, HttpServletResponseMock response); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IScheduledExecutionFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | 5 | public interface IScheduledExecutionFilter extends IFilter { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/JsonRootMap.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import java.util.HashMap; 4 | 5 | public class JsonRootMap extends HashMap { 6 | private static final long serialVersionUID = 1L; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/impl/stat/IWhereSegment.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.impl.stat; 2 | 3 | import java.util.List; 4 | 5 | public interface IWhereSegment { 6 | public String getString(); 7 | public void addToBindList(List list); 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/impl/IStatementContextCallable.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.impl; 2 | 3 | import java.sql.SQLException; 4 | 5 | public interface IStatementContextCallable { 6 | public Object call() throws SQLException; 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/IInvocationFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | public interface IInvocationFilter { 4 | 5 | public boolean before(InvocationContext ctx); 6 | 7 | public void after(InvocationContext ctx); 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/sqlrefactor/ISqlRefactor.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.sqlrefactor; 2 | 3 | import java.sql.Connection; 4 | 5 | public interface ISqlRefactor { 6 | public String refactSql(String dsName,String sql, Connection inner); 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/core/rclient/api/IClientFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.rclient.api; 2 | 3 | public interface IClientFilter { 4 | 5 | void filterStart(ClientCallContext ctx); 6 | 7 | void filterEnd(ClientCallContext ctx); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/jplugincoretest/mybastic/TestMapper.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.mybastic; 2 | 3 | import net.jplugin.core.das.mybatis.api.BindMapper; 4 | 5 | //有了这一句才能让getSqlSession()不为空。 6 | @BindMapper(dataSource = "database") 7 | public interface TestMapper { 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindrulemethodfilter/IRuleService123.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindrulemethodfilter; 2 | 3 | public interface IRuleService123 { 4 | 5 | String getA(); 6 | void setA(String a); 7 | 8 | void test(); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/impl/stat/IFromItem.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.impl.stat; 2 | 3 | import java.util.List; 4 | 5 | public interface IFromItem { 6 | public void appendToClause(StringBuffer sb); 7 | public void addToBindList(List list); 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/RefAnnotationSupport.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public abstract class RefAnnotationSupport { 4 | protected RefAnnotationSupport(){ 5 | PluginEnvirement.INSTANCE.resolveRefAnnotation(this); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/test/net/jplugin/core/service/incept/Service212Impl.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.service.incept; 2 | 3 | public class Service212Impl implements IService212{ 4 | @Override 5 | public String hello() { 6 | return "hello"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/main/java/net/jplugin/core/das/hib/api/IResultSetDisposer.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.hib.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-9 上午09:51:16 7 | **/ 8 | 9 | public interface IResultSetDisposer { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/src/main/java/net/jplugin/common/kits/http/filter/IHttpClientFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.http.filter; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | 5 | public interface IHttpClientFilter extends IFilter { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/src/main/java/net/jplugin/common/kits/http/mock/DummyHttpThread.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.http.mock; 2 | 3 | public class DummyHttpThread extends Thread{ 4 | 5 | @Override 6 | public void run() { 7 | 8 | super.run(); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/IConnectionWrapperService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api; 2 | 3 | import java.sql.Connection; 4 | 5 | public interface IConnectionWrapperService { 6 | public Connection wrapper(String dataSourceName, Connection connection); 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-gtrace/src/main/java/net/jplugin/ext/gtrace/impl/RunWrapperConstants.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.gtrace.impl; 2 | 3 | public class RunWrapperConstants { 4 | 5 | public static final String TRACE_ID = "traceId"; 6 | public static final String PAR_SPAN_ID = "parSpanId"; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/api/IFunctionHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.api; 2 | 3 | public interface IFunctionHandler{ 4 | 5 | /** 6 | * 获取结果 7 | * @return 8 | */ 9 | public Object getResult(Object[] args); 10 | 11 | } 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-event/src/main/java/net/jplugin/core/event/api/IEventFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.event.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-15 上午08:44:21 7 | **/ 8 | 9 | public interface IEventFilter { 10 | public boolean match(Event e); 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/mtenant.config.properties: -------------------------------------------------------------------------------- 1 | enable=TRUE 2 | req-param-at=BOTH 3 | req-param-name=_tenant_param_ 4 | field=_tenant_ 5 | datasource=mt-ds 6 | datasource.mt-ds.exclude=mt_tb_exclude1,mt_tb_exclude2 7 | 8 | #req-default-tenant=1010 9 | #null-tenant-allowed=false 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/ISetAnnotationTransformer.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.util.List; 5 | 6 | public interface ISetAnnotationTransformer { 7 | Annotation[] getAnnoList(Annotation a); 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/plugin_event/IPluginEventListener.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api.plugin_event; 2 | 3 | public interface IPluginEventListener { 4 | public String getIntrestedPluginName(); 5 | 6 | public void afterCreateServices(String pluginName); 7 | } 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/test/Service2022204Test.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.test; 2 | 3 | import net.jplugin.core.service.api.BindService; 4 | 5 | //@BindService(accessClass = Service2022204Test.class) 6 | @BindService() 7 | public class Service2022204Test { 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/IDynamicService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import net.jplugin.core.kernel.api.ctx.RequesterInfo; 4 | 5 | public interface IDynamicService { 6 | public Object execute(RequesterInfo requestInfo, String dynamicPath); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/impl_incept/IInstanceLevelInfo.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.impl_incept; 2 | 3 | import net.jplugin.core.kernel.api.Extension; 4 | 5 | public interface IInstanceLevelInfo { 6 | Extension getExtension(); 7 | Object getProceedObject(); 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/ServiceTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch; 2 | 3 | import net.jplugin.core.ctx.api.BindRuleService; 4 | import net.jplugin.core.service.api.BindService; 5 | 6 | //@BindService 7 | //@BindService 8 | public class ServiceTest { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/ClassDefine.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public class ClassDefine { 4 | Class clazz; 5 | public Class getClazz() { 6 | return clazz; 7 | } 8 | public void setClazz(Class clazz) { 9 | this.clazz = clazz; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IExecutorFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | import net.jplugin.core.kernel.kits.RunnableWrapper; 5 | 6 | public interface IExecutorFilter extends IFilter { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/api/ITenantListProvidor.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant.api; 2 | 3 | import java.util.List; 4 | /** 5 | * 提供租户列表 6 | * @author Administrator 7 | * 8 | */ 9 | public interface ITenantListProvidor { 10 | List getTenantList(); 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/BeanTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.core.kernel.api.BindBean; 4 | 5 | @BindBean(id = "mybean1") 6 | public class BeanTest { 7 | 8 | String name() { 9 | return "hahaha"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/YesNo.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-1 下午07:25:32 7 | **/ 8 | 9 | public class YesNo { 10 | public static final String Y="Y"; 11 | public static final String N="N"; 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-log/src/main/java/net/jplugin/core/log/api/Constants.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.log.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-8 上午02:18:37 7 | **/ 8 | 9 | public class Constants { 10 | public final static String EP_SPECIAL_LOG_NAME = "special_log_name"; 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/restmethod/RestMethod4Rule.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.restmethod; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-4 下午02:08:43 7 | **/ 8 | 9 | public class RestMethod4Rule { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IPluginEnvInitFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | import net.jplugin.common.kits.tuple.Tuple2; 5 | 6 | public interface IPluginEnvInitFilter extends IFilter> { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IExeRunnableInitFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | import net.jplugin.core.kernel.kits.RunnableWrapper; 5 | 6 | public interface IExeRunnableInitFilter extends IFilter { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/IRuleTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx; 2 | 3 | public interface IRuleTest { 4 | public void testNoMeta(); 5 | 6 | public void testNoMeta(String a); 7 | 8 | public void testNoMeta2(); 9 | 10 | public void testNoMetaWithException() throws Exception; 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/BasicMtBean.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api; 2 | 3 | public class BasicMtBean { 4 | String tenantId; 5 | 6 | public String getTenantId() { 7 | return tenantId; 8 | } 9 | public void setTenantId(String tenantId) { 10 | this.tenantId = tenantId; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/mtenant/impl/kit/parse/SqlParser.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.mtenant.impl.kit.parse; 2 | 3 | import java.util.List; 4 | import java.util.Map; 5 | 6 | public interface SqlParser { 7 | public String parse(String sourceSql, Map params, List ignoreTables); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/impl/IServiceExtensionResolver.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.impl; 2 | 3 | import net.jplugin.core.service.api.RefService; 4 | 5 | public interface IServiceExtensionResolver { 6 | 7 | public Object resolve(Object theObject, Class fieldType, RefService anno); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/TestServciceUrlResolver.java: -------------------------------------------------------------------------------- 1 | package net.luis.main; 2 | 3 | import net.jplugin.core.rclient.api.IServiceUrlResolver; 4 | 5 | public class TestServciceUrlResolver implements IServiceUrlResolver { 6 | public String resolve(String protocol, String baseUrl) { 7 | return baseUrl; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/child/TestExten.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.child; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | 5 | @BindExtension(pointTo = "EL_TESTPOING100") 6 | public class TestExten implements ITestExten{ 7 | 8 | @Override 9 | public void a() { 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/main/java/net/jplugin/core/das/hib/api/IPersistObjDefinition.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.hib.api; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * 7 | * @author: LiuHang 8 | * @version 创建时间:2015-2-18 下午05:22:56 9 | **/ 10 | 11 | public interface IPersistObjDefinition { 12 | public Class[] getClasses(); 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/api/AggFunctionEvalueContext.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.api; 2 | 3 | import net.jplugin.common.kits.AttributedObject; 4 | 5 | public class AggFunctionEvalueContext extends AttributedObject{ 6 | 7 | public void clear() { 8 | this.clearAttributes(); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/the_select_db_table_not_cfg.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | route-datasource-flag = true 3 | route-datasource-type = select-ds 4 | is-tx-managed = false 5 | 6 | path-list=aa,bb 7 | 8 | aa-target=the_db_a 9 | aa-commands=SELECT 10 | 11 | bb-target=the_db_b 12 | bb-commands= 13 | bb-default=true 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/StartSeqKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | public class StartSeqKit { 4 | static long start = System.currentTimeMillis(); 5 | public synchronized static long getSeq(){ 6 | return ++start; 7 | } 8 | public static String getSeqString(){ 9 | return getSeq()+""; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/api/IConnectionSettable.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.api; 2 | 3 | import java.sql.Connection; 4 | 5 | /** 6 | * 这个接口用了,但是暂时没有调用设置................... 7 | * @author LiuHang 8 | * 9 | */ 10 | public interface IConnectionSettable { 11 | void setConnection(Connection conn); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IExtensionFactory.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IExtensionFactory { 4 | /** 5 | * 创建一个扩展对象 6 | * @return 7 | */ 8 | public Object create(Extension ext); 9 | 10 | public Class getImplClass(); 11 | 12 | public boolean contentEqual(IExtensionFactory f); 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/UniqueInterfaceImpl.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | 5 | @BindExtension 6 | public class UniqueInterfaceImpl implements IUniqueInterface{ 7 | @Override 8 | public void hi() { 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/impl/restm/invoker/IServiceInvoker.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.impl.restm.invoker; 2 | 3 | import net.jplugin.ext.webasic.impl.helper.ObjectCallHelper; 4 | 5 | public interface IServiceInvoker { 6 | public void call(CallParam cp)throws Throwable; 7 | public ObjectCallHelper getObjectCallHelper(); 8 | } 9 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/ObjectRef.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-9 下午08:48:01 7 | **/ 8 | 9 | public class ObjectRef { 10 | T obj; 11 | public T get(){ 12 | return obj; 13 | } 14 | public void set(T o){ 15 | this.obj = o; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/core/rclient/api/IClientHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.rclient.api; 2 | 3 | import java.lang.reflect.Method; 4 | 5 | public interface IClientHandler { 6 | // T createProxyObject(Client client); 7 | 8 | Object invoke(Client client,Object proxy, Method method, Object[] args) throws Throwable; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/IUniqueInterface.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | @BindExtensionPoint(type= PointType.UNIQUE) 7 | public interface IUniqueInterface { 8 | void hi(); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/annotation/RuleTestForAnno.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.annotation; 2 | 3 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 4 | 5 | public class RuleTestForAnno extends RefAnnotationSupport implements IRuleTestForAnno { 6 | 7 | public void test(){ 8 | 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # JPLugin-core是插件架构的应用框架 4 | 5 | # 插件的概念 6 | 7 | # 基础标注 8 | 9 | ## @PluginAnnotation 10 | 11 | ## @BindService 和 @RefService 12 | 13 | ## @BindExtension 14 | 15 | ## @RefExtensions @RefExtension @RefExtensionMap 16 | 17 | ## @DefineExtensionPoint 18 | 19 | ## @BindExtensionInterceptor 20 | 21 | # 高级标注 22 | 23 | ## @SetExtensionPriority 24 | 25 | ## @SetExtensionId 26 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/TransactionSync.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-9 下午01:28:40 7 | **/ 8 | 9 | public interface TransactionSync { 10 | 11 | public void beforeCompletion(); 12 | 13 | public void afterCompletion(boolean success,Throwable th); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/IResultDisposer.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api; 2 | 3 | import java.sql.ResultSet; 4 | import java.sql.SQLException; 5 | 6 | /** 7 | * 8 | * @author: LiuHang 9 | * @version 创建时间:2015-2-8 下午11:16:58 10 | **/ 11 | 12 | public interface IResultDisposer { 13 | void readRow(ResultSet rs) throws SQLException; 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/monitor/ISqlExecFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.monitor; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | import net.jplugin.common.kits.tuple.Tuple2; 5 | import net.jplugin.core.das.monitor.SqlCall; 6 | 7 | public interface ISqlExecFilter extends IFilter> { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/IMapInterface.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | @BindExtensionPoint(type = PointType.NAMED) 7 | public interface IMapInterface { 8 | void greet(String s); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bind/BindRuleServiceImpl.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bind; 2 | 3 | import net.jplugin.core.ctx.api.BindRuleService; 4 | 5 | @BindRuleService 6 | public class BindRuleServiceImpl implements IBindRuleService{ 7 | 8 | @Override 9 | public void m1() { 10 | System.out.println("in m1"); 11 | 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/IListInterface.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | @BindExtensionPoint(type = PointType.LIST) 7 | public interface IListInterface { 8 | public String greet(); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/MapInterfaceImpl1.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | 5 | @BindExtension(name = "abc") 6 | public class MapInterfaceImpl1 implements IMapInterface{ 7 | @Override 8 | public void greet(String s) { 9 | 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-mvc/target/javadoc-bundle-options/javadoc-options-javadoc-resources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | src/main/javadoc 10 | 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/test.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-22 上午11:25:59 7 | **/ 8 | 9 | public class test { 10 | 11 | /** 12 | * @param args 13 | */ 14 | public static void main(String[] args) { 15 | // TODO Auto-generated method stub 16 | 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IStartup.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * 7 | * @author: LiuHang 8 | * @version 创建时间:2015-2-15 下午01:10:25 9 | **/ 10 | 11 | public interface IStartup { 12 | public void startFailed(Throwable th,List errors); 13 | public void startSuccess(); 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/api/Constants.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.api; 2 | 3 | import net.jplugin.core.service.Plugin; 4 | 5 | /** 6 | * 7 | * @author: LiuHang 8 | * @version 创建时间:2015-2-7 下午10:14:05 9 | **/ 10 | 11 | public class Constants { 12 | @Deprecated 13 | public static final String EP_SERVICE = Plugin.EP_SERVICE; 14 | 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/CollectionKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class CollectionKit { 7 | public static List listWith(Object... objs){ 8 | ArrayList l = new ArrayList(objs.length); 9 | for (Object o:objs){ 10 | l.add(o); 11 | } 12 | return l; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/bind/BindServiceExportTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.bind; 2 | 3 | import net.jplugin.ext.webasic.api.BindServiceExport; 4 | 5 | @BindServiceExport(path = "/bindserviceexport") 6 | public class BindServiceExportTest { 7 | public String test(String a,String b){ 8 | return a+b; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/db_2.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/weapp?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=100 8 | #max idle connections 9 | maxIdle=50 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/mt-ds.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/weapp?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=10 8 | #max idle connections 9 | maxIdle=50 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/api/IConfigProvidor.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config.api; 2 | 3 | import java.util.Map; 4 | import java.util.Set; 5 | 6 | public interface IConfigProvidor { 7 | String getConfigValue(String path); 8 | boolean containsConfig(String path); 9 | Map getStringConfigInGroup(String group); 10 | Set getGroups(); 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/ListInterfaceImpl1.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | 5 | @BindExtension() 6 | public class ListInterfaceImpl1 implements IListInterface { 7 | @Override 8 | public String greet() { 9 | return "good morning"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/database.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/weapp?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=100 8 | #max idle connections 9 | maxIdle=50 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/router-ds-1.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/weapp?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=3 8 | #max idle connections 9 | maxIdle=2 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/router-ds-2.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/weapp?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=3 8 | #max idle connections 9 | maxIdle=2 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/the_db_a.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/db_a?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=100 8 | #max idle connections 9 | maxIdle=50 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/the_db_b.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/db_b?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=100 8 | #max idle connections 9 | maxIdle=50 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/the_db_c.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | driverClassName=com.mysql.jdbc.Driver 3 | #the database url 4 | url=jdbc:mysql://localhost:3306/db_c?useUnicode=true&characterEncoding=utf8 5 | dbuser=root 6 | dbpassword=WxxhMysql7820 7 | maxActive=100 8 | #max idle connections 9 | maxIdle=50 10 | #max wait seconds till time out 11 | maxWait=2000 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/monitor/ISqlMonitorListener.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.monitor; 2 | 3 | public interface ISqlMonitorListener { 4 | public boolean beforeExecute(StatementContext ctx); 5 | public boolean beforeNext(ResultSetContext ctx); 6 | 7 | public void afterExecute(StatementContext ctx); 8 | public void afterNext(ResultSetContext ctx); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/ctx/ThreadLocalContextListener.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api.ctx; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-16 下午08:53:31 7 | **/ 8 | 9 | public interface ThreadLocalContextListener { 10 | /** 11 | * 此方法不要抛异常 12 | * @param rc 13 | */ 14 | public void released(ThreadLocalContext rc); 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/autobindextension/IAutoBindExtensionIntf.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.autobindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | @BindExtensionPoint( type = PointType.LIST) 7 | public interface IAutoBindExtensionIntf { 8 | public String say(String n); 9 | } 10 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/RefMapper.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.jplugin.core.das.api.DataSourceFactory; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface RefMapper { 10 | public String dataSource() default ""; 11 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/test/java/test/net/jplugin/core/das/route/dynamicds/DynamicDsTestProvider.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.route.dynamicds; 2 | 3 | import net.jplugin.core.das.api.IDynamicDataSourceProvider; 4 | 5 | public class DynamicDsTestProvider implements IDynamicDataSourceProvider { 6 | 7 | @Override 8 | public String computeDataSourceName(String s) { 9 | return "database"; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/ExportTest2.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.core.kernel.api.SetExtensionId; 4 | import net.jplugin.ext.webasic.api.BindServiceExport; 5 | 6 | @SetExtensionId("theExportTest2") 7 | @BindServiceExport(path = "/ExportTest2222" ) 8 | public class ExportTest2 { 9 | 10 | public void a() { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/RefBean.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface RefBean{ 11 | String id() ; 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/api/TenantIteratorRunnableAdaptor.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant.api; 2 | 3 | public class TenantIteratorRunnableAdaptor implements Runnable{ 4 | Runnable runnable; 5 | public TenantIteratorRunnableAdaptor(Runnable r){ 6 | runnable = r; 7 | } 8 | 9 | @Override 10 | public void run() { 11 | TenantIteratorKit.execute(runnable); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/MyPlugin.java: -------------------------------------------------------------------------------- 1 | package net; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.PluginAnnotation; 5 | 6 | @PluginAnnotation 7 | public class MyPlugin extends AbstractPlugin { 8 | @Override 9 | public int getPrivority() { 10 | return 0; 11 | } 12 | 13 | @Override 14 | public void init() { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/test/java/test/net/jplugin/core/mtenant/TestCtrller.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.mtenant; 2 | 3 | import net.jplugin.core.kernel.api.ctx.ThreadLocalContextManager; 4 | 5 | public class TestCtrller{ 6 | 7 | public String test(){ 8 | String tid = ThreadLocalContextManager.getRequestInfo().getCurrentTenantId(); 9 | if ("test111".equals(tid)) return "OK"; 10 | else return "ERROR"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/platform.config.properties: -------------------------------------------------------------------------------- 1 | access-control-allow-arigin = * 2 | 3 | #service-export-format = 2 4 | 5 | #web-uri-parse-type = 1 6 | 7 | rest-compatible-return=false 8 | 9 | applyTo=test.net.jplugin.core.ctx.bindrulemethodfilter.RuleService123:set* 10 | 11 | 12 | use-default-rule-anno=true 13 | 14 | use-dynamic-datasource-old-version=true 15 | 16 | 17 | route_ctx_getstmt_with_check=TRUE -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/src/main/java/net/jplugin/common/kits/http/HttpStatusException.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.http; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-13 下午02:07:17 7 | **/ 8 | 9 | public class HttpStatusException extends Exception { 10 | 11 | /** 12 | * @param string 13 | */ 14 | public HttpStatusException(String string) { 15 | super(string); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/Comparor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 创建日期 2005-6-3 3 | * 4 | * TODO 要更改此生成的文件的模板,请转至 5 | * 窗口 - 首选项 - Java - 代码样式 - 代码模板 6 | */ 7 | package net.jplugin.common.kits; 8 | 9 | /** 10 | * @author LiuHang 11 | * 12 | * TODO 要更改此生成的类型注释的模板,请转至 13 | * 窗口 - 首选项 - Java - 代码样式 - 代码模板 14 | */ 15 | public interface Comparor { 16 | public boolean isGreaterThen(Object o1,Object o2); 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/EncodingKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | import java.io.UnsupportedEncodingException; 4 | 5 | public class EncodingKit { 6 | 7 | public static String encode(String url) { 8 | try { 9 | return java.net.URLEncoder.encode(url, "utf-8"); 10 | } catch (UnsupportedEncodingException e) { 11 | throw new RuntimeException(e); 12 | } 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extensin_incept/IMyInterface1097.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extensin_incept; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | @BindExtensionPoint(type = PointType.LIST, supportPriority = true) 7 | public interface IMyInterface1097 { 8 | int hello(); 9 | 10 | int goodMorning(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-log/src/main/java/net/jplugin/core/log/api/RefLogger.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.log.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface RefLogger{ 11 | String value() default ""; 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/txtest/MapperProxyTest.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.txtest; 2 | 3 | import net.jplugin.core.das.mybatis.impl.MapperProxyFactory; 4 | 5 | public class MapperProxyTest { 6 | public void test(){ 7 | ITxTestDB1Mapper mapper = (ITxTestDB1Mapper) MapperProxyFactory.getMapper("testdb", ITxTestDB1Mapper.class); 8 | mapper.add("a1", "b1"); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/SetExtensionId.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface SetExtensionId { 11 | String value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/impl/esf/api/IRPCHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.impl.esf.api; 2 | 3 | import net.jplugin.core.service.impl.esf.ESFRPCContext; 4 | 5 | import java.lang.reflect.Method; 6 | 7 | public interface IRPCHandler { 8 | public Object invokeRPC(ESFRPCContext ctx, String servicePath, final Object obj, final Method method, final Object[] args) throws Throwable; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/test/java/test/net/jplugin/das/hib/mt/NonMtPojo.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.das.hib.mt; 2 | 3 | public class NonMtPojo { 4 | long id; 5 | String name; 6 | public long getId() { 7 | return id; 8 | } 9 | public void setId(long id) { 10 | this.id = id; 11 | } 12 | public String getName() { 13 | return name; 14 | } 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindextension/Service1Impl1.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | 5 | @BindExtension(pointTo="testExtensionPoint",name="abc") 6 | public class Service1Impl1 implements IService1{ 7 | 8 | @Override 9 | public void greet() { 10 | System.out.println("haha "+this.getClass().getName()); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/mttest/MtTestForRequest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.mttest; 2 | 3 | import net.jplugin.core.kernel.api.ctx.ThreadLocalContextManager; 4 | 5 | public class MtTestForRequest { 6 | public String testGetTenantId(){ 7 | String tid = ThreadLocalContextManager.getCurrentContext().getRequesterInfo().getCurrentTenantId(); 8 | return tid; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/RuleServiceForId.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.core.ctx.api.BindRuleService; 4 | import net.jplugin.core.kernel.api.SetExtensionId; 5 | 6 | @SetExtensionId("IRuleServiceForId") 7 | @BindRuleService() 8 | public class RuleServiceForId implements IRuleServiceForId{ 9 | 10 | @Override 11 | public void a() { 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/RefRuleService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface RefRuleService { 11 | public String name() default ""; 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/IDynamicDataSourceProvider.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api; 2 | 3 | /** 4 | * 每次获取Connection都会调用,所以实现类要做好缓存。 5 | * @author LiuHang 6 | * 7 | */ 8 | public interface IDynamicDataSourceProvider { 9 | /** 10 | * declaredDataSource 也作为参数传入,实现类可以不用,更灵活一些 11 | * @param declaredDataSource 12 | * @return 13 | */ 14 | String computeDataSourceName(String declaredDataSource); 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/SetExtensionPriority.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface SetExtensionPriority { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/api/BindExportService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindExportService { 11 | public String path(); 12 | } -------------------------------------------------------------------------------- /jplugin-core/logs/jplugin-start.log: -------------------------------------------------------------------------------- 1 | 2022-04-09 12:09:30 $$$ plugin.home=D:\Work\git-repository\jplugin-v2\jplugin-core\. 2 | 2022-04-09 12:09:44 $$$ plugin.home=D:\Work\git-repository\jplugin-v2\jplugin-core\. 3 | 2022-04-11 20:05:53 $$$ plugin.home=D:\Work\git-repository\jplugin-v2\jplugin-core\. 4 | 2023-03-20 21:13:23 $$$ plugin.home=D:\Work\git-repository\jplugin\jplugin-core\. 5 | 2023-03-20 21:51:04 $$$ plugin.home=D:\Work\git-repository\jplugin\jplugin-core\. 6 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindextension/Service1Impl2.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | 5 | @BindExtension(pointTo="testExtensionPoint",name="abc") 6 | public class Service1Impl2 implements IService1{ 7 | 8 | @Override 9 | public void greet() { 10 | System.out.println("haha "+this.getClass().getName()); 11 | 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/test/net/jplugin/core/service/incept/ExtensionInceptTestClient.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.service.incept; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.service.api.ServiceFactory; 5 | 6 | public class ExtensionInceptTestClient { 7 | public void test(){ 8 | AssertKit.assertEqual(ServiceFactory.getService(IService212.class).hello(),"me1-me3-me2-hello"); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/BindMapperSet.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindMapperSet { 11 | public BindMapper[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/esf/IESFRestFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api.esf; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | import net.jplugin.common.kits.tuple.Tuple2; 5 | import net.jplugin.ext.webasic.impl.ESFRestContext; 6 | import net.jplugin.ext.webasic.impl.restm.invoker.CallParam; 7 | 8 | public interface IESFRestFilter extends IFilter> { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/esf/IESFRpcFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api.esf; 2 | 3 | import net.jplugin.common.kits.filter.IFilter; 4 | import net.jplugin.common.kits.tuple.Tuple2; 5 | import net.jplugin.core.service.impl.esf.ESFRPCContext; 6 | import net.jplugin.ext.webasic.api.InvocationContext; 7 | 8 | public interface IESFRpcFilter extends IFilter>{ 9 | 10 | } 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/BindRuleServiceSet.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindRuleServiceSet { 11 | public BindRuleService[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/TransactionHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-17 上午08:41:16 7 | **/ 8 | 9 | public interface TransactionHandler { 10 | 11 | /** 12 | * 13 | */ 14 | void doBegin(); 15 | 16 | /** 17 | * 18 | */ 19 | void doRollback(); 20 | 21 | /** 22 | * 23 | */ 24 | void doCommit(); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/api/BindServiceSet.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindServiceSet { 11 | public BindService[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/RefMybatisService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.jplugin.core.das.api.DataSourceFactory; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface RefMybatisService { 10 | public String dataSource() default DataSourceFactory.DATABASE_DSKEY; 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/the_select_db.config.properties: -------------------------------------------------------------------------------- 1 | #jdbc driver class name 2 | route-datasource-flag = true 3 | route-datasource-type = select-ds 4 | is-tx-managed = false 5 | 6 | path-list=aa,bb,cc 7 | 8 | aa-commands=SELECT|INSERT 9 | aa-tables=the_tb1 10 | aa-target=the_db_a 11 | aa-default= 12 | 13 | bb-commands= 14 | bb-tables=the_tb2 15 | bb-target=the_db_b 16 | bb-default= 17 | 18 | cc-target=the_db_c 19 | cc-default=true 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/ITransactionManagerListener.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-17 上午11:13:23 7 | **/ 8 | 9 | public interface ITransactionManagerListener { 10 | public void beforeBegin(); 11 | public void afterBegin(); 12 | public void beforeCommit(); 13 | public void afterCommit(boolean success); 14 | public void beforeRollback(); 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/autobindextension/IAutoBindExtensionAbstractClass.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.autobindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | 7 | @BindExtensionPoint( type = PointType.UNIQUE,supportPriority = true) 8 | public abstract class IAutoBindExtensionAbstractClass { 9 | 10 | public abstract void greet(); 11 | } 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/main/java/net/jplugin/core/das/hib/api/SinglePoDefine.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.hib.api; 2 | 3 | 4 | /** 5 | * 6 | * @author: LiuHang 7 | * @version 创建时间:2015-2-1 下午09:16:20 8 | **/ 9 | 10 | public class SinglePoDefine { 11 | Class poClass; 12 | 13 | public Class getPoClass() { 14 | return poClass; 15 | } 16 | public void setPoClass(Class poClass) { 17 | this.poClass = poClass; 18 | } 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/MtenantStatus.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant; 2 | 3 | import net.jplugin.core.config.api.ConfigFactory; 4 | 5 | public class MtenantStatus { 6 | private static boolean enable; 7 | public static void init(){ 8 | enable = "true".equalsIgnoreCase(ConfigFactory.getStringConfigWithTrim("mtenant.enable")); 9 | } 10 | public static boolean enabled(){ 11 | return enable; 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/BindServiceExport.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Target(ElementType.TYPE) 11 | //@Deprecated 12 | public @interface BindServiceExport { 13 | public String path(); 14 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 1.JPlugin基本介绍 2 | 3 | JPlugin是轻量级的应用框架,支持便捷地开发插件式的系统。插件式的架构是目前业界公认的最好的系统架构,可以应对未来的变化,并最大限度降低多个模块之间的耦合度。 4 | 5 | JPlugin 2.5.X以后分为三部分:JPlugin-core, JPlugin-das , JPlugin-mvc 6 | 7 | * JPlugin-core: 提供轻量级的插件插件式系统的核心机制。包括 kernel、service、log等少数几个核心插件。开发者可以单独基于JPlugin-core构造插件式系统。 8 | * JPlugin-das:提供与数据库访问相关的插件。jplugin-das基于jplugin-core,提供数据源管理能力,提供sqltemplate快速处理sql,也提供mybatis集成能力。 9 | * JPlugin-mvc:提供MVC机制的Web开发机制以及Http服务的开发能力。jplugin-mvc基于jplugin-core,可以方便地开发WebController或者Web服务。 10 | 11 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/impl/RuleInvocationHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.impl; 2 | 3 | import java.lang.reflect.Method; 4 | 5 | import net.jplugin.core.ctx.api.Rule; 6 | 7 | /** 8 | * 9 | * @author: LiuHang 10 | * @version 创建时间:2015-2-11 上午08:39:33 11 | **/ 12 | 13 | public interface RuleInvocationHandler { 14 | public Object invoke(Object proxyObj, Object oldService, Method method,Object[] args, Rule meta) throws Throwable; 15 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extension_incept2/AbsMyInterface1097.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extension_incept2; 2 | 3 | import net.jplugin.core.kernel.api.BindExtensionPoint; 4 | import net.jplugin.core.kernel.api.PointType; 5 | 6 | @BindExtensionPoint(type = PointType.LIST, supportPriority = true) 7 | public abstract class AbsMyInterface1097 { 8 | public abstract int hello(); 9 | 10 | public abstract int goodMorning(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/txtest/RefMapperTest.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.txtest; 2 | 3 | import net.jplugin.core.das.mybatis.api.RefMapper; 4 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 5 | 6 | public class RefMapperTest extends RefAnnotationSupport{ 7 | 8 | @RefMapper(dataSource="testdb") 9 | ITxTestDB1Mapper mapper; 10 | 11 | public void test(){ 12 | mapper.add("a1", "b1"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/xmltest/IXMLMapper.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.xmltest; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Param; 6 | 7 | import test.net.jplugin.core.das.mybatis.MybtestBean; 8 | 9 | public interface IXMLMapper { 10 | List select(); 11 | 12 | public void add(@Param("f1") String f1, @Param("f2") String f2); 13 | 14 | void clear(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/test/net/jplugin/common/kits/Clazz.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.common.kits; 2 | 3 | public class Clazz extends Clazz1{ 4 | String a; 5 | String b; 6 | private int c; 7 | 8 | public void print(){ 9 | super.print(); 10 | System.out.println(a+" "+b+" "+c); 11 | } 12 | } 13 | 14 | class Clazz1{ 15 | String x; 16 | private String y; 17 | private String z; 18 | public void print(){ 19 | System.out.println(x+" "+y+" "+z); 20 | } 21 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/BindRuleMethodInterceptorSet.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindRuleMethodInterceptorSet { 11 | public BindRuleMethodInterceptor[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/jplugincoretest/testUseTransaction/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.testUseTransaction; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.PluginAnnotation; 5 | 6 | @PluginAnnotation 7 | public class Plugin extends AbstractPlugin { 8 | 9 | @Override 10 | public int getPrivority() { 11 | return 0; 12 | } 13 | 14 | @Override 15 | public void init() { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IExtensionFactoryInterceptAble.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.util.List; 4 | 5 | public interface IExtensionFactoryInterceptAble { 6 | /** 7 | * 在Contruct以后被调用 8 | */ 9 | void setNeedIntercept(); 10 | 11 | /** 12 | * 在Load以后被调用 13 | * @param interceptorList 14 | */ 15 | void setInterceptors(List interceptorList); 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/ts/TbRoute0Mapper.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis.ts; 2 | 3 | import org.apache.ibatis.annotations.Param; 4 | 5 | public interface TbRoute0Mapper { 6 | public void add(@Param("f1") String f1,@Param("f2")int f2,@Param("f3") String f3); 7 | 8 | public TbRoute0 find(@Param("f1") String f1); 9 | 10 | public void update(TbRoute0 r); 11 | 12 | public void delete(@Param("f1") String f1); 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/MTenantConfigHelper.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant; 2 | 3 | import net.jplugin.core.config.api.ConfigFactory; 4 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 5 | 6 | public class MTenantConfigHelper extends RefAnnotationSupport{ 7 | 8 | public static String getDataSourceSchemaPrefix(String dsname){ 9 | return ConfigFactory.getStringConfigWithTrim("mtenant.schema-prefix."+dsname); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/IStartLogger.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | public interface IStartLogger { 4 | /** 5 | * write to new line 6 | * @param o 7 | */ 8 | public void log(Object o); 9 | /** 10 | * write to new line 11 | * @param o 12 | * @param th 13 | */ 14 | public void log(Object o,Throwable th); 15 | /** 16 | * within the same line 17 | * @param s 18 | */ 19 | public void write(Object s); 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/cachetest/ICacheMapper.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis.cachetest; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Param; 6 | 7 | import net.jplugin.core.das.api.PageCond; 8 | 9 | public interface ICacheMapper { 10 | 11 | public void add(@Param("id") int id,@Param("name") String name); 12 | 13 | public List queryWithPage(@Param("page") PageCond pc); 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/cachetest/TestCacheBean.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis.cachetest; 2 | 3 | public class TestCacheBean { 4 | int id; 5 | String name; 6 | public int getId() { 7 | return id; 8 | } 9 | public void setId(int id) { 10 | this.id = id; 11 | } 12 | public String getName() { 13 | return name; 14 | } 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/kits/PropertyFilterKits.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.kits; 2 | 3 | import net.jplugin.core.kernel.api.Extension; 4 | 5 | public class PropertyFilterKits { 6 | 7 | public static String filterProperty(String applyTo) { 8 | /** 9 | * 这里代码有点丑,先这样了,暂时用Extension.propertyFilter 10 | */ 11 | if (Extension.propertyFilter!=null) 12 | return Extension.propertyFilter.filte(applyTo); 13 | else 14 | return applyTo; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/impl/Util.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.impl; 2 | 3 | import java.sql.PreparedStatement; 4 | import java.sql.Statement; 5 | 6 | import net.jplugin.core.das.dds.api.IConnectionSettable; 7 | 8 | public class Util { 9 | 10 | public static void trySetConnection(Statement s,DummyConnection c) { 11 | if (s instanceof IConnectionSettable) { 12 | ((IConnectionSettable)s).setConnection(c); 13 | } 14 | 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/BindExtensionInterceptorSet.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindExtensionInterceptorSet { 11 | public BindExtensionInterceptor[] value(); 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/PluginAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface PluginAnnotation { 11 | int prepareSeq() default 0; 12 | boolean autoDetect() default true; 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extensin_incept/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extensin_incept; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.PluginAnnotation; 5 | 6 | @PluginAnnotation 7 | public class Plugin extends AbstractPlugin { 8 | 9 | @Override 10 | public int getPrivority() { 11 | return 0; 12 | } 13 | 14 | @Override 15 | public void init() { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extension_incept2/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extension_incept2; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.PluginAnnotation; 5 | 6 | @PluginAnnotation 7 | public class Plugin extends AbstractPlugin { 8 | 9 | @Override 10 | public int getPrivority() { 11 | return 0; 12 | } 13 | 14 | @Override 15 | public void init() { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/autobindextension/AutoBindExtensionIntfImpl.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.autobindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionPriority; 5 | 6 | 7 | @BindExtension 8 | public class AutoBindExtensionIntfImpl implements IAutoBindExtensionIntf{ 9 | 10 | @Override 11 | public String say(String n) { 12 | return "hello"+n; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/impl/conn/mulqry/CompareKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.impl.conn.mulqry; 2 | 3 | public class CompareKit { 4 | 5 | public static int compareSupportNull(Comparable o1, Comparable o2) { 6 | 7 | if (o1!=null && o2!=null) 8 | return o1.compareTo(o2); 9 | else if (o1!=null) 10 | return 1; 11 | else if (o2!=null) 12 | return -1; 13 | else 14 | //两个都为null 15 | return 0; 16 | 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/ServiceState.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import net.jplugin.ext.webasic.impl.restm.RestMethodState; 4 | 5 | public class ServiceState { 6 | public static void setSuccess(boolean b){ 7 | RestMethodState.setSuccess(b); 8 | } 9 | public static void setCode(String code){ 10 | RestMethodState.setCode(code); 11 | } 12 | public static void setMessage(String m){ 13 | RestMethodState.setMessage(m); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/bind/BindExControllerTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.bind; 2 | 3 | import net.jplugin.ext.webasic.api.AbstractExController; 4 | import net.jplugin.ext.webasic.api.BindController; 5 | 6 | @BindController(path = "/bindexcontroller") 7 | public class BindExControllerTest extends AbstractExController{ 8 | 9 | public void test(){ 10 | System.out.println("in BindExControllerTest"); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/api/RefConfig.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface RefConfig { 11 | String path(); 12 | String defaultValue() default ""; 13 | boolean autoRefresh() default false; 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/impl/ListInterfaceImpl2.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName.impl; 2 | 3 | 4 | import net.jplugin.core.kernel.api.BindExtension; 5 | 6 | @BindExtension 7 | public class ListInterfaceImpl2 extends ListInterfaceImpl1 implements IListInterface { 8 | 9 | @Override 10 | public String greet() { 11 | return "aaa"; 12 | } 13 | // 14 | // @Override 15 | // public void hi() { 16 | // 17 | // } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/ext/webasic/api/Para.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * 8 | * @author: LiuHang 9 | * @version 创建时间:2015-2-3 上午11:34:19 10 | **/ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface Para { 13 | public static final String FULL_MATCH ="_FULL_MATCH_"; 14 | public String name(); 15 | public boolean required() default false; 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/test/java/test/net/jplugin/das/hib/mt/MtPojo.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.das.hib.mt; 2 | 3 | import net.jplugin.core.das.api.BasicMtBean; 4 | 5 | public class MtPojo extends BasicMtBean{ 6 | long id; 7 | String name; 8 | public long getId() { 9 | return id; 10 | } 11 | public void setId(long id) { 12 | this.id = id; 13 | } 14 | public String getName() { 15 | return name; 16 | } 17 | public void setName(String name) { 18 | this.name = name; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/impl/MtDataSourceWrapperService.java: -------------------------------------------------------------------------------- 1 | //package net.jplugin.core.mtenant.impl; 2 | // 3 | //import java.sql.Connection; 4 | // 5 | //import net.jplugin.core.das.api.IConnectionWrapperService; 6 | // 7 | //public class MtDataSourceWrapperService implements IConnectionWrapperService { 8 | // 9 | // @Override 10 | // public Connection wrapper(String dsname,Connection connection) { 11 | // return new ConnectionWrapperForMt(dsname,connection); 12 | // } 13 | //} 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/BindStartup.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 该标注用在类上,用来在系统启动完毕的时候执行一些动作。这个类需要实现IStartup接口。 10 | */ 11 | 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.TYPE) 14 | public @interface BindStartup{ 15 | // String id() default ""; 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/impl/sess/SessionClearContextListener.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.impl.sess; 2 | 3 | import net.jplugin.core.kernel.api.ctx.ThreadLocalContext; 4 | import net.jplugin.core.kernel.api.ctx.ThreadLocalContextListener; 5 | 6 | public class SessionClearContextListener implements ThreadLocalContextListener { 7 | 8 | @Override 9 | public void released(ThreadLocalContext rc) { 10 | MybatisSessionManager.releaseSessions(rc); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/TestPathSearch.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic; 2 | 3 | import net.jplugin.ext.webasic.impl.WebDriver; 4 | 5 | public class TestPathSearch { 6 | 7 | public void test() { 8 | WebDriver.INSTANCE.parseControllerMeta("/a/b/c/d/e/f/g.do"); 9 | WebDriver.INSTANCE.parseControllerMeta("/a/b.do"); 10 | WebDriver.INSTANCE.parseControllerMeta("/a.do"); 11 | WebDriver.INSTANCE.parseControllerMeta("/.do"); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/test/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.test; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.PluginAnnotation; 5 | 6 | @PluginAnnotation 7 | public class Plugin extends AbstractPlugin { 8 | 9 | public Plugin(){ 10 | 11 | } 12 | @Override 13 | public int getPrivority() { 14 | return 0; 15 | } 16 | 17 | @Override 18 | public void init() { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/Service1ForId.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.core.kernel.api.SetExtensionId; 4 | import net.jplugin.core.service.api.BindService; 5 | 6 | //@BindService(id = "IService1ForId") 7 | 8 | @SetExtensionId("IService1ForId") 9 | //@BindService(accessClass = IService1ForId.class) 10 | @BindService() 11 | 12 | public class Service1ForId implements IService1ForId{ 13 | 14 | public void a() { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/api/BindServiceExport.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 本类不推荐使用,功能相同,请切换到 BindExportService 10 | */ 11 | @Deprecated 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.TYPE) 14 | public @interface BindServiceExport { 15 | public String path(); 16 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/WebExControllerTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.core.kernel.api.SetExtensionId; 4 | import net.jplugin.ext.webasic.api.BindController; 5 | 6 | //@BindController(path="/WebExControllerTest",id="WebExControllerTest") 7 | @SetExtensionId("WebExControllerTest") 8 | @BindController(path="/WebExControllerTest") 9 | public class WebExControllerTest { 10 | 11 | public void aa() { 12 | 13 | } 14 | 15 | 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/autobindextension/AutoBindExtensionACImpl.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.autobindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionPriority; 5 | 6 | @SetExtensionPriority(113) 7 | @BindExtension 8 | public class AutoBindExtensionACImpl extends IAutoBindExtensionAbstractClass{ 9 | @Override 10 | public void greet() { 11 | System.out.println("==============greet"); 12 | 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/webctrl/DemoWebCtrl.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.webctrl; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | import java.io.IOException; 6 | 7 | public class DemoWebCtrl { 8 | public void req(HttpServletRequest req, HttpServletResponse res) throws IOException { 9 | String name = (String) req.getParameter("name"); 10 | res.getWriter().write(name); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/autobindextension/AutoBindExtensionACImpl2.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.autobindextension; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionPriority; 5 | 6 | @SetExtensionPriority(112) 7 | @BindExtension 8 | public class AutoBindExtensionACImpl2 extends IAutoBindExtensionAbstractClass { 9 | @Override 10 | public void greet() { 11 | System.out.println("good!==================="); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/IController.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import java.util.List; 4 | 5 | import javax.servlet.http.HttpServletRequest; 6 | import javax.servlet.http.HttpServletResponse; 7 | 8 | /** 9 | * 10 | * @author: LiuHang 11 | * @version 创建时间:2015-2-3 下午05:51:09 12 | **/ 13 | 14 | public interface IController { 15 | 16 | public void dohttp(String servicePath,HttpServletRequest req,HttpServletResponse res,String innerPath) throws Throwable; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/bind/BindControllerTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.bind; 2 | import javax.servlet.http.HttpServletRequest; 3 | import javax.servlet.http.HttpServletResponse; 4 | 5 | import net.jplugin.ext.webasic.api.BindController; 6 | 7 | @BindController(path="/bindcontroller") 8 | public class BindControllerTest { 9 | 10 | public void test(HttpServletRequest req,HttpServletResponse res){ 11 | System.out.println("in BindControllerTest"); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/test/java/test/net/jplugin/core/mtenant/iterator/TenantListProvider.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.mtenant.iterator; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import net.jplugin.core.mtenant.api.ITenantListProvidor; 7 | 8 | public class TenantListProvider implements ITenantListProvidor { 9 | 10 | @Override 11 | public List getTenantList() { 12 | ArrayList list = new ArrayList<>(); 13 | list.add("1001"); 14 | list.add("1002"); 15 | return list; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bind/BindTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bind; 2 | 3 | import net.jplugin.core.ctx.api.RefRuleService; 4 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 5 | 6 | public class BindTest extends RefAnnotationSupport{ 7 | 8 | @RefRuleService 9 | IBindRuleService svc; 10 | @RefRuleService 11 | IBindRuleService2 svc2; 12 | @RefRuleService 13 | IBindRuleService3 svc3; 14 | public void test(){ 15 | svc.m1(); 16 | svc2.m2(); 17 | svc3.mmmm3(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindextension/TestBindExtension.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindextension; 2 | 3 | import java.util.List; 4 | 5 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 6 | import net.jplugin.core.kernel.api.RefExtensions; 7 | 8 | public class TestBindExtension extends RefAnnotationSupport{ 9 | 10 | @RefExtensions(pointTo="testExtensionPoint") 11 | List list; 12 | public void test(){ 13 | 14 | for (IService1 s:list){ 15 | s.greet(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/impl/CallableList.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.impl; 2 | 3 | import java.sql.PreparedStatement; 4 | import java.sql.SQLException; 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | public class CallableList { 9 | List> al = new ArrayList>(); 10 | public void add(MyCallable mc){ 11 | al.add(mc); 12 | } 13 | public void executeWith(T t) throws SQLException { 14 | for (MyCallable o:al){ 15 | o.call(t); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/test/java/test/net/jplugin/core/das/hib/DBHibTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.hib; 2 | 3 | import net.jplugin.core.das.hib.api.Entity; 4 | 5 | @Entity(idgen="uuid.hex") 6 | public class DBHibTest { 7 | 8 | String id; 9 | String name; 10 | public String getId() { 11 | return id; 12 | } 13 | public void setId(String id) { 14 | this.id = id; 15 | } 16 | public String getName() { 17 | return name; 18 | } 19 | public void setName(String name) { 20 | this.name = name; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/jplugincoretest/mybastic/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.mybastic; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.CoreServicePriority; 5 | import net.jplugin.core.kernel.api.PluginAnnotation; 6 | 7 | @PluginAnnotation 8 | public class Plugin extends AbstractPlugin { 9 | @Override 10 | public int getPrivority() { 11 | return CoreServicePriority.DAS_IBATIS+1; 12 | } 13 | 14 | @Override 15 | public void init() { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/kits/RunnableInitFilterManager.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.kits; 2 | 3 | import net.jplugin.core.kernel.api.PluginFilterManager; 4 | 5 | public class RunnableInitFilterManager { 6 | static PluginFilterManager filterManager = new PluginFilterManager<>(net.jplugin.core.kernel.Plugin.EP_EXE_RUN_INIT_FILTER,null); 7 | 8 | public static void init(){ 9 | filterManager.init(); 10 | } 11 | public static void filter(RunnableWrapper o){ 12 | filterManager.filter(o); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extensin_incept/MyInterface1097Impl2.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extensin_incept; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionPriority; 5 | 6 | @SetExtensionPriority(10) 7 | @BindExtension 8 | public class MyInterface1097Impl2 implements IMyInterface1097{ 9 | @Override 10 | public int hello() { 11 | return 0; 12 | } 13 | 14 | @Override 15 | public int goodMorning() { 16 | return 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/ExtensionDefinition4Incept.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | public class ExtensionDefinition4Incept { 4 | String dataSource; 5 | Class clazz; 6 | public String getDataSource() { 7 | return dataSource; 8 | } 9 | public void setDataSource(String dataSourceName) { 10 | this.dataSource = dataSourceName; 11 | } 12 | public Class getClazz() { 13 | return clazz; 14 | } 15 | public void setClazz(Class clazz) { 16 | this.clazz = clazz; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/api/TenantResult.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant.api; 2 | 3 | public class TenantResult{ 4 | Throwable throwable; 5 | Object result; 6 | String tenantId; 7 | TenantResult(String tid,Object r,Throwable t){ 8 | this.tenantId = tid; 9 | this.result = r; 10 | this.throwable = t; 11 | } 12 | public String getTenantId() { 13 | return tenantId; 14 | } 15 | public Throwable getThrowable() { 16 | return throwable; 17 | } 18 | public Object getResult() { 19 | return result; 20 | } 21 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extension_incept2/MyInterface1097Impl2.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extension_incept2; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionPriority; 5 | 6 | @SetExtensionPriority(10) 7 | @BindExtension 8 | public class MyInterface1097Impl2 extends AbsMyInterface1097 { 9 | @Override 10 | public int hello() { 11 | return 0; 12 | } 13 | 14 | @Override 15 | public int goodMorning() { 16 | return 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/impl/util/CallableList.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.impl.util; 2 | 3 | import java.sql.PreparedStatement; 4 | import java.sql.SQLException; 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | public class CallableList { 9 | List> al = new ArrayList>(); 10 | public void add(MyCallable mc){ 11 | al.add(mc); 12 | } 13 | public void executeWith(T t) throws SQLException { 14 | for (MyCallable o:al){ 15 | o.call(t); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/webctrl/DemoWebExCtrl.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.webctrl; 2 | 3 | import net.jplugin.ext.webasic.api.AbstractExController; 4 | import net.jplugin.ext.webasic.impl.web.webex.WebExController; 5 | 6 | import java.io.IOException; 7 | 8 | public class DemoWebExCtrl extends AbstractExController { 9 | 10 | public void test() throws IOException { 11 | String name = (String) getAttr("name"); 12 | getRes().getWriter().write(name); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/ExceptionKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits; 2 | 3 | import java.lang.reflect.InvocationTargetException; 4 | 5 | public class ExceptionKit { 6 | 7 | public static Throwable getRootCause(Throwable t) { 8 | if (t==null) { 9 | return null; 10 | } 11 | if (t instanceof InvocationTargetException) { 12 | t = ((InvocationTargetException) t).getTargetException(); 13 | } 14 | if (t instanceof ExceptionInInitializerError) { 15 | t = t.getCause(); 16 | } 17 | return t; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/inferenceRefPointName/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.inferenceRefPointName; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.CoreServicePriority; 5 | import net.jplugin.core.kernel.api.PluginAnnotation; 6 | 7 | @PluginAnnotation 8 | public class Plugin extends AbstractPlugin { 9 | @Override 10 | public int getPrivority() { 11 | return CoreServicePriority.KERNEL+1; 12 | } 13 | 14 | @Override 15 | public void init() { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-log/src/main/java/net/jplugin/core/log/impl/LogServiceImpl4Compatible.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.log.impl; 2 | 3 | import net.jplugin.core.log.api.ILogService; 4 | import net.jplugin.core.log.api.LogFactory; 5 | import net.jplugin.core.log.api.Logger; 6 | 7 | public class LogServiceImpl4Compatible implements ILogService { 8 | 9 | public Logger getLogger(String name) { 10 | return LogFactory.getLogger(name); 11 | } 12 | 13 | public Logger getSpecicalLogger(String filename) { 14 | return LogFactory.getSpecicalLogger(filename); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/MybtestBean.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis; 2 | 3 | 4 | public class MybtestBean { 5 | String f1; 6 | String f2; 7 | 8 | public String toString(){ 9 | return "\nf1="+f1+", f2="+f2; 10 | } 11 | 12 | public String getF1() { 13 | return f1; 14 | } 15 | 16 | public void setF1(String f1) { 17 | this.f1 = f1; 18 | } 19 | 20 | public String getF2() { 21 | return f2; 22 | } 23 | 24 | public void setF2(String f2) { 25 | this.f2 = f2; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/BindController.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.TYPE) 10 | public @interface BindController { 11 | public String path(); 12 | 13 | /** 14 | * id 可以通过ExtensionFactory.get(id)找到对应的对象 15 | * @return 16 | */ 17 | // public String id() default ""; 18 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/application/config/log4j.config.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=INFO, root,stdout 2 | log4j.appender.root=org.apache.log4j.DailyRollingFileAppender 3 | log4j.appender.root.file=${work-dir}/logs/root 4 | log4j.appender.root.DatePattern='.'yyyy-MM-dd'.log' 5 | log4j.appender.root.layout=org.apache.log4j.PatternLayout 6 | log4j.appender.root.layout.ConversionPattern=%d %-5p %F %L - %m%n 7 | 8 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 9 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 10 | log4j.appender.stdout.layout.ConversionPattern=%p [%c] %m%n -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testconfig/impl/MyBean.java: -------------------------------------------------------------------------------- 1 | package net.luis.testconfig.impl; 2 | 3 | import net.jplugin.core.config.api.RefConfig; 4 | import net.jplugin.core.kernel.api.BindBean; 5 | 6 | @BindBean(id = "mybeanid1") 7 | public class MyBean { 8 | 9 | @RefConfig(path = "group1.key1",autoRefresh = true,defaultValue = "default1") 10 | String cfg1; 11 | 12 | @RefConfig(path = "group1.key2",autoRefresh = true,defaultValue = "default1") 13 | String cfg2; 14 | 15 | public String getCfg1() { 16 | return cfg1; 17 | } 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/test/java/test/net/jplugin/core/das/route/SqlWordsWalkerTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.route; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.das.kits.SqlWordsWalker; 5 | 6 | public class SqlWordsWalkerTest { 7 | 8 | public static void main(String[] args) { 9 | String s = "select * from a where a!=b"; 10 | SqlWordsWalker w = SqlWordsWalker.createFromSql(s); 11 | System.out.println(w.toSql()); 12 | AssertKit.assertEqual(w.toSql(), "select * from a where a != b"); 13 | 14 | } 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-event/src/main/java/net/jplugin/core/event/api/Event.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.event.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-7 下午03:24:16 7 | **/ 8 | 9 | public abstract class Event { 10 | private long id; 11 | String type; 12 | 13 | public Event(String aType){ 14 | this.type = aType; 15 | } 16 | 17 | public long getId() { 18 | return id; 19 | } 20 | 21 | public void setId(long id) { 22 | this.id = id; 23 | } 24 | 25 | 26 | public final String getType() { 27 | return type; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/impl/DataSourceDefinition.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api.impl; 2 | 3 | public class DataSourceDefinition { 4 | String configGroupName; 5 | boolean managed; 6 | public String getConfigGroupName() { 7 | return configGroupName; 8 | } 9 | public void setConfigGroupName(String configGroupName) { 10 | this.configGroupName = configGroupName; 11 | } 12 | public boolean getManaged() { 13 | return managed; 14 | } 15 | public void setManaged(boolean managed) { 16 | this.managed = managed; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-log/src/main/java/net/jplugin/core/log/api/ILogService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.log.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-8 上午12:22:40 7 | **/ 8 | 9 | public interface ILogService { 10 | 11 | /** 12 | * 获取系统日志Logger 13 | * @param name 14 | * @return 15 | */ 16 | public abstract Logger getLogger(String name); 17 | 18 | /** 19 | * 获取特殊的专用Logger:名字是特殊的,并且additive=false,level=debug 20 | * @param filename 21 | * @return 22 | */ 23 | public abstract Logger getSpecicalLogger(String filename); 24 | 25 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/test/java/test/net/jplugin/das/hib/DBPojoIdNativeTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.das.hib; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-5 下午06:43:56 7 | **/ 8 | 9 | public class DBPojoIdNativeTest { 10 | long id; 11 | String name; 12 | 13 | public long getId() { 14 | return id; 15 | } 16 | 17 | public void setId(long id) { 18 | this.id = id; 19 | } 20 | 21 | public String getName() { 22 | return name; 23 | } 24 | 25 | public void setName(String name) { 26 | this.name = name; 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/Test.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch; 2 | 3 | import net.jplugin.core.service.api.BindService; 4 | import net.jplugin.core.service.api.BindServiceSet; 5 | 6 | public class Test { 7 | 8 | public static void main(String[] args) { 9 | BindServiceSet sss = ServiceTest.class.getAnnotation(BindServiceSet.class); 10 | ServiceTest.class.getAnnotationsByType(BindService.class); 11 | BindService[] values = sss.value(); 12 | for (int i=0;i getAcceptPaths(); 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/impl/autofresh/AutoRefreshConfigChangeHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config.impl.autofresh; 2 | 3 | import java.util.List; 4 | 5 | import net.jplugin.core.config.api.IConfigChangeContext; 6 | import net.jplugin.core.config.api.IConfigChangeHandler; 7 | 8 | public class AutoRefreshConfigChangeHandler implements IConfigChangeHandler{ 9 | 10 | @Override 11 | public void onChange(IConfigChangeContext ctx) { 12 | List keys = ctx.getChangedKeys(); 13 | RefConfigAutoRefresher.instance.keysChanged(keys); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/mapreturn/ExportForMapBeanTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.mapreturn; 2 | 3 | import java.io.IOException; 4 | 5 | import net.jplugin.common.kits.http.HttpKit; 6 | import net.jplugin.common.kits.http.HttpStatusException; 7 | 8 | public class ExportForMapBeanTest { 9 | 10 | public void test() throws IOException, HttpStatusException { 11 | String result = HttpKit.post("http://localhost:8080/demo/mapreturn/getResult.do",null); 12 | 13 | System.out.println(result); 14 | 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/XMLNodeOperation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created on 2003-10-22 3 | * 4 | * To change the template for this generated file go to 5 | * Window>Preferences>Java>Code Generation>Code and Comments 6 | */ 7 | package net.jplugin.common.kits; 8 | 9 | import org.w3c.dom.Node; 10 | 11 | /** 12 | * @author Liu Hang 13 | * 14 | * To change the template for this generated type comment go to 15 | * Window>Preferences>Java>Code Generation>Code and Comments 16 | */ 17 | public interface XMLNodeOperation { 18 | public void disposeNode(Node nd); 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/sqlrefactor/SqlRefactorConnWrapperService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.sqlrefactor; 2 | 3 | import java.sql.Connection; 4 | 5 | import net.jplugin.core.das.api.IConnectionWrapperService; 6 | 7 | public class SqlRefactorConnWrapperService implements IConnectionWrapperService{ 8 | 9 | @Override 10 | public Connection wrapper(String dataSourceName, Connection connection) { 11 | if (SqlRefactorManager.hasSqlRefactor()) 12 | return new ConnectionWrapperForSqlRefactor(dataSourceName, connection); 13 | else return connection; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/base.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/api/RouterException.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.api; 2 | 3 | public class RouterException extends RuntimeException { 4 | 5 | public RouterException(String message, Throwable cause) { 6 | super(message, cause); 7 | // TODO Auto-generated constructor stub 8 | } 9 | 10 | public RouterException(String message) { 11 | super(message); 12 | // TODO Auto-generated constructor stub 13 | } 14 | 15 | public RouterException(Throwable cause) { 16 | super(cause); 17 | // TODO Auto-generated constructor stub 18 | } 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/test_extenxion_incept/AbstractServiceForInceptTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service.test_extenxion_incept; 2 | 3 | import jplugincoretest.service.Plugin; 4 | import net.jplugin.core.kernel.api.BindExtensionPoint; 5 | import net.jplugin.core.kernel.api.PointType; 6 | 7 | @BindExtensionPoint(type = PointType.LIST ,name = Plugin.EP_SERVICE_FOR_INCEPT) 8 | public abstract class AbstractServiceForInceptTest { 9 | public static String staticVar; 10 | 11 | public String instanceVar; 12 | 13 | 14 | public abstract String hello(String name); 15 | } 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/ExtensionForIdTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionId; 5 | 6 | //@BindExtension(pointTo = "EL_ExtensionForIdTest", id="ExtensionForIdTest") 7 | 8 | @SetExtensionId("ExtensionForIdTest") 9 | @BindExtension(pointTo = "EL_ExtensionForIdTest") 10 | public class ExtensionForIdTest implements IExtensionForIdTest{ 11 | 12 | @Override 13 | public void aaa() { 14 | // TODO Auto-generated method stub 15 | 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/ant/CreateFileTask.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.ant; 2 | 3 | import net.jplugin.common.kits.FileKit; 4 | 5 | public class CreateFileTask { 6 | 7 | private String fileName; 8 | 9 | public void execute() throws Exception{ 10 | FileKit.string2File("", fileName); 11 | } 12 | 13 | public void setFileName(String f){ 14 | this.fileName = f; 15 | System.out.println("$$$ to create file = "+f); 16 | } 17 | 18 | // public static void main(String[] args) throws Exception { 19 | // FileKit.string2File("aaa", "d:/aaa.txt"); 20 | // } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/monitor/MonitorConnWrapperService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.monitor; 2 | 3 | import java.sql.Connection; 4 | 5 | import net.jplugin.core.das.api.IConnectionWrapperService; 6 | 7 | public class MonitorConnWrapperService implements IConnectionWrapperService{ 8 | 9 | @Override 10 | public Connection wrapper(String dataSourceName, Connection connection) { 11 | if (SqlMonitorListenerManager.instance.hasListener() || SqlMonitor.hasFilter) 12 | return new ConnectionWrapper(connection,dataSourceName); 13 | else 14 | return connection; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/main/java/net/jplugin/core/das/hib/api/Entity.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.hib.api; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Entity { 8 | public String tableName() default ""; 9 | public String idField() default "id"; 10 | public String[] indexes() default ""; 11 | public String idgen() default "native"; 12 | public String textFields() default ""; 13 | //native(交给数据库,根据数据库自动确定)|uuid.hex(uuid)|assigned|increment(内存,不支持多实例)|sequence(db2,ora)|identity(自增长,oracle不支持) 14 | } 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/test/java/test/net/jplugin/das/hib/DBPojoTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.das.hib; 2 | 3 | import net.jplugin.core.das.hib.api.Entity; 4 | 5 | /** 6 | * 7 | * @author: LiuHang 8 | * @version 创建时间:2015-2-5 下午06:14:53 9 | **/ 10 | 11 | @Entity(idgen="uuid.hex") 12 | public class DBPojoTest { 13 | String id; 14 | String name; 15 | public String getId() { 16 | return id; 17 | } 18 | public void setId(String id) { 19 | this.id = id; 20 | } 21 | public String getName() { 22 | return name; 23 | } 24 | public void setName(String name) { 25 | this.name = name; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/xmltest/IXMLMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 12 | 13 | DELETE FROM mybtest 14 | 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/test/java/test/net/jplugin/core/das/route/where/funcs/MytestFunctionHandler.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.route.where.funcs; 2 | 3 | import net.jplugin.core.das.route.api.IFunctionHandler; 4 | 5 | public class MytestFunctionHandler implements IFunctionHandler{ 6 | 7 | @Override 8 | public Object getResult(Object[] args) { 9 | long ret = 0; 10 | for (Object o:args){ 11 | if (o!=null){ 12 | if (! (o instanceof Long)){ 13 | throw new RuntimeException(" must be int type param."); 14 | } 15 | ret += (Long)o; 16 | } 17 | } 18 | return ret; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/src/main/java/net/jplugin/common/kits/http/mock/HttpSessionMock.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.http.mock; 2 | 3 | import java.util.HashMap; 4 | 5 | public class HttpSessionMock extends HttpSessionEmpty { 6 | static HashMap attrMap = new HashMap(); 7 | 8 | public static void set(String key,Object o){ 9 | attrMap.put(key, o); 10 | } 11 | 12 | @Override 13 | public Object getAttribute(String s) { 14 | return attrMap.get(s); 15 | } 16 | 17 | @Override 18 | public void setAttribute(String key, Object val) { 19 | attrMap.put(key, val); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/test/net/jplugin/common/kits/ReflactTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.common.kits; 2 | 3 | import java.lang.reflect.Field; 4 | import java.util.List; 5 | 6 | import net.jplugin.common.kits.ReflactKit; 7 | 8 | public class ReflactTest { 9 | public static void main(String[] args) { 10 | Clazz c = new Clazz(); 11 | List flist = ReflactKit.getAllFields(c); 12 | 13 | for (Field f:flist){ 14 | System.out.println(f.getName()); 15 | if (f.getType()==String.class) 16 | ReflactKit.setFieldValueForce(f,c,"a"); 17 | } 18 | 19 | c.print(); 20 | } 21 | 22 | 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/BindMapper.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Repeatable; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | import net.jplugin.core.das.api.DataSourceFactory; 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.TYPE) 13 | @Repeatable(BindMapperSet.class) 14 | public @interface BindMapper { 15 | public String dataSource() default DataSourceFactory.DATABASE_DSKEY; 16 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/impl/stat/StringFromItem.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.impl.stat; 2 | 3 | import java.util.List; 4 | 5 | public class StringFromItem implements IFromItem{ 6 | String name; 7 | private String alias; 8 | 9 | public StringFromItem(String nm,String ali){ 10 | this.name = nm; 11 | this.alias = ali; 12 | } 13 | 14 | public void appendToClause(StringBuffer sb) { 15 | if (name!=null){ 16 | sb.append(" ").append(name); 17 | } 18 | if (alias!=null){ 19 | sb.append(" ").append(alias); 20 | } 21 | } 22 | public void addToBindList(List list) { 23 | } 24 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/main/java/net/jplugin/core/das/mybatis/api/ExtensionDefinition4Mapping.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.mybatis.api; 2 | 3 | public class ExtensionDefinition4Mapping { 4 | String dataSource; 5 | String interfOrResource; 6 | 7 | public String getDataSource() { 8 | return dataSource; 9 | } 10 | public void setDataSource(String dataSourceName) { 11 | this.dataSource = dataSourceName; 12 | } 13 | public String getInterfOrResource() { 14 | return interfOrResource; 15 | } 16 | public void setInterfOrResource(String interfOrResource) { 17 | this.interfOrResource = interfOrResource; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/TestClientFilter.java: -------------------------------------------------------------------------------- 1 | package net.luis.main; 2 | 3 | import net.jplugin.core.rclient.api.ClientCallContext; 4 | import net.jplugin.core.rclient.api.IClientFilter; 5 | 6 | public class TestClientFilter implements IClientFilter{ 7 | 8 | public void filterStart(ClientCallContext ctx) { 9 | System.out.println("@@@@@@@@client filter startr:"+ctx.getMethod().getName()); 10 | } 11 | 12 | public void filterEnd(ClientCallContext ctx) { 13 | System.out.println("@@@@@@@@client filter end:"+ctx.getMethod().getName()+" dural="+ctx.getDural()+ " ret = "+ctx.getReturnObject()); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java_dds/net/jplugin/core/das/dds/kits/SqlParserKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.dds.kits; 2 | 3 | import java.io.StringReader; 4 | 5 | import net.sf.jsqlparser.parser.CCJSqlParserManager; 6 | import net.sf.jsqlparser.statement.Statement; 7 | 8 | public abstract class SqlParserKit { 9 | 10 | public static Statement parse(String sql) { 11 | try { 12 | CCJSqlParserManager pm = new CCJSqlParserManager(); 13 | Statement statement = pm.parse(new StringReader(sql)); 14 | return statement; 15 | } catch (Exception e) { 16 | throw new RuntimeException("sql parse error:"+sql); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/WebFilter.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | 6 | /** 7 | * 8 | * @author: LiuHang 9 | * @version 创建时间:2015-2-5 上午10:24:00 10 | **/ 11 | 12 | public interface WebFilter { 13 | /** 14 | * 如果返回true继续,返回false不再继续 15 | * @param req 16 | * @param res 17 | * @return 18 | */ 19 | public boolean doFilter(HttpServletRequest req,HttpServletResponse res); 20 | 21 | public void doAfter(HttpServletRequest req, HttpServletResponse res, Throwable th); 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/test/java/test/net/jplugin/core/config/change/ConfigChangeTest.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.config.change; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import net.jplugin.core.config.impl.ConfigureChangeManager; 7 | 8 | public class ConfigChangeTest { 9 | 10 | public static void test(){ 11 | List l= new ArrayList<>(); 12 | l.add("group1.key1"); 13 | l.add("group1.key2"); 14 | l.add("group2.key1"); 15 | l.add("group2.key2"); 16 | ConfigureChangeManager.instance.fireConfigChange(l); 17 | ConfigChangeHandler1.valid(); 18 | ConfigChangeHandler2.valid(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/BindRuleMethodInterceptor.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Repeatable; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Repeatable(BindRuleMethodInterceptorSet.class) 11 | @Target(ElementType.TYPE) 12 | public @interface BindRuleMethodInterceptor { 13 | public String applyTo(); 14 | public int sequence() default 10;//默认不要为0,0优先级太高了 15 | // public String id() default ""; 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/RedisLock_Moved.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | //package net.jplugin.core.ctx.api; 3 | // 4 | //import java.lang.annotation.Retention; 5 | //import java.lang.annotation.RetentionPolicy; 6 | // 7 | ///** 8 | // * 例子: 9 | // * @Rule (methodType=TxType.ANY,keyIndex=5,logIndexes={1,2,3}) 10 | // **/ 11 | // 12 | // 13 | //@Retention(RetentionPolicy.RUNTIME) 14 | //public @interface RedisLock { 15 | // public String type(); 16 | // public int paramIndex(); 17 | // public int waitSecondsWhenConflict() default 6; 18 | // public int timeOutSeconds() default 180; 19 | //} 20 | // 21 | // 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/ExtensionMTenantHelper.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.Extension; 5 | 6 | public class ExtensionMTenantHelper { 7 | public static void addTenantListProvidorExtension(AbstractPlugin p,Class c){ 8 | p.addExtension(Extension.create(net.jplugin.core.mtenant.Plugin.EP_TENANTLIST_PROVIDOR, c)); 9 | } 10 | public static void addTenantStoreStgProvider(AbstractPlugin p,Class c){ 11 | p.addExtension(Extension.create(net.jplugin.core.mtenant.Plugin.EP_TENANT_STORESTG_PROVIDOR, c)); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-hib/src/main/java/net/jplugin/core/das/hib/api/ExtensionDasHelper.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.hib.api; 2 | 3 | import net.jplugin.core.das.hib.Plugin; 4 | import net.jplugin.core.kernel.api.AbstractPlugin; 5 | import net.jplugin.core.kernel.api.Extension; 6 | 7 | /** 8 | * 9 | * @author: LiuHang 10 | * @version 创建时间:2015-2-1 下午09:01:41 11 | **/ 12 | 13 | public class ExtensionDasHelper { 14 | public static void addDataMappingExtension(AbstractPlugin plugin,Class entityCls){ 15 | plugin.addExtension(Extension.create(Plugin.EP_DATAMAPPING_SINGLE, SinglePoDefine.class,new String[][]{{"poClass",entityCls.getName()}})); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-staticweb/src/main/java/net/jplugin/ext/staticweb/Plugin.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.staticweb; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.CorePlugin; 5 | import net.jplugin.core.kernel.api.CoreServicePriority; 6 | 7 | public class Plugin extends AbstractPlugin{ 8 | 9 | @Override 10 | public void init() { 11 | 12 | } 13 | 14 | @Override 15 | public int getPrivority() { 16 | return CoreServicePriority.STATIC_WEB; 17 | } 18 | 19 | @Override 20 | public boolean searchClazzForExtension() { 21 | // TODO Auto-generated method stub 22 | return false; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/ant/CreateBinsTask.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.ant; 2 | 3 | import net.jplugin.common.kits.FileKit; 4 | 5 | public class CreateBinsTask { 6 | private String dir; 7 | 8 | public void execute() throws Exception{ 9 | String s = FileKit.classPathFile2String(this.getClass(), "startup.cmd", "utf-8"); 10 | FileKit.string2File(s, dir+"/startup.cmd"); 11 | s = FileKit.classPathFile2String(this.getClass(), "startup.sh", "utf-8"); 12 | FileKit.string2File(s, dir+"/startup.sh"); 13 | } 14 | 15 | public void setDir(String f){ 16 | FileKit.makeDirectory(f); 17 | this.dir = f; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extensin_incept/MyInterface1097Impl1.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extensin_incept; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionId; 5 | import net.jplugin.core.kernel.api.SetExtensionPriority; 6 | 7 | @SetExtensionId("MyInterface1097Impl1") 8 | @SetExtensionPriority(20) 9 | @BindExtension 10 | public class MyInterface1097Impl1 implements IMyInterface1097{ 11 | @Override 12 | public int hello() { 13 | return 0; 14 | } 15 | 16 | @Override 17 | public int goodMorning() { 18 | return 0; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/api/JPluginApi.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.api; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface JPluginApi { 8 | /** 9 | * 调用者类型:CallerType 10 | */ 11 | public enum CT{APP,USER,SSO} 12 | /** 13 | * 限制级别:RestrictLevel 14 | */ 15 | public enum RL{NONE,TK,AUTH} 16 | /** 17 | * API名称 18 | * @return 19 | */ 20 | String name() default ""; 21 | /** 22 | * API控制级别 23 | * @return 24 | */ 25 | RL restrictLevel() default RL.NONE; 26 | CT callerType(); 27 | } 28 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/BeanTestTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 5 | import net.jplugin.core.kernel.api.RefBean; 6 | 7 | public class BeanTestTest extends RefAnnotationSupport{ 8 | 9 | @RefBean(id="mybean1") 10 | Object bean1; 11 | 12 | @RefBean(id="mybean1") 13 | BeanTest bean2; 14 | public void test() { 15 | AssertKit.assertEqual(bean2.name(), "hahaha"); 16 | AssertKit.assertEqual(bean1.getClass(),BeanTest.class); 17 | AssertKit.assertTrue(bean1==bean2); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testconfig/Plugin.java: -------------------------------------------------------------------------------- 1 | package net.luis.testconfig; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.ExtensionObjects; 5 | import net.jplugin.core.kernel.api.PluginAnnotation; 6 | 7 | @PluginAnnotation 8 | public class Plugin extends AbstractPlugin { 9 | 10 | @Override 11 | public void init() { 12 | // PluginEnvirement.INSTANCE.resolveRefAnnotation(new MyBean()); 13 | 14 | ExtensionObjects.get("testconfigbean",net.luis.testconfig.impl.TestCfgs.class).test(); 15 | } 16 | 17 | @Override 18 | public int getPrivority() { 19 | return 0; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/client/ClientInvocationManager.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.client; 2 | 3 | public class ClientInvocationManager { 4 | public static ClientInvocationManager INSTANCE = new ClientInvocationManager(); 5 | ThreadLocal param = new ThreadLocal(); 6 | 7 | public void setParam(InvocationParam p){ 8 | param.set(p); 9 | } 10 | public InvocationParam getParam() { 11 | return param.get(); 12 | } 13 | public InvocationParam getAndClearParam() { 14 | InvocationParam p = param.get(); 15 | if (p!=null) 16 | param.set(null); 17 | return p; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/test/java/jplugincoretest/bind_extension_incept2/MyInterface1097Impl1.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.bind_extension_incept2; 2 | 3 | import net.jplugin.core.kernel.api.BindExtension; 4 | import net.jplugin.core.kernel.api.SetExtensionId; 5 | import net.jplugin.core.kernel.api.SetExtensionPriority; 6 | 7 | @SetExtensionId("MyInterface1097Impl1-2") 8 | @SetExtensionPriority(20) 9 | @BindExtension 10 | public class MyInterface1097Impl1 extends AbsMyInterface1097 { 11 | @Override 12 | public int hello() { 13 | return 0; 14 | } 15 | 16 | @Override 17 | public int goodMorning() { 18 | return 0; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/api/UseTransaction.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | *
10 |  * 此标注用在service扩展点(BindService注册的扩展类)的方法上,实现对这个方法的事务控制。
11 |  * 如果事务控制的类在执行过程中又调用了事务操作,则内层事务无效,合并到外层事务当中。
12 |  *
13 |  * 注意:只可以标注在public/protected/default类型方法上,标注在private类型方法上无法产生事务
14 |  * 
15 | */ 16 | 17 | 18 | @Retention(RetentionPolicy.RUNTIME) 19 | @Target(ElementType.METHOD) 20 | public @interface UseTransaction { 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/impl/conn/LogUtil.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.impl.conn; 2 | 3 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 4 | import net.jplugin.core.log.api.Logger; 5 | import net.jplugin.core.log.api.RefLogger; 6 | 7 | public class LogUtil extends RefAnnotationSupport{ 8 | public static LogUtil instance = new LogUtil(); 9 | 10 | @RefLogger 11 | Logger logger; 12 | public void log(SqlHandleResult shr) { 13 | if (logger.isDebugEnabled()){ 14 | logger.debug("RouteSql:"+shr.getResultSql()); 15 | logger.debug("RouteDataSource:"+shr.getDataSourceInfos()); 16 | } 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/WebControllerTest.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import javax.servlet.http.HttpServletRequest; 4 | import javax.servlet.http.HttpServletResponse; 5 | 6 | import net.jplugin.core.kernel.api.SetExtensionId; 7 | import net.jplugin.ext.webasic.api.BindController; 8 | 9 | //@BindController(path="/WebControllerTest",id="WebControllerTest") 10 | 11 | @SetExtensionId("WebControllerTest") 12 | @BindController(path="/WebControllerTest") 13 | 14 | public class WebControllerTest { 15 | 16 | public void aaa(HttpServletRequest req,HttpServletResponse res) { 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/kits/CharacterLexer.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.kits; 2 | 3 | public class CharacterLexer{ 4 | String words; 5 | int position; 6 | char word; 7 | 8 | CharacterLexer(String w){ 9 | words = w; 10 | reset(); 11 | } 12 | public void reset(){ 13 | position = -1; 14 | word = 0; 15 | } 16 | 17 | public boolean next(){ 18 | if (position>=words.length()-1) return false; 19 | word = words.charAt(++position); 20 | return true; 21 | } 22 | 23 | public boolean nextUntil(char s){ 24 | while(next()){ 25 | if (s == word) return true; 26 | } 27 | return false; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/main/java/net/jplugin/ext/webasic/impl/ESFRPCRequestInfoFillerMt.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.ext.webasic.impl; 2 | 3 | import net.jplugin.core.kernel.api.ctx.RequesterInfo; 4 | import net.jplugin.core.kernel.api.ctx.ThreadLocalContextManager; 5 | import net.jplugin.core.service.impl.esf.ESFRPCContext; 6 | 7 | public class ESFRPCRequestInfoFillerMt { 8 | public static void fill(ESFRPCContext ctx){ 9 | 10 | RequesterInfo info = ThreadLocalContextManager.getRequestInfo(); 11 | 12 | //tenantid 13 | String tid = ctx.getTenantId(); 14 | MtInvocationFilterHandler.instance.checkAndSet(info, tid); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/impl/stat/StringWhereSegment.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.impl.stat; 2 | 3 | import java.util.List; 4 | 5 | public class StringWhereSegment implements IWhereSegment{ 6 | Object[] bindList; 7 | String sqlSegment; 8 | 9 | public StringWhereSegment(String condstr,Object[] para){ 10 | this.sqlSegment = condstr; 11 | this.bindList = para; 12 | } 13 | 14 | public String getString() { 15 | return sqlSegment; 16 | } 17 | 18 | public void addToBindList(List list) { 19 | if (bindList==null){ 20 | return; 21 | } 22 | for (Object o:bindList){ 23 | list.add(o); 24 | } 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/kits/scheduled/ScheduledFilterManager.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.kits.scheduled; 2 | 3 | import java.util.concurrent.Callable; 4 | 5 | import net.jplugin.core.kernel.api.PluginFilterManager; 6 | 7 | public class ScheduledFilterManager { 8 | static PluginFilterManager filter=new PluginFilterManager(net.jplugin.core.kernel.Plugin.EP_EXE_SCHEDULED_FILTER, (fc,ctx)->{ 9 | if (ctx instanceof Runnable){ 10 | ((Runnable)ctx).run(); 11 | return null; 12 | }else{ 13 | return ((Callable)ctx).call(); 14 | } 15 | }); 16 | public static void init(){ 17 | filter.init(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/main/java/net/jplugin/core/service/api/RefService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.service.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * 该标注用在Field上,表示引用Service扩展点(扩展点名字为net.jplugin.core.service.Plugin.EP_SERVICE)下的一个对应名字(name)的扩展。 10 | */ 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.FIELD) 13 | public @interface RefService { 14 | /** 15 | * 指定引用的Service的名字,默认值(空字符串)表示使用对应Field的Class的名字(含包名) 16 | * 17 | * @return 18 | */ 19 | public String name() default ""; 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/ts/TbRoute0.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.das.mybatis.ts; 2 | 3 | //create table tb_route0_2 (f1 varchar(20) primary key,f2 int,f3 varchar(20) ) 4 | public class TbRoute0 { 5 | String f1; 6 | int f2; 7 | String f3; 8 | 9 | public String getF1() { 10 | return f1; 11 | } 12 | public void setF1(String f1) { 13 | this.f1 = f1; 14 | } 15 | public int getF2() { 16 | return f2; 17 | } 18 | public void setF2(int f2) { 19 | this.f2 = f2; 20 | } 21 | public String getF3() { 22 | return f3; 23 | } 24 | public void setF3(String f3) { 25 | this.f3 = f3; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/queue/Node.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.queue; 2 | 3 | enum NodeType{Simple,Query,Slice} 4 | public class Node { 5 | Node prev; 6 | Node next; 7 | 8 | /** 9 | * 是否头结点 10 | * @return 11 | */ 12 | public boolean headNode(){ 13 | return false; 14 | } 15 | 16 | public void addAfter(Node n) { 17 | Node temp = this.next; 18 | this.next = n; 19 | n.prev = this; 20 | 21 | n.next = temp; 22 | temp.prev = n; 23 | } 24 | public void addBefore(Node n) { 25 | Node temp = this.prev; 26 | this.prev = n; 27 | n.next = this; 28 | 29 | n.prev = temp; 30 | temp.next= n; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/reso/Logger.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.reso; 2 | 3 | import java.io.IOException; 4 | 5 | public class Logger { 6 | 7 | private static Logger instance=new Logger(); 8 | 9 | public static Logger getLogger(Class class1) { 10 | return instance; 11 | } 12 | 13 | public void debug(String string) { 14 | } 15 | 16 | public void warn(String string) { 17 | } 18 | 19 | public void error(String string) { 20 | System.out.println("Error-"+string); 21 | } 22 | 23 | public void error(String string, Throwable th) { 24 | th.printStackTrace(); 25 | System.out.println("Error-"+string); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/Beans.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | import net.jplugin.common.kits.StringKit; 4 | 5 | import java.util.HashMap; 6 | import java.util.HashSet; 7 | import java.util.List; 8 | import java.util.Set; 9 | 10 | /** 11 | * 已经不推荐使用,请使用ExtensionObjects类的对应方法。 12 | */ 13 | @Deprecated 14 | public class Beans { 15 | 16 | public static T get(String id,Class t) { 17 | return (T) get(id); 18 | } 19 | 20 | public static Object get(String id) { 21 | return ExtensionObjects.get(id); 22 | } 23 | public static Object find(String id) { 24 | return ExtensionObjects.find(id); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/child/Plugin.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.child; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPlugin; 4 | import net.jplugin.core.kernel.api.Extension; 5 | import net.jplugin.core.kernel.api.ExtensionPoint; 6 | import net.jplugin.core.kernel.api.PluginAnnotation; 7 | 8 | @PluginAnnotation 9 | public class Plugin extends AbstractPlugin { 10 | public Plugin() { 11 | this.addExtensionPoint(ExtensionPoint.createList("EL_TESTPOING100", ITestExten.class)); 12 | } 13 | 14 | @Override 15 | public void init() { 16 | } 17 | 18 | @Override 19 | public int getPrivority() { 20 | return 1000; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/api/BindRuleService.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.api; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Repeatable; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Repeatable(BindRuleServiceSet.class) 11 | @Target(ElementType.TYPE) 12 | public @interface BindRuleService { 13 | public String name() default ""; 14 | public Class interfaceClass() default DefaultInterface.class; 15 | // public String id() default ""; 16 | public static class DefaultInterface{ 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/api/IAggregationFunctionHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.api; 2 | 3 | import java.sql.SQLException; 4 | 5 | public interface IAggregationFunctionHandler{ 6 | /** 7 | * 8 | * @param ctx 求数值的上下文 9 | * @param currentRowValue 当前评估的值,可能也是聚集以后的结果 10 | * @param rowCntForCurentValue 当前评估值对应的行数 11 | * @param coltype 12 | * @throws SQLException 13 | */ 14 | public void aggrate(AggFunctionEvalueContext ctx,Object currentRowValue,int rowCntForCurentValue, int coltype) throws SQLException; 15 | 16 | 17 | public Object getResult(AggFunctionEvalueContext ctx, int sqlType) throws SQLException; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/restclient/WebCtrlFilterTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.restclient; 2 | 3 | import net.jplugin.ext.webasic.api.IInvocationFilter; 4 | import net.jplugin.ext.webasic.api.InvocationContext; 5 | 6 | public class WebCtrlFilterTest implements IInvocationFilter { 7 | 8 | public boolean before(InvocationContext ctx) { 9 | System.out.println("$$$Before controller for:"+ctx.getServicePath()+" "+ctx.getMethod().getName()); 10 | return true; 11 | } 12 | 13 | public void after(InvocationContext ctx) { 14 | System.out.println("$$$After controller for:"+ctx.getServicePath()); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/impl/ServiceExtensionResolver.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.impl; 2 | 3 | import net.jplugin.core.ctx.api.RuleServiceFactory; 4 | import net.jplugin.core.service.api.RefService; 5 | import net.jplugin.core.service.impl.IServiceExtensionResolver; 6 | 7 | public class ServiceExtensionResolver implements IServiceExtensionResolver { 8 | 9 | @Override 10 | public Object resolve(Object theObject, Class fieldType, RefService anno) { 11 | //查找RuleService 12 | if (anno.name().equals("")) 13 | return RuleServiceFactory.getRuleService(fieldType); 14 | else 15 | return RuleServiceFactory.getRuleService(anno.name()); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/impl/stat/SubQueryWhereSegment.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.impl.stat; 2 | 3 | import java.util.List; 4 | 5 | import net.jplugin.core.das.api.stat.SelectStatement; 6 | 7 | public class SubQueryWhereSegment implements IWhereSegment{ 8 | SelectStatement subQry; 9 | public SubQueryWhereSegment(SelectStatement ss) { 10 | this.subQry = ss; 11 | } 12 | 13 | public String getString() { 14 | return "("+subQry.getSqlClause()+")"; 15 | } 16 | 17 | public void addToBindList(List list) { 18 | List subparams = subQry.getParams(); 19 | if (subparams!=null){ 20 | list.addAll(subQry.getParams()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-kernel/src/main/java/net/jplugin/core/kernel/api/AbstractPluginForTest.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.kernel.api; 2 | 3 | /** 4 | * 5 | * @author: LiuHang 6 | * @version 创建时间:2015-2-4 下午01:39:45 7 | **/ 8 | 9 | public abstract class AbstractPluginForTest extends AbstractPlugin{ 10 | public final void init() { 11 | try{ 12 | test(); 13 | System.out.println("Plugin:"+this.getClass().getName()+" 测试成功!"); 14 | }catch(Throwable e){ 15 | System.out.println("Plugin:"+this.getClass().getName()+" 测试失败!"); 16 | throw new RuntimeException(e); 17 | } 18 | } 19 | 20 | 21 | /** 22 | * 23 | */ 24 | public abstract void test() throws Throwable; 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/cachetest/ICacheMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | INSERT INTO tb_testcache (id,name) values( 9 | #{id},#{name}) 10 | 11 | 15 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindrulemethodfilter/RuleService123.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindrulemethodfilter; 2 | 3 | import net.jplugin.core.ctx.api.BindRuleService; 4 | import net.jplugin.core.ctx.api.Rule; 5 | import net.jplugin.core.service.api.BindService; 6 | 7 | @BindRuleService 8 | public class RuleService123 implements IRuleService123{ 9 | 10 | private String a; 11 | 12 | @Rule 13 | @Override 14 | public String getA() { 15 | return this.a; 16 | 17 | } 18 | 19 | @Rule 20 | @Override 21 | public void setA(String a) { 22 | this.a = a; 23 | 24 | } 25 | 26 | @Override 27 | public void test() { 28 | 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-das/src/main/java/net/jplugin/core/das/api/PageQueryResult.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.api; 2 | 3 | import java.util.List; 4 | 5 | public class PageQueryResult { 6 | PageCond pageCond; 7 | List list; 8 | 9 | public PageQueryResult() { 10 | } 11 | 12 | public PageQueryResult(PageCond pc,List l){ 13 | this.pageCond = pc; 14 | this.list = l; 15 | } 16 | 17 | public PageCond getPageCond() { 18 | return pageCond; 19 | } 20 | public void setPageCond(PageCond pageCond) { 21 | this.pageCond = pageCond; 22 | } 23 | public List getList() { 24 | return list; 25 | } 26 | public void setList(List list) { 27 | this.list = list; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/ExtensionConfigHelper.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config; 2 | 3 | import net.jplugin.core.config.impl.ConfigChangeHandlerDef; 4 | import net.jplugin.core.kernel.api.AbstractPlugin; 5 | import net.jplugin.core.kernel.api.Extension; 6 | 7 | public class ExtensionConfigHelper { 8 | public static void addConfigChangeHandlerExtension(AbstractPlugin plugin,String keyformat,Class t){ 9 | // plugin.addExtension(Extension.create(Plugin.EP_CONFIG_CHANGE_HANDLER,keyformat,t)); 10 | plugin.addExtension(Extension.create(Plugin.EP_CONFIG_CHANGE_HANDLER,ConfigChangeHandlerDef.class,new String[][] {{"pattern",keyformat},{"handlerClass",t.getName()}})); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-service/src/test/java/jplugincoretest/service/Plugin.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.service; 2 | 3 | import net.jplugin.core.kernel.api.*; 4 | import net.jplugin.core.service.api.Constants; 5 | 6 | @PluginAnnotation 7 | public class Plugin extends AbstractPlugin { 8 | 9 | public static final String EP_SERVICE_FOR_INCEPT = "epServiceForIncept001"; 10 | 11 | public Plugin(){ 12 | // this.addExtensionPoint(ExtensionPoint.createList(EP_SERVICE_FOR_INCEPT,Object.class)); 13 | 14 | } 15 | @Override 16 | public int getPrivority() { 17 | return CoreServicePriority.SERVICE +1; 18 | } 19 | 20 | @Override 21 | public void init() { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-event/src/main/java/net/jplugin/core/event/api/Channel.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.event.api; 2 | 3 | import java.util.Vector; 4 | 5 | 6 | /** 7 | * 8 | * @author: LiuHang 9 | * @version 创建时间:2015-2-7 下午03:25:31 10 | **/ 11 | 12 | public abstract class Channel { 13 | public enum ChannelType{SYNC,POST_MEMORY,POST_PERSISTENCE} 14 | protected Vector consumers = new Vector(); 15 | /** 16 | * @param e 17 | */ 18 | public abstract void sendEvent(Event e); 19 | 20 | public abstract ChannelType getChannelType(); 21 | 22 | /** 23 | * @param c 24 | */ 25 | public void addConsumer(EventConsumer c) { 26 | this.consumers.add(c); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testconfig/impl/TestCfgs.java: -------------------------------------------------------------------------------- 1 | package net.luis.testconfig.impl; 2 | 3 | import java.util.ArrayList; 4 | 5 | import net.jplugin.core.kernel.api.ExtensionObjects; 6 | import net.jplugin.core.kernel.api.BindBean; 7 | 8 | @BindBean(id = "testconfigbean") 9 | public class TestCfgs { 10 | 11 | public void test() { 12 | System.out.println(ExtensionObjects.get("mybeanid1",MyBean.class).getCfg1()); 13 | 14 | ArrayList list = new ArrayList(); 15 | list.add("group1.key1"); 16 | net.jplugin.core.config.impl.ConfigureChangeManager.instance.fireConfigChange(list); 17 | 18 | System.out.println(ExtensionObjects.get("mybeanid1",MyBean.class).getCfg1()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-log/src/main/java/net/jplugin/core/log/impl/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=ERROR, infoFile,stdout 2 | 3 | log4j.appender.infoFile=org.apache.log4j.RollingFileAppender 4 | log4j.appender.infoFile.file=${work-dir}/logs/app.elk.log 5 | log4j.appender.infoFile.maxFileSize=20MB 6 | log4j.appender.infoFile.maxBackupIndex=50 7 | log4j.appender.infoFile.Threshold=info 8 | log4j.appender.infoFile.layout=org.apache.log4j.PatternLayout 9 | log4j.appender.infoFile.layout.ConversionPattern=%d [%t] %m - %n 10 | 11 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 12 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 13 | log4j.appender.stdout.layout.ConversionPattern=%d [%t] [%-5p] %m - [%c.%L] %n 14 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-gtrace/src/test/java/test/net/jplugin/ext/gtrace/schedule/ScheduleFilter.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.ext.gtrace.schedule; 2 | 3 | import net.jplugin.common.kits.filter.FilterChain; 4 | import net.jplugin.core.kernel.api.IScheduledExecutionFilter; 5 | import net.jplugin.ext.gtrace.api.Span; 6 | import net.jplugin.ext.gtrace.kits.GTraceKit; 7 | 8 | public class ScheduleFilter implements IScheduledExecutionFilter { 9 | 10 | @Override 11 | public Object filter(FilterChain fc, Object ctx) throws Throwable { 12 | Span span = GTraceKit.getCurrentSpan(); 13 | int type = span.getType(); 14 | System.out.println("===spantype:"+type+" spanid:"+span.getId()); 15 | return fc.next(ctx); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/main/java/net/jplugin/core/config/api/ConfigChangeManager.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.config.api; 2 | 3 | import java.util.Map; 4 | 5 | import net.jplugin.core.config.Plugin; 6 | import net.jplugin.core.kernel.api.PluginEnvirement; 7 | 8 | @Deprecated 9 | public class ConfigChangeManager { 10 | private Map map; 11 | 12 | public static ConfigChangeManager instance = new ConfigChangeManager(); 13 | 14 | public void init(){ 15 | map = PluginEnvirement.getInstance().getExtensionMap(Plugin.EP_CONFIG_CHANGE_HANDLER,IConfigChangeHandler.class); 16 | } 17 | 18 | public Map getHandlers(){ 19 | return this.map; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/annotest/IRule.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.annotest; 2 | 3 | import java.util.List; 4 | 5 | import net.jplugin.core.ctx.api.Rule; 6 | import net.jplugin.core.ctx.api.Rule.TxType; 7 | import test.net.jplugin.core.das.mybatis.MybtestBean; 8 | 9 | public interface IRule { 10 | 11 | @Rule(methodType=TxType.REQUIRED,log=true,logIndexes={0,1}) 12 | public void add(String f1,String f2); 13 | 14 | // @Rule(methodType=TxType.REQUIRED) 15 | public void addAndRollback(String f1,String f2); 16 | 17 | @Rule(methodType=TxType.REQUIRED) 18 | public void clear(); 19 | 20 | @Rule() 21 | public List select(); 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-token/src/test/java/test/net/jplugin/ext/token/Plugin.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.ext.token; 2 | 3 | import net.jplugin.core.kernel.api.AbstractPluginForTest; 4 | import net.jplugin.core.kernel.api.CoreServicePriority; 5 | import net.jplugin.core.kernel.api.PluginAnnotation; 6 | 7 | public class Plugin extends AbstractPluginForTest { 8 | 9 | @Override 10 | public void test() throws Throwable { 11 | new TokenTest().test(); 12 | 13 | } 14 | 15 | @Override 16 | public int getPrivority() { 17 | return CoreServicePriority.TOKEN+1; 18 | } 19 | 20 | @Override 21 | public boolean searchClazzForExtension() { 22 | // TODO Auto-generated method stub 23 | return false; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/TestStartLogger.java: -------------------------------------------------------------------------------- 1 | package net.luis.main; 2 | 3 | import net.jplugin.core.kernel.PluginApp; 4 | import net.jplugin.core.kernel.api.IStartLogger; 5 | import net.jplugin.core.kernel.api.PluginEnvirement; 6 | 7 | public class TestStartLogger { 8 | public static void main(String[] args) throws InterruptedException { 9 | new PluginApp().main(null); 10 | IStartLogger logger = PluginEnvirement.getInstance().getStartLogger(); 11 | 12 | for (int i=0;i<100000;i++){ 13 | logger.write(i); 14 | logger.write(" "); 15 | logger.write(i+1); 16 | logger.log("abcabc"); 17 | logger.log("xyz",new Exception()); 18 | } 19 | System.out.println("write ok!"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/annotation/ServiceExportTest.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.annotation; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 5 | import net.jplugin.core.log.api.LogFactory; 6 | import net.jplugin.core.log.api.Logger; 7 | import net.jplugin.core.log.api.RefLogger; 8 | 9 | public class ServiceExportTest { 10 | @RefLogger 11 | private Logger logger; 12 | @RefLogger 13 | private static Logger logger2=LogFactory.getLogger(String.class); 14 | public String test() { 15 | AssertKit.assertTrue(logger!=null); 16 | AssertKit.assertTrue(logger2!=null); 17 | return "1"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-mtenant/src/main/java/net/jplugin/core/mtenant/dds/DDSConfigChangeHandler.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.mtenant.dds; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | import net.jplugin.core.config.api.IConfigChangeContext; 7 | import net.jplugin.core.config.api.IConfigChangeHandler; 8 | 9 | public class DDSConfigChangeHandler implements IConfigChangeHandler{ 10 | 11 | private static List list=new ArrayList(); 12 | static void addTarget(MultiTenantDDSHelper o) { 13 | list.add(o); 14 | } 15 | @Override 16 | public void onChange(IConfigChangeContext ctx) { 17 | for (MultiTenantDDSHelper o:list) { 18 | o.clearCache(); 19 | } 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/main/java/net/jplugin/core/ctx/impl/filter4clazz/RuleCallFilterDefineBean.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.ctx.impl.filter4clazz; 2 | 3 | public class RuleCallFilterDefineBean { 4 | Class filterClass; 5 | String applyTo; 6 | int priority; 7 | 8 | public Class getFilterClass() { 9 | return filterClass; 10 | } 11 | public void setFilterClass(Class filterClass) { 12 | this.filterClass = filterClass; 13 | } 14 | public String getApplyTo() { 15 | return applyTo; 16 | } 17 | public void setApplyTo(String applyFor) { 18 | this.applyTo = applyFor; 19 | } 20 | public int getPriority() { 21 | return priority; 22 | } 23 | public void setPriority(int priority) { 24 | this.priority = priority; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-rclient/src/main/java/net/jplugin/core/rclient/handler/ClientFailHandlerManager.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.rclient.handler; 2 | 3 | import java.util.Map; 4 | 5 | import net.jplugin.core.kernel.api.PluginEnvirement; 6 | import net.jplugin.core.rclient.api.IClientFailHandler; 7 | 8 | public class ClientFailHandlerManager { 9 | static Map map; 10 | public static void init(){ 11 | map = PluginEnvirement.getInstance().getExtensionMap(net.jplugin.core.rclient.Plugin.EP_CLIENTFAIL_HANDLER,IClientFailHandler.class); 12 | } 13 | 14 | public static void connectFailed(String protocol,String url){ 15 | IClientFailHandler h = map.get(protocol); 16 | if (h!=null) 17 | h.connectFailed(url); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/libraries/Maven__net_jplugin_core_jplugin_core_log_0_0_2_SNAPSHOT.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/main/export/Plugin.java: -------------------------------------------------------------------------------- 1 | package net.luis.main.export; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.kernel.api.AbstractPlugin; 5 | import net.jplugin.core.kernel.api.PluginAnnotation; 6 | import net.jplugin.core.service.api.RefService; 7 | 8 | @PluginAnnotation 9 | public class Plugin extends AbstractPlugin { 10 | public Plugin(){ 11 | 12 | } 13 | @Override 14 | public int getPrivority() { 15 | return 0; 16 | } 17 | 18 | @RefService 19 | IMyExport iexp; 20 | @RefService 21 | MyExport exp; 22 | @Override 23 | public void init() { 24 | AssertKit.assertNotNull(iexp,"iexp"); 25 | AssertKit.assertNotNull(exp,"exp"); 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/ant/startup.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd /d %~dp0 3 | 4 | set jplugin.home=%~dp0\.. 5 | set CLASSPATH= 6 | 7 | set lib_path=..\application\lib 8 | @setlocal enableextensions enabledelayedexpansion 9 | set classpath=%lib_path%\classes 10 | for %%c in (%lib_path%\*.*) do set classpath=!classpath!;%%c 11 | endlocal&set classpath=%classpath% 12 | 13 | set JVM_OPTION= 14 | rem set JVM_OPTION=%JVM_OPTION% -Xms512m -Xmx1024m 15 | rem set JVM_OPTION=%JVM_OPTION% -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8797,server=y,suspend=y 16 | 17 | @echo on 18 | java -Djplugin.home=%jplugin.home% %JVM_OPTION% -cp %CLASSPATH% -server -Dfile.encoding=utf-8 net.jplugin.core.kernel.PluginApp 19 | 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-ts/src/main/java/net/jplugin/core/das/route/impl/autocreate/SelectStatementInspector.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.core.das.route.impl.autocreate; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.das.dds.kits.SqlParserKit; 5 | import net.sf.jsqlparser.statement.Statement; 6 | import net.sf.jsqlparser.statement.StatementVisitorAdapter; 7 | import net.sf.jsqlparser.statement.select.Select; 8 | import net.sf.jsqlparser.util.TablesNamesFinder; 9 | 10 | public class SelectStatementInspector { 11 | 12 | public void inspect(String sql){ 13 | Statement stmt = SqlParserKit.parse(sql); 14 | AssertKit.assertTrue(stmt instanceof Select); 15 | } 16 | 17 | static class Visitor extends TablesNamesFinder{ 18 | 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/XMLException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Created on 2004-7-31 3 | * 4 | * To change the template for this generated file go to 5 | * Window>Preferences>Java>Code Generation>Code and Comments 6 | */ 7 | package net.jplugin.common.kits; 8 | 9 | 10 | /** 11 | * @author LiuHang 12 | * 13 | * To change the template for this generated type comment go to 14 | * Window>Preferences>Java>Code Generation>Code and Comments 15 | */ 16 | public class XMLException extends Exception{ 17 | 18 | public XMLException() { 19 | super(); 20 | } 21 | 22 | public XMLException(String message) { 23 | super(message); 24 | } 25 | 26 | // public XMLException(Throwable cause) { 27 | // super(cause); 28 | // } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-config/src/test/java/test/net/jplugin/core/config/change/ConfigChangeHandler2.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.config.change; 2 | 3 | import java.util.List; 4 | 5 | import net.jplugin.common.kits.AssertKit; 6 | import net.jplugin.core.config.api.IConfigChangeContext; 7 | import net.jplugin.core.config.api.IConfigChangeHandler; 8 | 9 | public class ConfigChangeHandler2 implements IConfigChangeHandler { 10 | 11 | public static List changedKeys; 12 | 13 | @Override 14 | public void onChange(IConfigChangeContext ctx) { 15 | changedKeys = ctx.getChangedKeys(); 16 | } 17 | 18 | public static void valid(){ 19 | AssertKit.assertEqual(1, changedKeys.size()); 20 | AssertKit.assertTrue(changedKeys.contains("group2.key2")); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/jplugin/core/das/mybatis/ts/TbRoute0Mapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 12 | 13 | update TB_ROUTE0 set f2=#{f2},f3=#{f3} where f1=#{f1} 14 | 15 | 16 | DELETE FROM tb_route0 where f1=#{f1} 17 | 18 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bindrulemethodfilter/TestFroRuleMethodFilter.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bindrulemethodfilter; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.core.kernel.api.RefAnnotationSupport; 5 | import net.jplugin.core.service.api.RefService; 6 | 7 | public class TestFroRuleMethodFilter extends RefAnnotationSupport{ 8 | 9 | @RefService 10 | IRuleService123 svc; 11 | public void test(){ 12 | svc.setA("hahaha"); 13 | AssertKit.assertEqual("hahaha",svc.getA()); 14 | 15 | AssertKit.assertEqual(4, RuleMethodFilter1.cnt); 16 | AssertKit.assertEqual(1, RuleMethodFilter2.cnt); 17 | 18 | svc.test(); 19 | AssertKit.assertEqual(2, RuleMethodFilter3.cnt); 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/annotest/IMybtestMapper.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.annotest; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Delete; 6 | import org.apache.ibatis.annotations.Insert; 7 | import org.apache.ibatis.annotations.Param; 8 | import org.apache.ibatis.annotations.Select; 9 | 10 | import test.net.jplugin.core.das.mybatis.MybtestBean; 11 | 12 | public interface IMybtestMapper { 13 | @Select("SELECT * FROM mybtest") 14 | List select(); 15 | 16 | @Insert("INSERT INTO mybtest(f1,f2) values( #{f1},#{f2})") 17 | public void add(@Param("f1") String f1, @Param("f2") String f2); 18 | 19 | @Delete("DELETE FROM mybtest") 20 | void clear(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/txtest/ITxTestDB1Mapper.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.txtest; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Delete; 6 | import org.apache.ibatis.annotations.Insert; 7 | import org.apache.ibatis.annotations.Param; 8 | import org.apache.ibatis.annotations.Select; 9 | 10 | import test.net.jplugin.core.das.mybatis.MybtestBean; 11 | 12 | public interface ITxTestDB1Mapper { 13 | @Select("SELECT * FROM TxTestDB1") 14 | List select(); 15 | 16 | @Insert("INSERT INTO TxTestDB1(f1,f2) values( #{f1},#{f2})") 17 | public void add(@Param("f1") String f1, @Param("f2") String f2); 18 | 19 | @Delete("DELETE FROM TxTestDB1") 20 | void clear(); 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-das-mybatis/src/test/java/test/net/luis/plugin/das/mybatis/txtest/ITxTestDB2Mapper.java: -------------------------------------------------------------------------------- 1 | package test.net.luis.plugin.das.mybatis.txtest; 2 | 3 | import java.util.List; 4 | 5 | import org.apache.ibatis.annotations.Delete; 6 | import org.apache.ibatis.annotations.Insert; 7 | import org.apache.ibatis.annotations.Param; 8 | import org.apache.ibatis.annotations.Select; 9 | 10 | import test.net.jplugin.core.das.mybatis.MybtestBean; 11 | 12 | public interface ITxTestDB2Mapper { 13 | @Select("SELECT * FROM TxTestDB2") 14 | List select(); 15 | 16 | @Insert("INSERT INTO TxTestDB2(f1,f2) values( #{f1},#{f2})") 17 | public void add(@Param("f1") String f1, @Param("f2") String f2); 18 | 19 | @Delete("DELETE FROM TxTestDB2") 20 | void clear(); 21 | } 22 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/webctrl/WebCtrlTestClient.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.webctrl; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.common.kits.http.HttpKit; 5 | import net.jplugin.common.kits.http.HttpStatusException; 6 | 7 | import java.io.IOException; 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | public class WebCtrlTestClient { 12 | public void test() throws HttpStatusException, IOException { 13 | Map p = new HashMap<>(); 14 | p.put("name","nnn"); 15 | 16 | String result = HttpKit.post("http://localhost:8080/demo/demowebctrl/req.do", p); 17 | AssertKit.assertEqual("nnn",result); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits-http/src/main/java/net/jplugin/common/kits/http/ContentKit.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.http; 2 | 3 | public class ContentKit { 4 | private static final String APPLICATION_JSON = "application/json"; 5 | public static Boolean jsonCheckCompirable; 6 | 7 | public static void init(Boolean b){ 8 | jsonCheckCompirable = b; 9 | System.out.println("*************platform.json-check-compatible="+jsonCheckCompirable); 10 | } 11 | 12 | public static boolean isApplicationJson(String theContentType) { 13 | if (jsonCheckCompirable)//兼容模式,判断等于 14 | return theContentType!=null && theContentType.equals(APPLICATION_JSON); 15 | else//正常模式,判断前缀 16 | return theContentType!=null && theContentType.startsWith(APPLICATION_JSON); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-test-main/src/test/java/net/luis/testautosearch/extensionid/BindStartUpForId.java: -------------------------------------------------------------------------------- 1 | package net.luis.testautosearch.extensionid; 2 | 3 | import java.util.List; 4 | 5 | import net.jplugin.core.kernel.api.BindStartup; 6 | import net.jplugin.core.kernel.api.IStartup; 7 | import net.jplugin.core.kernel.api.PluginError; 8 | import net.jplugin.core.kernel.api.SetExtensionId; 9 | 10 | @SetExtensionId("BindStartUpForId") 11 | @BindStartup() 12 | public class BindStartUpForId implements IStartup{ 13 | 14 | @Override 15 | public void startFailed(Throwable th, List errors) { 16 | // TODO Auto-generated method stub 17 | 18 | } 19 | 20 | @Override 21 | public void startSuccess() { 22 | // TODO Auto-generated method stub 23 | 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-core-ctx/src/test/java/test/net/jplugin/core/ctx/bind/BindRuleServiceImpl2.java: -------------------------------------------------------------------------------- 1 | package test.net.jplugin.core.ctx.bind; 2 | 3 | import net.jplugin.core.ctx.api.BindRuleService; 4 | import net.jplugin.core.kernel.api.SetExtensionPriority; 5 | 6 | @BindRuleService(interfaceClass=IBindRuleService2.class) 7 | @BindRuleService(interfaceClass=IBindRuleService3.class) 8 | public class BindRuleServiceImpl2 implements IBindRuleService,IBindRuleService2,IBindRuleService3{ 9 | 10 | @Override 11 | public void m2() { 12 | System.out.println("in m2"); 13 | } 14 | 15 | @Override 16 | public void m1() { 17 | System.out.println("in m1"); 18 | } 19 | 20 | @Override 21 | public void mmmm3() { 22 | System.out.println("in m3"); 23 | 24 | } 25 | 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-ext-webasic/src/test/java/jplugincoretest/net/jplugin/ext/webasic/webctrl/WebExCtrlTestClient.java: -------------------------------------------------------------------------------- 1 | package jplugincoretest.net.jplugin.ext.webasic.webctrl; 2 | 3 | import net.jplugin.common.kits.AssertKit; 4 | import net.jplugin.common.kits.http.HttpKit; 5 | import net.jplugin.common.kits.http.HttpStatusException; 6 | 7 | import java.io.IOException; 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | public class WebExCtrlTestClient { 12 | public void test() throws HttpStatusException, IOException { 13 | Map p = new HashMap<>(); 14 | p.put("name","nnn"); 15 | 16 | String result = HttpKit.post("http://localhost:8080/demo/demowebexctrl/test.do", p); 17 | AssertKit.assertEqual("nnn",result); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/libraries/Maven__net_jplugin_core_jplugin_common_kits_0_0_2_SNAPSHOT.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/libraries/Maven__net_jplugin_core_jplugin_core_config_0_0_2_SNAPSHOT.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-package-core/.idea/libraries/Maven__net_jplugin_core_jplugin_core_kernel_0_0_2_SNAPSHOT.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /jplugin-core/jplugin-common-kits/src/main/java/net/jplugin/common/kits/queue/NodeListTest.java: -------------------------------------------------------------------------------- 1 | package net.jplugin.common.kits.queue; 2 | 3 | public class NodeListTest { 4 | 5 | public static void main(String[] args) { 6 | NodeList nl = new NodeList(); 7 | nl.addFirst(new TheNode("2")); 8 | nl.addFirst(new TheNode("1")); 9 | nl.addTail(new TheNode("3")); 10 | nl.addTail(new TheNode("4")); 11 | 12 | System.out.println(nl.getString()); 13 | 14 | nl.iteration((n)->System.out.println(n)); 15 | nl.iterationFromTail((n)->System.out.println(n)); 16 | 17 | } 18 | 19 | static class TheNode extends Node{ 20 | private String name; 21 | 22 | TheNode(String a){ 23 | this.name = a; 24 | } 25 | public String toString(){ 26 | return name; 27 | } 28 | } 29 | } 30 | --------------------------------------------------------------------------------