001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.camel.impl.lw; 018 019import java.io.IOException; 020import java.util.Collection; 021import java.util.Date; 022import java.util.List; 023import java.util.Map; 024import java.util.Set; 025import java.util.function.Function; 026 027import org.apache.camel.CamelContext; 028import org.apache.camel.CatalogCamelContext; 029import org.apache.camel.Component; 030import org.apache.camel.ConsumerTemplate; 031import org.apache.camel.Endpoint; 032import org.apache.camel.Experimental; 033import org.apache.camel.Expression; 034import org.apache.camel.ExtendedCamelContext; 035import org.apache.camel.FluentProducerTemplate; 036import org.apache.camel.GlobalEndpointConfiguration; 037import org.apache.camel.NoSuchLanguageException; 038import org.apache.camel.Predicate; 039import org.apache.camel.Processor; 040import org.apache.camel.ProducerTemplate; 041import org.apache.camel.Route; 042import org.apache.camel.RouteConfigurationsBuilder; 043import org.apache.camel.RouteTemplateContext; 044import org.apache.camel.RoutesBuilder; 045import org.apache.camel.ServiceStatus; 046import org.apache.camel.ShutdownRoute; 047import org.apache.camel.ShutdownRunningTask; 048import org.apache.camel.StartupListener; 049import org.apache.camel.StartupSummaryLevel; 050import org.apache.camel.TypeConverter; 051import org.apache.camel.ValueHolder; 052import org.apache.camel.impl.DefaultCamelContext; 053import org.apache.camel.model.DataFormatDefinition; 054import org.apache.camel.model.FaultToleranceConfigurationDefinition; 055import org.apache.camel.model.ModelCamelContext; 056import org.apache.camel.model.ModelLifecycleStrategy; 057import org.apache.camel.model.ProcessorDefinition; 058import org.apache.camel.model.Resilience4jConfigurationDefinition; 059import org.apache.camel.model.RouteConfigurationDefinition; 060import org.apache.camel.model.RouteDefinition; 061import org.apache.camel.model.RouteTemplateDefinition; 062import org.apache.camel.model.TemplatedRouteDefinition; 063import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition; 064import org.apache.camel.model.language.ExpressionDefinition; 065import org.apache.camel.model.rest.RestDefinition; 066import org.apache.camel.model.transformer.TransformerDefinition; 067import org.apache.camel.model.validator.ValidatorDefinition; 068import org.apache.camel.spi.BeanRepository; 069import org.apache.camel.spi.CamelContextNameStrategy; 070import org.apache.camel.spi.ClassResolver; 071import org.apache.camel.spi.DataFormat; 072import org.apache.camel.spi.DataType; 073import org.apache.camel.spi.Debugger; 074import org.apache.camel.spi.EndpointRegistry; 075import org.apache.camel.spi.ExecutorServiceManager; 076import org.apache.camel.spi.InflightRepository; 077import org.apache.camel.spi.Injector; 078import org.apache.camel.spi.Language; 079import org.apache.camel.spi.LifecycleStrategy; 080import org.apache.camel.spi.ManagementNameStrategy; 081import org.apache.camel.spi.ManagementStrategy; 082import org.apache.camel.spi.MessageHistoryFactory; 083import org.apache.camel.spi.ModelReifierFactory; 084import org.apache.camel.spi.PropertiesComponent; 085import org.apache.camel.spi.Registry; 086import org.apache.camel.spi.RestConfiguration; 087import org.apache.camel.spi.RestRegistry; 088import org.apache.camel.spi.RouteController; 089import org.apache.camel.spi.RoutePolicyFactory; 090import org.apache.camel.spi.RuntimeEndpointRegistry; 091import org.apache.camel.spi.ShutdownStrategy; 092import org.apache.camel.spi.StreamCachingStrategy; 093import org.apache.camel.spi.Tracer; 094import org.apache.camel.spi.Transformer; 095import org.apache.camel.spi.TransformerRegistry; 096import org.apache.camel.spi.TypeConverterRegistry; 097import org.apache.camel.spi.UuidGenerator; 098import org.apache.camel.spi.Validator; 099import org.apache.camel.spi.ValidatorRegistry; 100import org.apache.camel.support.DefaultRegistry; 101import org.apache.camel.support.jsse.SSLContextParameters; 102import org.apache.camel.vault.VaultConfiguration; 103 104@Experimental 105public class LightweightCamelContext implements CamelContext, CatalogCamelContext, ModelCamelContext { 106 107 protected volatile CamelContext delegate; 108 109 protected LightweightCamelContext(CamelContext delegate) { 110 this.delegate = delegate; 111 } 112 113 /** 114 * Creates the {@link ModelCamelContext} using {@link org.apache.camel.support.DefaultRegistry} as registry. 115 * <p/> 116 * Use one of the other constructors to force use an explicit registry. 117 */ 118 public LightweightCamelContext() { 119 DefaultCamelContext d = new DefaultCamelContext(false) { 120 @Override 121 public CamelContext getCamelContextReference() { 122 return LightweightCamelContext.this; 123 } 124 }; 125 delegate = d; 126 d.build(); 127 } 128 129 /** 130 * Creates the {@link CamelContext} using the given {@link BeanRepository} as first-choice repository, and the 131 * {@link org.apache.camel.support.SimpleRegistry} as fallback, via the {@link DefaultRegistry} implementation. 132 * 133 * @param repository the bean repository. 134 */ 135 public LightweightCamelContext(BeanRepository repository) { 136 this(new DefaultRegistry(repository)); 137 } 138 139 /** 140 * Creates the {@link ModelCamelContext} using the given registry 141 * 142 * @param registry the registry 143 */ 144 public LightweightCamelContext(Registry registry) { 145 this(); 146 147 getCamelContextExtension().setRegistry(registry); 148 } 149 150 @Override 151 public boolean isStarted() { 152 return delegate.isStarted(); 153 } 154 155 @Override 156 public boolean isStarting() { 157 return delegate.isStarting(); 158 } 159 160 @Override 161 public boolean isStopped() { 162 return delegate.isStopped(); 163 } 164 165 @Override 166 public boolean isStopping() { 167 return delegate.isStopping(); 168 } 169 170 @Override 171 public boolean isSuspended() { 172 return delegate.isSuspended(); 173 } 174 175 @Override 176 public boolean isRunAllowed() { 177 return delegate.isRunAllowed(); 178 } 179 180 @Override 181 public boolean isSuspending() { 182 return delegate.isSuspending(); 183 } 184 185 @Override 186 public void build() { 187 delegate.build(); 188 } 189 190 @Override 191 public void suspend() { 192 delegate.suspend(); 193 } 194 195 @Override 196 public void resume() { 197 delegate.resume(); 198 } 199 200 @Override 201 public void shutdown() { 202 delegate.shutdown(); 203 } 204 205 @Override 206 public void close() throws Exception { 207 delegate.close(); 208 } 209 210 @Override 211 public <T> T getExtension(Class<T> type) { 212 return delegate.getExtension(type); 213 } 214 215 @Override 216 public <T> void setExtension(Class<T> type, T module) { 217 delegate.setExtension(type, module); 218 } 219 220 @Override 221 public void start() { 222 delegate.start(); 223 } 224 225 @Override 226 public void stop() { 227 delegate.stop(); 228 } 229 230 @Override 231 public boolean isVetoStarted() { 232 return delegate.isVetoStarted(); 233 } 234 235 @Override 236 public String getName() { 237 return delegate.getName(); 238 } 239 240 @Override 241 public CamelContextNameStrategy getNameStrategy() { 242 return delegate.getNameStrategy(); 243 } 244 245 @Override 246 public void setNameStrategy(CamelContextNameStrategy nameStrategy) { 247 delegate.setNameStrategy(nameStrategy); 248 } 249 250 @Override 251 public String getDescription() { 252 return delegate.getDescription(); 253 } 254 255 @Override 256 public ManagementNameStrategy getManagementNameStrategy() { 257 return delegate.getManagementNameStrategy(); 258 } 259 260 @Override 261 public void setManagementNameStrategy(ManagementNameStrategy nameStrategy) { 262 delegate.setManagementNameStrategy(nameStrategy); 263 } 264 265 @Override 266 public String getManagementName() { 267 return delegate.getManagementName(); 268 } 269 270 @Override 271 public void setManagementName(String name) { 272 delegate.setManagementName(name); 273 } 274 275 @Override 276 public String getVersion() { 277 return delegate.getVersion(); 278 } 279 280 @Override 281 public ServiceStatus getStatus() { 282 return delegate.getStatus(); 283 } 284 285 @Override 286 public String getUptime() { 287 return delegate.getUptime(); 288 } 289 290 @Override 291 public long getUptimeMillis() { 292 return delegate.getUptimeMillis(); 293 } 294 295 @Override 296 public Date getStartDate() { 297 return delegate.getStartDate(); 298 } 299 300 @Override 301 public void addService(Object object) throws Exception { 302 delegate.addService(object); 303 } 304 305 @Override 306 public void addService(Object object, boolean stopOnShutdown) throws Exception { 307 delegate.addService(object, stopOnShutdown); 308 } 309 310 @Override 311 public void addService(Object object, boolean stopOnShutdown, boolean forceStart) throws Exception { 312 delegate.addService(object, stopOnShutdown, forceStart); 313 } 314 315 @Override 316 public void addPrototypeService(Object object) throws Exception { 317 delegate.addPrototypeService(object); 318 } 319 320 @Override 321 public boolean removeService(Object object) throws Exception { 322 return delegate.removeService(object); 323 } 324 325 @Override 326 public boolean hasService(Object object) { 327 return delegate.hasService(object); 328 } 329 330 @Override 331 public <T> T hasService(Class<T> type) { 332 return delegate.hasService(type); 333 } 334 335 @Override 336 public <T> Set<T> hasServices(Class<T> type) { 337 return delegate.hasServices(type); 338 } 339 340 @Override 341 public void deferStartService(Object object, boolean stopOnShutdown) throws Exception { 342 delegate.deferStartService(object, stopOnShutdown); 343 } 344 345 @Override 346 public void addStartupListener(StartupListener listener) throws Exception { 347 delegate.addStartupListener(listener); 348 } 349 350 @Override 351 public void addComponent(String componentName, Component component) { 352 delegate.addComponent(componentName, component); 353 } 354 355 @Override 356 public Component hasComponent(String componentName) { 357 return delegate.hasComponent(componentName); 358 } 359 360 @Override 361 public Component getComponent(String componentName) { 362 return delegate.getComponent(componentName); 363 } 364 365 @Override 366 public Component getComponent(String name, boolean autoCreateComponents) { 367 return delegate.getComponent(name, autoCreateComponents); 368 } 369 370 @Override 371 public Component getComponent(String name, boolean autoCreateComponents, boolean autoStart) { 372 return delegate.getComponent(name, autoCreateComponents, autoStart); 373 } 374 375 @Override 376 public <T extends Component> T getComponent(String name, Class<T> componentType) { 377 return delegate.getComponent(name, componentType); 378 } 379 380 @Override 381 public Set<String> getComponentNames() { 382 return delegate.getComponentNames(); 383 } 384 385 @Override 386 public Component removeComponent(String componentName) { 387 return delegate.removeComponent(componentName); 388 } 389 390 @Override 391 public EndpointRegistry<? extends ValueHolder<String>> getEndpointRegistry() { 392 return delegate.getEndpointRegistry(); 393 } 394 395 @Override 396 public Endpoint getEndpoint(String uri) { 397 return delegate.getEndpoint(uri); 398 } 399 400 @Override 401 public Endpoint getEndpoint(String uri, Map<String, Object> parameters) { 402 return delegate.getEndpoint(uri, parameters); 403 } 404 405 @Override 406 public <T extends Endpoint> T getEndpoint(String name, Class<T> endpointType) { 407 return delegate.getEndpoint(name, endpointType); 408 } 409 410 @Override 411 public Collection<Endpoint> getEndpoints() { 412 return delegate.getEndpoints(); 413 } 414 415 @Override 416 public Endpoint hasEndpoint(String uri) { 417 return delegate.hasEndpoint(uri); 418 } 419 420 @Override 421 public Endpoint addEndpoint(String uri, Endpoint endpoint) throws Exception { 422 return delegate.addEndpoint(uri, endpoint); 423 } 424 425 @Override 426 public void removeEndpoint(Endpoint endpoint) throws Exception { 427 delegate.removeEndpoint(endpoint); 428 } 429 430 @Override 431 public Collection<Endpoint> removeEndpoints(String pattern) throws Exception { 432 return delegate.removeEndpoints(pattern); 433 } 434 435 @Override 436 public GlobalEndpointConfiguration getGlobalEndpointConfiguration() { 437 return delegate.getGlobalEndpointConfiguration(); 438 } 439 440 @Override 441 public void setRouteController(RouteController routeController) { 442 delegate.setRouteController(routeController); 443 } 444 445 @Override 446 public RouteController getRouteController() { 447 return delegate.getRouteController(); 448 } 449 450 @Override 451 public List<Route> getRoutes() { 452 return delegate.getRoutes(); 453 } 454 455 @Override 456 public int getRoutesSize() { 457 return delegate.getRoutesSize(); 458 } 459 460 @Override 461 public Route getRoute(String id) { 462 return delegate.getRoute(id); 463 } 464 465 @Override 466 public Processor getProcessor(String id) { 467 return delegate.getProcessor(id); 468 } 469 470 @Override 471 public <T extends Processor> T getProcessor(String id, Class<T> type) { 472 return delegate.getProcessor(id, type); 473 } 474 475 @Override 476 public void addRoutes(RoutesBuilder builder) throws Exception { 477 delegate.addRoutes(builder); 478 } 479 480 @Override 481 public void addTemplatedRoutes(RoutesBuilder builder) throws Exception { 482 delegate.addTemplatedRoutes(builder); 483 } 484 485 @Override 486 public void addRoutesConfigurations(RouteConfigurationsBuilder builder) throws Exception { 487 delegate.addRoutesConfigurations(builder); 488 } 489 490 @Override 491 public boolean removeRoute(String routeId) throws Exception { 492 return delegate.removeRoute(routeId); 493 } 494 495 @Override 496 public void addRoutePolicyFactory(RoutePolicyFactory routePolicyFactory) { 497 delegate.addRoutePolicyFactory(routePolicyFactory); 498 } 499 500 @Override 501 public List<RoutePolicyFactory> getRoutePolicyFactories() { 502 return delegate.getRoutePolicyFactories(); 503 } 504 505 @Override 506 public void setRestConfiguration(RestConfiguration restConfiguration) { 507 delegate.setRestConfiguration(restConfiguration); 508 } 509 510 @Override 511 public RestConfiguration getRestConfiguration() { 512 return delegate.getRestConfiguration(); 513 } 514 515 @Override 516 public void setVaultConfiguration(VaultConfiguration vaultConfiguration) { 517 delegate.setVaultConfiguration(vaultConfiguration); 518 } 519 520 @Override 521 public VaultConfiguration getVaultConfiguration() { 522 return delegate.getVaultConfiguration(); 523 } 524 525 @Override 526 public RestRegistry getRestRegistry() { 527 return delegate.getRestRegistry(); 528 } 529 530 @Override 531 public void setRestRegistry(RestRegistry restRegistry) { 532 delegate.setRestRegistry(restRegistry); 533 } 534 535 @Override 536 public TypeConverter getTypeConverter() { 537 return delegate.getTypeConverter(); 538 } 539 540 @Override 541 public TypeConverterRegistry getTypeConverterRegistry() { 542 return delegate.getTypeConverterRegistry(); 543 } 544 545 @Override 546 public void setTypeConverterRegistry(TypeConverterRegistry typeConverterRegistry) { 547 delegate.setTypeConverterRegistry(typeConverterRegistry); 548 } 549 550 @Override 551 public Registry getRegistry() { 552 return delegate.getRegistry(); 553 } 554 555 @Override 556 public <T> T getRegistry(Class<T> type) { 557 return delegate.getRegistry(type); 558 } 559 560 @Override 561 public Injector getInjector() { 562 return delegate.getInjector(); 563 } 564 565 @Override 566 public void setInjector(Injector injector) { 567 delegate.setInjector(injector); 568 } 569 570 @Override 571 public List<LifecycleStrategy> getLifecycleStrategies() { 572 return delegate.getLifecycleStrategies(); 573 } 574 575 @Override 576 public void addLifecycleStrategy(LifecycleStrategy lifecycleStrategy) { 577 delegate.addLifecycleStrategy(lifecycleStrategy); 578 } 579 580 @Override 581 public Language resolveLanguage(String language) throws NoSuchLanguageException { 582 return delegate.resolveLanguage(language); 583 } 584 585 @Override 586 public String resolvePropertyPlaceholders(String text) { 587 return delegate.resolvePropertyPlaceholders(text); 588 } 589 590 @Override 591 public PropertiesComponent getPropertiesComponent() { 592 return delegate.getPropertiesComponent(); 593 } 594 595 @Override 596 public void setPropertiesComponent(PropertiesComponent propertiesComponent) { 597 delegate.setPropertiesComponent(propertiesComponent); 598 } 599 600 @Override 601 public Set<String> getLanguageNames() { 602 return delegate.getLanguageNames(); 603 } 604 605 @Override 606 public ProducerTemplate createProducerTemplate() { 607 return delegate.createProducerTemplate(); 608 } 609 610 @Override 611 public ProducerTemplate createProducerTemplate(int maximumCacheSize) { 612 return delegate.createProducerTemplate(maximumCacheSize); 613 } 614 615 @Override 616 public FluentProducerTemplate createFluentProducerTemplate() { 617 return delegate.createFluentProducerTemplate(); 618 } 619 620 @Override 621 public FluentProducerTemplate createFluentProducerTemplate(int maximumCacheSize) { 622 return delegate.createFluentProducerTemplate(maximumCacheSize); 623 } 624 625 @Override 626 public ConsumerTemplate createConsumerTemplate() { 627 return delegate.createConsumerTemplate(); 628 } 629 630 @Override 631 public ConsumerTemplate createConsumerTemplate(int maximumCacheSize) { 632 return delegate.createConsumerTemplate(maximumCacheSize); 633 } 634 635 @Override 636 public DataFormat resolveDataFormat(String name) { 637 return delegate.resolveDataFormat(name); 638 } 639 640 @Override 641 public DataFormat createDataFormat(String name) { 642 return delegate.createDataFormat(name); 643 } 644 645 @Override 646 public Set<String> getDataFormatNames() { 647 return delegate.getDataFormatNames(); 648 } 649 650 @Override 651 public Transformer resolveTransformer(String model) { 652 return delegate.resolveTransformer(model); 653 } 654 655 @Override 656 public Transformer resolveTransformer(DataType from, DataType to) { 657 return delegate.resolveTransformer(from, to); 658 } 659 660 @Override 661 public TransformerRegistry getTransformerRegistry() { 662 return delegate.getTransformerRegistry(); 663 } 664 665 @Override 666 public Validator resolveValidator(DataType type) { 667 return delegate.resolveValidator(type); 668 } 669 670 @Override 671 public ValidatorRegistry getValidatorRegistry() { 672 return delegate.getValidatorRegistry(); 673 } 674 675 @Override 676 public void setGlobalOptions(Map<String, String> globalOptions) { 677 delegate.setGlobalOptions(globalOptions); 678 } 679 680 @Override 681 public Map<String, String> getGlobalOptions() { 682 return delegate.getGlobalOptions(); 683 } 684 685 @Override 686 public String getGlobalOption(String key) { 687 return delegate.getGlobalOption(key); 688 } 689 690 @Override 691 public ClassResolver getClassResolver() { 692 return delegate.getClassResolver(); 693 } 694 695 @Override 696 public void setClassResolver(ClassResolver resolver) { 697 delegate.setClassResolver(resolver); 698 } 699 700 @Override 701 public ManagementStrategy getManagementStrategy() { 702 return delegate.getManagementStrategy(); 703 } 704 705 @Override 706 public void setManagementStrategy(ManagementStrategy strategy) { 707 delegate.setManagementStrategy(strategy); 708 } 709 710 @Override 711 public void disableJMX() throws IllegalStateException { 712 delegate.disableJMX(); 713 } 714 715 @Override 716 public InflightRepository getInflightRepository() { 717 return delegate.getInflightRepository(); 718 } 719 720 @Override 721 public void setInflightRepository(InflightRepository repository) { 722 delegate.setInflightRepository(repository); 723 } 724 725 @Override 726 public ClassLoader getApplicationContextClassLoader() { 727 return delegate.getApplicationContextClassLoader(); 728 } 729 730 @Override 731 public void setApplicationContextClassLoader(ClassLoader classLoader) { 732 delegate.setApplicationContextClassLoader(classLoader); 733 } 734 735 @Override 736 public ShutdownStrategy getShutdownStrategy() { 737 return delegate.getShutdownStrategy(); 738 } 739 740 @Override 741 public void setShutdownStrategy(ShutdownStrategy shutdownStrategy) { 742 delegate.setShutdownStrategy(shutdownStrategy); 743 } 744 745 @Override 746 public ExecutorServiceManager getExecutorServiceManager() { 747 return delegate.getExecutorServiceManager(); 748 } 749 750 @Override 751 public void setExecutorServiceManager(ExecutorServiceManager executorServiceManager) { 752 delegate.setExecutorServiceManager(executorServiceManager); 753 } 754 755 @Override 756 public MessageHistoryFactory getMessageHistoryFactory() { 757 return delegate.getMessageHistoryFactory(); 758 } 759 760 @Override 761 public void setMessageHistoryFactory(MessageHistoryFactory messageHistoryFactory) { 762 delegate.setMessageHistoryFactory(messageHistoryFactory); 763 } 764 765 @Override 766 public Debugger getDebugger() { 767 return delegate.getDebugger(); 768 } 769 770 @Override 771 public void setDebugger(Debugger debugger) { 772 delegate.setDebugger(debugger); 773 } 774 775 @Override 776 public Tracer getTracer() { 777 return delegate.getTracer(); 778 } 779 780 @Override 781 public void setTracer(Tracer tracer) { 782 delegate.setTracer(tracer); 783 } 784 785 @Override 786 public void setTracingStandby(boolean tracingStandby) { 787 delegate.setTracingStandby(tracingStandby); 788 } 789 790 @Override 791 public boolean isTracingStandby() { 792 return delegate.isTracingStandby(); 793 } 794 795 @Override 796 public void setBacklogTracingStandby(boolean backlogTracingStandby) { 797 delegate.setBacklogTracingStandby(backlogTracingStandby); 798 } 799 800 @Override 801 public boolean isBacklogTracingStandby() { 802 return delegate.isBacklogTracingStandby(); 803 } 804 805 @Override 806 public UuidGenerator getUuidGenerator() { 807 return delegate.getUuidGenerator(); 808 } 809 810 @Override 811 public void setUuidGenerator(UuidGenerator uuidGenerator) { 812 delegate.setUuidGenerator(uuidGenerator); 813 } 814 815 @Override 816 public Boolean isLoadTypeConverters() { 817 return delegate.isLoadTypeConverters(); 818 } 819 820 @Override 821 public void setLoadTypeConverters(Boolean loadTypeConverters) { 822 delegate.setLoadTypeConverters(loadTypeConverters); 823 } 824 825 @Override 826 public Boolean isTypeConverterStatisticsEnabled() { 827 return delegate.isTypeConverterStatisticsEnabled(); 828 } 829 830 @Override 831 public void setTypeConverterStatisticsEnabled(Boolean typeConverterStatisticsEnabled) { 832 delegate.setTypeConverterStatisticsEnabled(typeConverterStatisticsEnabled); 833 } 834 835 @Override 836 public Boolean isLoadHealthChecks() { 837 return delegate.isLoadHealthChecks(); 838 } 839 840 @Override 841 public void setLoadHealthChecks(Boolean loadHealthChecks) { 842 delegate.setLoadHealthChecks(loadHealthChecks); 843 } 844 845 @Override 846 public Boolean isSourceLocationEnabled() { 847 return delegate.isSourceLocationEnabled(); 848 } 849 850 @Override 851 public void setSourceLocationEnabled(Boolean sourceLocationEnabled) { 852 delegate.setSourceLocationEnabled(sourceLocationEnabled); 853 } 854 855 @Override 856 public Boolean isModeline() { 857 return delegate.isModeline(); 858 } 859 860 @Override 861 public void setModeline(Boolean modeline) { 862 delegate.setModeline(modeline); 863 } 864 865 @Override 866 public Boolean isDevConsole() { 867 return delegate.isDevConsole(); 868 } 869 870 @Override 871 public void setDevConsole(Boolean loadDevConsoles) { 872 delegate.setDevConsole(loadDevConsoles); 873 } 874 875 @Override 876 public Boolean isDumpRoutes() { 877 return delegate.isDumpRoutes(); 878 } 879 880 @Override 881 public void setDumpRoutes(Boolean dumpRoutes) { 882 delegate.setDumpRoutes(dumpRoutes); 883 } 884 885 @Override 886 public Boolean isUseMDCLogging() { 887 return delegate.isUseMDCLogging(); 888 } 889 890 @Override 891 public void setUseMDCLogging(Boolean useMDCLogging) { 892 delegate.setUseMDCLogging(useMDCLogging); 893 } 894 895 @Override 896 public String getMDCLoggingKeysPattern() { 897 return delegate.getMDCLoggingKeysPattern(); 898 } 899 900 @Override 901 public void setMDCLoggingKeysPattern(String pattern) { 902 delegate.setMDCLoggingKeysPattern(pattern); 903 } 904 905 @Override 906 public Boolean isUseDataType() { 907 return delegate.isUseDataType(); 908 } 909 910 @Override 911 public void setUseDataType(Boolean useDataType) { 912 delegate.setUseDataType(useDataType); 913 } 914 915 @Override 916 public Boolean isUseBreadcrumb() { 917 return delegate.isUseBreadcrumb(); 918 } 919 920 @Override 921 public void setUseBreadcrumb(Boolean useBreadcrumb) { 922 delegate.setUseBreadcrumb(useBreadcrumb); 923 } 924 925 @Override 926 public StreamCachingStrategy getStreamCachingStrategy() { 927 return delegate.getStreamCachingStrategy(); 928 } 929 930 @Override 931 public void setStreamCachingStrategy(StreamCachingStrategy streamCachingStrategy) { 932 delegate.setStreamCachingStrategy(streamCachingStrategy); 933 } 934 935 @Override 936 public RuntimeEndpointRegistry getRuntimeEndpointRegistry() { 937 return delegate.getRuntimeEndpointRegistry(); 938 } 939 940 @Override 941 public void setRuntimeEndpointRegistry(RuntimeEndpointRegistry runtimeEndpointRegistry) { 942 delegate.setRuntimeEndpointRegistry(runtimeEndpointRegistry); 943 } 944 945 @Override 946 public void setSSLContextParameters(SSLContextParameters sslContextParameters) { 947 delegate.setSSLContextParameters(sslContextParameters); 948 } 949 950 @Override 951 public SSLContextParameters getSSLContextParameters() { 952 return delegate.getSSLContextParameters(); 953 } 954 955 @Override 956 public void setStartupSummaryLevel(StartupSummaryLevel startupSummaryLevel) { 957 delegate.setStartupSummaryLevel(startupSummaryLevel); 958 } 959 960 @Override 961 public StartupSummaryLevel getStartupSummaryLevel() { 962 return delegate.getStartupSummaryLevel(); 963 } 964 965 @Override 966 public void setStreamCaching(Boolean cache) { 967 delegate.setStreamCaching(cache); 968 } 969 970 @Override 971 public Boolean isStreamCaching() { 972 return delegate.isStreamCaching(); 973 } 974 975 @Override 976 public void setTracing(Boolean tracing) { 977 delegate.setTracing(tracing); 978 } 979 980 @Override 981 public Boolean isTracing() { 982 return delegate.isTracing(); 983 } 984 985 @Override 986 public String getTracingPattern() { 987 return delegate.getTracingPattern(); 988 } 989 990 @Override 991 public void setTracingPattern(String tracePattern) { 992 delegate.setTracingPattern(tracePattern); 993 } 994 995 @Override 996 public String getTracingLoggingFormat() { 997 return delegate.getTracingLoggingFormat(); 998 } 999 1000 @Override 1001 public void setTracingLoggingFormat(String format) { 1002 delegate.setTracingLoggingFormat(format); 1003 } 1004 1005 @Override 1006 public void setBacklogTracing(Boolean backlogTrace) { 1007 delegate.setBacklogTracing(backlogTrace); 1008 } 1009 1010 @Override 1011 public Boolean isBacklogTracing() { 1012 return delegate.isBacklogTracing(); 1013 } 1014 1015 @Override 1016 public void setDebugging(Boolean debugging) { 1017 delegate.setDebugging(debugging); 1018 } 1019 1020 @Override 1021 public Boolean isDebugging() { 1022 return delegate.isDebugging(); 1023 } 1024 1025 @Override 1026 public void setMessageHistory(Boolean messageHistory) { 1027 delegate.setMessageHistory(messageHistory); 1028 } 1029 1030 @Override 1031 public Boolean isMessageHistory() { 1032 return delegate.isMessageHistory(); 1033 } 1034 1035 @Override 1036 public void setLogMask(Boolean logMask) { 1037 delegate.setLogMask(logMask); 1038 } 1039 1040 @Override 1041 public Boolean isLogMask() { 1042 return delegate.isLogMask(); 1043 } 1044 1045 @Override 1046 public void setLogExhaustedMessageBody(Boolean logExhaustedMessageBody) { 1047 delegate.setLogExhaustedMessageBody(logExhaustedMessageBody); 1048 } 1049 1050 @Override 1051 public Boolean isLogExhaustedMessageBody() { 1052 return delegate.isLogExhaustedMessageBody(); 1053 } 1054 1055 @Override 1056 public void setDelayer(Long delay) { 1057 delegate.setDelayer(delay); 1058 } 1059 1060 @Override 1061 public Long getDelayer() { 1062 return delegate.getDelayer(); 1063 } 1064 1065 @Override 1066 public void setAutoStartup(Boolean autoStartup) { 1067 delegate.setAutoStartup(autoStartup); 1068 } 1069 1070 @Override 1071 public Boolean isAutoStartup() { 1072 return delegate.isAutoStartup(); 1073 } 1074 1075 @Override 1076 public void setShutdownRoute(ShutdownRoute shutdownRoute) { 1077 delegate.setShutdownRoute(shutdownRoute); 1078 } 1079 1080 @Override 1081 public ShutdownRoute getShutdownRoute() { 1082 return delegate.getShutdownRoute(); 1083 } 1084 1085 @Override 1086 public void setShutdownRunningTask(ShutdownRunningTask shutdownRunningTask) { 1087 delegate.setShutdownRunningTask(shutdownRunningTask); 1088 } 1089 1090 @Override 1091 public ShutdownRunningTask getShutdownRunningTask() { 1092 return delegate.getShutdownRunningTask(); 1093 } 1094 1095 @Override 1096 public void setAllowUseOriginalMessage(Boolean allowUseOriginalMessage) { 1097 delegate.setAllowUseOriginalMessage(allowUseOriginalMessage); 1098 } 1099 1100 @Override 1101 public Boolean isAllowUseOriginalMessage() { 1102 return delegate.isAllowUseOriginalMessage(); 1103 } 1104 1105 @Override 1106 public Boolean isCaseInsensitiveHeaders() { 1107 return delegate.isCaseInsensitiveHeaders(); 1108 } 1109 1110 @Override 1111 public void setCaseInsensitiveHeaders(Boolean caseInsensitiveHeaders) { 1112 delegate.setCaseInsensitiveHeaders(caseInsensitiveHeaders); 1113 } 1114 1115 @Override 1116 public Boolean isAutowiredEnabled() { 1117 return delegate.isAutowiredEnabled(); 1118 } 1119 1120 @Override 1121 public void setAutowiredEnabled(Boolean autowiredEnabled) { 1122 delegate.setAutowiredEnabled(autowiredEnabled); 1123 } 1124 1125 @Override 1126 public void removeRouteTemplates(String pattern) throws Exception { 1127 delegate.removeRouteTemplates(pattern); 1128 } 1129 1130 @Override 1131 public ExtendedCamelContext getCamelContextExtension() { 1132 return delegate.getCamelContextExtension(); 1133 } 1134 1135 // 1136 // CatalogCamelContext 1137 // 1138 1139 protected CatalogCamelContext getCatalogCamelContext() { 1140 return (CatalogCamelContext) delegate; 1141 } 1142 1143 @Override 1144 public String getComponentParameterJsonSchema(String componentName) throws IOException { 1145 return getCatalogCamelContext().getComponentParameterJsonSchema(componentName); 1146 } 1147 1148 @Override 1149 public String getDataFormatParameterJsonSchema(String dataFormatName) throws IOException { 1150 return getCatalogCamelContext().getDataFormatParameterJsonSchema(dataFormatName); 1151 } 1152 1153 @Override 1154 public String getLanguageParameterJsonSchema(String languageName) throws IOException { 1155 return getCatalogCamelContext().getLanguageParameterJsonSchema(languageName); 1156 } 1157 1158 @Override 1159 public String getEipParameterJsonSchema(String eipName) throws IOException { 1160 return getCatalogCamelContext().getEipParameterJsonSchema(eipName); 1161 } 1162 1163 // 1164 // ModelCamelContext 1165 // 1166 1167 protected ModelCamelContext getModelCamelContext() { 1168 return (ModelCamelContext) delegate; 1169 } 1170 1171 @Override 1172 public void addModelLifecycleStrategy(ModelLifecycleStrategy modelLifecycleStrategy) { 1173 getModelCamelContext().addModelLifecycleStrategy(modelLifecycleStrategy); 1174 } 1175 1176 @Override 1177 public List<ModelLifecycleStrategy> getModelLifecycleStrategies() { 1178 return getModelCamelContext().getModelLifecycleStrategies(); 1179 } 1180 1181 @Override 1182 public void addRouteConfiguration(RouteConfigurationDefinition routesConfiguration) { 1183 getModelCamelContext().addRouteConfiguration(routesConfiguration); 1184 } 1185 1186 @Override 1187 public void addRouteConfigurations(List<RouteConfigurationDefinition> routesConfigurations) { 1188 getModelCamelContext().addRouteConfigurations(routesConfigurations); 1189 } 1190 1191 @Override 1192 public List<RouteConfigurationDefinition> getRouteConfigurationDefinitions() { 1193 return getModelCamelContext().getRouteConfigurationDefinitions(); 1194 } 1195 1196 @Override 1197 public void removeRouteConfiguration(RouteConfigurationDefinition routeConfigurationDefinition) throws Exception { 1198 getModelCamelContext().removeRouteConfiguration(routeConfigurationDefinition); 1199 } 1200 1201 @Override 1202 public RouteConfigurationDefinition getRouteConfigurationDefinition(String id) { 1203 return getModelCamelContext().getRouteConfigurationDefinition(id); 1204 } 1205 1206 @Override 1207 public List<RouteDefinition> getRouteDefinitions() { 1208 return getModelCamelContext().getRouteDefinitions(); 1209 } 1210 1211 @Override 1212 public RouteDefinition getRouteDefinition(String id) { 1213 return getModelCamelContext().getRouteDefinition(id); 1214 } 1215 1216 @Override 1217 public void addRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception { 1218 getModelCamelContext().addRouteDefinitions(routeDefinitions); 1219 } 1220 1221 @Override 1222 public void addRouteDefinition(RouteDefinition routeDefinition) throws Exception { 1223 getModelCamelContext().addRouteDefinition(routeDefinition); 1224 } 1225 1226 @Override 1227 public void removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws Exception { 1228 getModelCamelContext().removeRouteDefinitions(routeDefinitions); 1229 } 1230 1231 @Override 1232 public void removeRouteDefinition(RouteDefinition routeDefinition) throws Exception { 1233 getModelCamelContext().removeRouteDefinition(routeDefinition); 1234 } 1235 1236 @Override 1237 public List<RouteTemplateDefinition> getRouteTemplateDefinitions() { 1238 return getModelCamelContext().getRouteTemplateDefinitions(); 1239 } 1240 1241 @Override 1242 public RouteTemplateDefinition getRouteTemplateDefinition(String id) { 1243 return getModelCamelContext().getRouteTemplateDefinition(id); 1244 } 1245 1246 @Override 1247 public void addRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception { 1248 getModelCamelContext().addRouteTemplateDefinitions(routeTemplateDefinitions); 1249 } 1250 1251 @Override 1252 public void addRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception { 1253 getModelCamelContext().addRouteTemplateDefinition(routeTemplateDefinition); 1254 } 1255 1256 @Override 1257 public void removeRouteTemplateDefinitions(Collection<RouteTemplateDefinition> routeTemplateDefinitions) throws Exception { 1258 getModelCamelContext().removeRouteTemplateDefinitions(routeTemplateDefinitions); 1259 } 1260 1261 @Override 1262 public void removeRouteTemplateDefinition(RouteTemplateDefinition routeTemplateDefinition) throws Exception { 1263 getModelCamelContext().removeRouteTemplateDefinition(routeTemplateDefinition); 1264 } 1265 1266 @Override 1267 public void addRouteTemplateDefinitionConverter(String templateIdPattern, RouteTemplateDefinition.Converter converter) { 1268 getModelCamelContext().addRouteTemplateDefinitionConverter(templateIdPattern, converter); 1269 } 1270 1271 @Override 1272 public String addRouteFromTemplate(String routeId, String routeTemplateId, Map<String, Object> parameters) 1273 throws Exception { 1274 return getModelCamelContext().addRouteFromTemplate(routeId, routeTemplateId, parameters); 1275 } 1276 1277 @Override 1278 public String addRouteFromTemplate(String routeId, String routeTemplateId, String prefixId, Map<String, Object> parameters) 1279 throws Exception { 1280 return getModelCamelContext().addRouteFromTemplate(routeId, routeTemplateId, prefixId, parameters); 1281 } 1282 1283 @Override 1284 public String addRouteFromTemplate(String routeId, String routeTemplateId, RouteTemplateContext routeTemplateContext) 1285 throws Exception { 1286 return getModelCamelContext().addRouteFromTemplate(routeId, routeTemplateId, routeTemplateContext); 1287 } 1288 1289 @Override 1290 public String addRouteFromTemplate( 1291 String routeId, String routeTemplateId, String prefixId, RouteTemplateContext routeTemplateContext) 1292 throws Exception { 1293 return getModelCamelContext().addRouteFromTemplate(routeId, routeTemplateId, prefixId, routeTemplateContext); 1294 } 1295 1296 @Override 1297 public void addRouteFromTemplatedRoute(TemplatedRouteDefinition templatedRouteDefinition) 1298 throws Exception { 1299 getModelCamelContext().addRouteFromTemplatedRoute(templatedRouteDefinition); 1300 } 1301 1302 @Override 1303 public void removeRouteTemplateDefinitions(String pattern) throws Exception { 1304 getModelCamelContext().removeRouteTemplateDefinitions(pattern); 1305 } 1306 1307 @Override 1308 public List<RestDefinition> getRestDefinitions() { 1309 return getModelCamelContext().getRestDefinitions(); 1310 } 1311 1312 @Override 1313 public void addRestDefinitions(Collection<RestDefinition> restDefinitions, boolean addToRoutes) throws Exception { 1314 getModelCamelContext().addRestDefinitions(restDefinitions, addToRoutes); 1315 } 1316 1317 @Override 1318 public void setDataFormats(Map<String, DataFormatDefinition> dataFormats) { 1319 getModelCamelContext().setDataFormats(dataFormats); 1320 } 1321 1322 @Override 1323 public Map<String, DataFormatDefinition> getDataFormats() { 1324 return getModelCamelContext().getDataFormats(); 1325 } 1326 1327 @Override 1328 public DataFormatDefinition resolveDataFormatDefinition(String name) { 1329 return getModelCamelContext().resolveDataFormatDefinition(name); 1330 } 1331 1332 @Override 1333 public ProcessorDefinition<?> getProcessorDefinition(String id) { 1334 return getModelCamelContext().getProcessorDefinition(id); 1335 } 1336 1337 @Override 1338 public <T extends ProcessorDefinition<T>> T getProcessorDefinition(String id, Class<T> type) { 1339 return getModelCamelContext().getProcessorDefinition(id, type); 1340 } 1341 1342 @Override 1343 public void setValidators(List<ValidatorDefinition> validators) { 1344 getModelCamelContext().setValidators(validators); 1345 } 1346 1347 @Override 1348 public Resilience4jConfigurationDefinition getResilience4jConfiguration(String id) { 1349 return getModelCamelContext().getResilience4jConfiguration(id); 1350 } 1351 1352 @Override 1353 public void setResilience4jConfiguration(Resilience4jConfigurationDefinition configuration) { 1354 getModelCamelContext().setResilience4jConfiguration(configuration); 1355 } 1356 1357 @Override 1358 public void setResilience4jConfigurations(List<Resilience4jConfigurationDefinition> configurations) { 1359 getModelCamelContext().setResilience4jConfigurations(configurations); 1360 } 1361 1362 @Override 1363 public void addResilience4jConfiguration(String id, Resilience4jConfigurationDefinition configuration) { 1364 getModelCamelContext().addResilience4jConfiguration(id, configuration); 1365 } 1366 1367 @Override 1368 public FaultToleranceConfigurationDefinition getFaultToleranceConfiguration(String id) { 1369 return getModelCamelContext().getFaultToleranceConfiguration(id); 1370 } 1371 1372 @Override 1373 public void setFaultToleranceConfiguration(FaultToleranceConfigurationDefinition configuration) { 1374 getModelCamelContext().setFaultToleranceConfiguration(configuration); 1375 } 1376 1377 @Override 1378 public void setFaultToleranceConfigurations(List<FaultToleranceConfigurationDefinition> configurations) { 1379 getModelCamelContext().setFaultToleranceConfigurations(configurations); 1380 } 1381 1382 @Override 1383 public void addFaultToleranceConfiguration(String id, FaultToleranceConfigurationDefinition configuration) { 1384 getModelCamelContext().addFaultToleranceConfiguration(id, configuration); 1385 } 1386 1387 @Override 1388 public List<ValidatorDefinition> getValidators() { 1389 return getModelCamelContext().getValidators(); 1390 } 1391 1392 @Override 1393 public void setTransformers(List<TransformerDefinition> transformers) { 1394 getModelCamelContext().setTransformers(transformers); 1395 } 1396 1397 @Override 1398 public List<TransformerDefinition> getTransformers() { 1399 return getModelCamelContext().getTransformers(); 1400 } 1401 1402 @Override 1403 public ServiceCallConfigurationDefinition getServiceCallConfiguration(String serviceName) { 1404 return getModelCamelContext().getServiceCallConfiguration(serviceName); 1405 } 1406 1407 @Override 1408 public void setServiceCallConfiguration(ServiceCallConfigurationDefinition configuration) { 1409 getModelCamelContext().setServiceCallConfiguration(configuration); 1410 } 1411 1412 @Override 1413 public void setServiceCallConfigurations(List<ServiceCallConfigurationDefinition> configurations) { 1414 getModelCamelContext().setServiceCallConfigurations(configurations); 1415 } 1416 1417 @Override 1418 public void addServiceCallConfiguration(String serviceName, ServiceCallConfigurationDefinition configuration) { 1419 getModelCamelContext().addServiceCallConfiguration(serviceName, configuration); 1420 } 1421 1422 @Override 1423 public void startRouteDefinitions() throws Exception { 1424 getModelCamelContext().startRouteDefinitions(); 1425 } 1426 1427 @Override 1428 public void startRouteDefinitions(List<RouteDefinition> routeDefinitions) throws Exception { 1429 getModelCamelContext().startRouteDefinitions(routeDefinitions); 1430 } 1431 1432 @Override 1433 public void setRouteFilterPattern(String include, String exclude) { 1434 getModelCamelContext().setRouteFilterPattern(include, exclude); 1435 } 1436 1437 @Override 1438 public void setRouteFilter(Function<RouteDefinition, Boolean> filter) { 1439 getModelCamelContext().setRouteFilter(filter); 1440 } 1441 1442 @Override 1443 public Function<RouteDefinition, Boolean> getRouteFilter() { 1444 return getModelCamelContext().getRouteFilter(); 1445 } 1446 1447 @Override 1448 public ModelReifierFactory getModelReifierFactory() { 1449 return getModelCamelContext().getModelReifierFactory(); 1450 } 1451 1452 @Override 1453 public void setModelReifierFactory(ModelReifierFactory modelReifierFactory) { 1454 getModelCamelContext().setModelReifierFactory(modelReifierFactory); 1455 } 1456 1457 @Override 1458 public Expression createExpression(ExpressionDefinition definition) { 1459 return getModelCamelContext().createExpression(definition); 1460 } 1461 1462 @Override 1463 public Predicate createPredicate(ExpressionDefinition definition) { 1464 return getModelCamelContext().createPredicate(definition); 1465 } 1466 1467 @Override 1468 public void registerValidator(ValidatorDefinition validator) { 1469 getModelCamelContext().registerValidator(validator); 1470 } 1471 1472 @Override 1473 public void registerTransformer(TransformerDefinition transformer) { 1474 getModelCamelContext().registerTransformer(transformer); 1475 } 1476 1477 // 1478 // Immutable 1479 // 1480 1481 public void init() { 1482 if (delegate instanceof LightweightRuntimeCamelContext) { 1483 return; 1484 } 1485 delegate.init(); 1486 for (Route route : delegate.getRoutes()) { 1487 route.clearRouteModel(); 1488 } 1489 delegate = new LightweightRuntimeCamelContext(this, delegate); 1490 } 1491 1492 public void startImmutable() { 1493 delegate.start(); 1494 } 1495 1496}