Skip to content

Commit 9a6ef86

Browse files
committed
TIKA-4583: Add PF4J plugin.properties and Plugin class
- Created IgniteConfigStorePlugin extending org.pf4j.Plugin - Added plugin.properties with plugin metadata - Added pf4j dependency to pom.xml - Plugin now properly discoverable by PF4J plugin manager Plugin metadata: - plugin.id: tika-ignite-config-store-plugin - plugin.class: org.apache.tika.pipes.plugin.ignite.IgniteConfigStorePlugin - plugin.version: 4.0.0-SNAPSHOT - plugin.provider: Apache Tika This enables proper plugin discovery and lifecycle management through the PF4J framework, consistent with other Tika plugins.
1 parent 25faa80 commit 9a6ef86

File tree

3 files changed

+77
-0
lines changed

3 files changed

+77
-0
lines changed

tika-pipes/tika-ignite-config-store/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@
4646
<artifactId>tika-plugins-core</artifactId>
4747
<version>${project.version}</version>
4848
</dependency>
49+
<dependency>
50+
<groupId>org.pf4j</groupId>
51+
<artifactId>pf4j</artifactId>
52+
</dependency>
4953
<dependency>
5054
<groupId>org.apache.ignite</groupId>
5155
<artifactId>ignite-core</artifactId>
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
package org.apache.tika.pipes.plugin.ignite;
18+
19+
import org.pf4j.Plugin;
20+
import org.pf4j.PluginWrapper;
21+
import org.slf4j.Logger;
22+
import org.slf4j.LoggerFactory;
23+
24+
/**
25+
* PF4J Plugin class for Apache Ignite ConfigStore.
26+
*/
27+
public class IgniteConfigStorePlugin extends Plugin {
28+
29+
private static final Logger LOG = LoggerFactory.getLogger(IgniteConfigStorePlugin.class);
30+
31+
public IgniteConfigStorePlugin(PluginWrapper wrapper) {
32+
super(wrapper);
33+
}
34+
35+
@Override
36+
public void start() {
37+
LOG.info("Starting Ignite ConfigStore plugin");
38+
super.start();
39+
}
40+
41+
@Override
42+
public void stop() {
43+
LOG.info("Stopping Ignite ConfigStore plugin");
44+
super.stop();
45+
}
46+
47+
@Override
48+
public void delete() {
49+
LOG.info("Deleting Ignite ConfigStore plugin");
50+
super.delete();
51+
}
52+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one or more
3+
# contributor license agreements. See the NOTICE file distributed with
4+
# this work for additional information regarding copyright ownership.
5+
# The ASF licenses this file to You under the Apache License, Version 2.0
6+
# (the "License"); you may not use this file except in compliance with
7+
# the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
plugin.id=tika-ignite-config-store-plugin
18+
plugin.class=org.apache.tika.pipes.plugin.ignite.IgniteConfigStorePlugin
19+
plugin.version=4.0.0-SNAPSHOT
20+
plugin.provider=Apache Tika
21+
plugin.description=Apache Ignite ConfigStore for distributed configuration storage

0 commit comments

Comments
 (0)