org.apache.jackrabbit.oak.plugins.multiplex.MultiplexingNodeStoreService.class Maven / Gradle / Ivy
???? 3T Horg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService java/lang/Object !MultiplexingNodeStoreService.java ,Lorg/apache/felix/scr/annotations/Component; policy 6Lorg/apache/felix/scr/annotations/ConfigurationPolicy; REQUIRE metatype label 4Apache Jackrabbit Oak Multiplexing NodeStore Service description [NodeStore implementation proxying all the operations to other nodestores configured in OSGi [org/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService$NodeStoreWithProps NodeStoreWithProps Iorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore$Builder Aorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore Builder LOG Lorg/slf4j/Logger; GLOBAL_ROLE Ljava/lang/String; multiplexing:global MOUNT_ROLE_PREFIX multiplexing:mount: mountInfoProvider 7Lorg/apache/jackrabbit/oak/spi/mount/MountInfoProvider; ,Lorg/apache/felix/scr/annotations/Reference; cardinality 7Lorg/apache/felix/scr/annotations/ReferenceCardinality; MANDATORY_UNARY 2Lorg/apache/felix/scr/annotations/ReferencePolicy; STATIC
nodeStores Ljava/util/List; oLjava/util/List; MANDATORY_MULTIPLE DYNAMIC bind
bindNodeStore unbind unbindNodeStore referenceInterface 7Lorg/apache/jackrabbit/oak/spi/state/NodeStoreProvider; context -Lorg/osgi/service/component/ComponentContext; nsReg (Lorg/osgi/framework/ServiceRegistration; observerTracker 0Lorg/apache/jackrabbit/oak/osgi/ObserverTracker; ()V : ;
< java/util/ArrayList >
? < ) * A this JLorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService; activate 0(Lorg/osgi/service/component/ComponentContext;)V +Lorg/apache/felix/scr/annotations/Activate; 4 5 H registerMultiplexingNodeStore J ;
K
deactivate -Lorg/apache/felix/scr/annotations/Deactivate; unregisterMultiplexingNodeStore O ;
P 6 7 R java/util/HashSet T
U < java/util/List W iterator ()Ljava/util/Iterator; Y Z X [ java/util/Iterator ] hasNext ()Z _ ` ^ a next ()Ljava/lang/Object; c d ^ e isGlobalNodeStore `(Lorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService$NodeStoreWithProps;)Z g h
i getMountName q(Lorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService$NodeStoreWithProps;)Ljava/lang/String; k l
m
java/util/Set o add (Ljava/lang/Object;)Z q r p s u eMultiplexing node store registration is deferred until there's a global node store registered in OSGi w org/slf4j/Logger y info (Ljava/lang/String;)V { | z } Found global node store: {} getDescription ? l
? '(Ljava/lang/String;Ljava/lang/Object;)V { ? z ? ! " ? 5org/apache/jackrabbit/oak/spi/mount/MountInfoProvider ? getNonDefaultMounts ()Ljava/util/Collection; ? ? ? ? java/util/Collection ? ? [ )org/apache/jackrabbit/oak/spi/mount/Mount ? getName ()Ljava/lang/String; ? ? ? ? contains ? r p ? ZMultiplexing node store registration is deferred until there's mount {} registered in OSGi ? 3Node stores for all configured mounts are available ? getNodeStoreProvider 9()Lorg/apache/jackrabbit/oak/spi/state/NodeStoreProvider; ? ?
? 5org/apache/jackrabbit/oak/spi/state/NodeStoreProvider ? getNodeStore 1()Lorg/apache/jackrabbit/oak/spi/state/NodeStore; ? ? ? ? i(Lorg/apache/jackrabbit/oak/spi/mount/MountInfoProvider;Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)V : ?
? addMount ?(Ljava/lang/String;Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)Lorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore$Builder; ? ?
? Mounting {} as {} ? 9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V { ? z ? java/util/Hashtable ?
? < service.pid ? java/lang/Class ?
? ? java/util/Dictionary ? put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ? ?
? ? oak.nodestore.description ? java/lang/String ? nodeStoreType=multiplexing ? build E()Lorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore; ? ?
? .org/apache/jackrabbit/oak/osgi/ObserverTracker ? 4(Lorg/apache/jackrabbit/oak/spi/commit/Observable;)V : ?
? ? 8 9 ? +org/osgi/service/component/ComponentContext ? getBundleContext $()Lorg/osgi/framework/BundleContext; ? ? ? ? start %(Lorg/osgi/framework/BundleContext;)V ? ?
? ? 'Registering the multiplexing node store ? -org/apache/jackrabbit/oak/spi/state/NodeStore ? org/osgi/framework/BundleContext ? registerService e([Ljava/lang/String;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration; ? ? ? ? ns ]Lorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStoreService$NodeStoreWithProps; i$ Ljava/util/Iterator; m +Lorg/apache/jackrabbit/oak/spi/mount/Mount; mountName globalNs availableMounts #Ljava/util/Set; Ljava/util/Set; builder KLorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore$Builder; props ; Ljava/util/Dictionary; store CLorg/apache/jackrabbit/oak/plugins/multiplex/MultiplexingNodeStore; getRole ? ?
? equals ? r
? ?
startsWith (Ljava/lang/String;)Z
? length ()I
? substring (I)Ljava/lang/String;
?
role getProps ()Ljava/util/Map;
java/util/Map get &(Ljava/lang/Object;)Ljava/lang/Object; getClass ()Ljava/lang/Class;
toString ?
? 0org/apache/jackrabbit/oak/commons/PropertiesUtil 8(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
! )Unregistering the multiplexing node store# &org/osgi/framework/ServiceRegistration%
unregister' ;&( stop* ;
?+ I(Lorg/apache/jackrabbit/oak/spi/state/NodeStoreProvider;Ljava/util/Map;)V :-
. X s 8bindNodeStore: context is null, delaying reconfiguration1 config $Ljava/util/Map; Ljava/util/Map; newNs :(Lorg/apache/jackrabbit/oak/spi/state/NodeStoreProvider;)V remove8 ; ^9 :unbindNodeStore: context is null, delaying reconfiguration; it sLjava/util/Iterator; org/slf4j/LoggerFactory@ getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger;BC
AD bindMountInfoProvider :(Lorg/apache/jackrabbit/oak/spi/mount/MountInfoProvider;)V unbindMountInfoProvider
ConstantValue RuntimeInvisibleAnnotations Signature Code LocalVariableTable LineNumberTable LocalVariableTypeTable
StackMapTable ^(Lorg/apache/jackrabbit/oak/spi/state/NodeStoreProvider;Ljava/util/Map;)V
SourceFile InnerClasses ! I I ! " J # $e % &