This is an automated email from the ASF dual-hosted git repository.

piergiorgio pushed a commit to branch CONNECTORS-1779
in repository https://gitbox.apache.org/repos/asf/manifoldcf.git


The following commit(s) were added to refs/heads/CONNECTORS-1779 by this push:
     new 5a042d91d updated the copyright footer in the UI and fix for 
CONNECTORS-1773
5a042d91d is described below

commit 5a042d91dc0159139eeb77b23ea20205dce51b46
Author: Piergiorgio Lucidi <[email protected]>
AuthorDate: Tue Mar 10 22:35:35 2026 +0100

    updated the copyright footer in the UI and fix for CONNECTORS-1773
---
 Dockerfile                                         |  2 +-
 .../incrementalingest/IncrementalIngester.java     | 32 +++++++++++++++++++---
 .../crawler/system/PipelineConnections.java        | 21 +++++++-------
 .../manifoldcf/ui/i18n/common_en_US.properties     |  2 +-
 .../manifoldcf/ui/i18n/common_es_ES.properties     |  2 +-
 .../manifoldcf/ui/i18n/common_ja_JP.properties     |  2 +-
 .../manifoldcf/ui/i18n/common_zh_CN.properties     |  4 +--
 7 files changed, 44 insertions(+), 21 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 952a474fa..504a6206c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM eclipse-temurin:21-jre-jammy
+FROM eclipse-temurin:21-jre-noble
 LABEL maintainer="The Apache ManifoldCF Project"
 
 ARG MCF_VERSION="2.30-SNAPSHOT"
diff --git 
a/framework/agents/src/main/java/org/apache/manifoldcf/agents/incrementalingest/IncrementalIngester.java
 
b/framework/agents/src/main/java/org/apache/manifoldcf/agents/incrementalingest/IncrementalIngester.java
index 48d76fc8e..01f3854e9 100644
--- 
a/framework/agents/src/main/java/org/apache/manifoldcf/agents/incrementalingest/IncrementalIngester.java
+++ 
b/framework/agents/src/main/java/org/apache/manifoldcf/agents/incrementalingest/IncrementalIngester.java
@@ -369,7 +369,13 @@ public class IncrementalIngester extends 
org.apache.manifoldcf.core.database.Bas
     throws ManifoldCFException
   {
     // Pick up all needed transformation connectors
-    ITransformationConnector[] transformationConnectors = 
transformationConnectorPool.grabMultiple(pipelineConnections.getTransformationConnectionNames(),pipelineConnections.getTransformationConnections());
+    String[] transformationConnectionNames = 
pipelineConnections.getTransformationConnectionNames();
+    String[] transformationOrderingKeys = new 
String[transformationConnectionNames.length];
+    for (int i = 0; i < transformationOrderingKeys.length; i++)
+    {
+      transformationOrderingKeys[i] = transformationConnectionNames[i] + "-" + 
i;
+    }
+    ITransformationConnector[] transformationConnectors = 
transformationConnectorPool.grabMultiple(transformationOrderingKeys,pipelineConnections.getTransformationConnections());
     for (ITransformationConnector c : transformationConnectors)
     {
       if (c == null)
@@ -382,7 +388,13 @@ public class IncrementalIngester extends 
org.apache.manifoldcf.core.database.Bas
     // Pick up all needed output connectors.  If this fails we have to release 
the transformation connectors.
     try
     {
-      IOutputConnector[] outputConnectors = 
outputConnectorPool.grabMultiple(pipelineConnections.getOutputConnectionNames(),pipelineConnections.getOutputConnections());
+      String[] outputConnectionNames = 
pipelineConnections.getOutputConnectionNames();
+      String[] outputOrderingKeys = new String[outputConnectionNames.length];
+      for (int i = 0; i < outputOrderingKeys.length; i++)
+      {
+        outputOrderingKeys[i] = outputConnectionNames[i] + "-" + i;
+      }
+      IOutputConnector[] outputConnectors = 
outputConnectorPool.grabMultiple(outputOrderingKeys,pipelineConnections.getOutputConnections());
       for (IOutputConnector c : outputConnectors)
       {
         if (c == null)
@@ -416,7 +428,13 @@ public class IncrementalIngester extends 
org.apache.manifoldcf.core.database.Bas
     throws ManifoldCFException
   {
     // Pick up all needed transformation connectors
-    ITransformationConnector[] transformationConnectors = 
transformationConnectorPool.grabMultiple(pipelineConnections.getTransformationConnectionNames(),pipelineConnections.getTransformationConnections());
+    String[] transformationConnectionNames = 
pipelineConnections.getTransformationConnectionNames();
+    String[] transformationOrderingKeys = new 
String[transformationConnectionNames.length];
+    for (int i = 0; i < transformationOrderingKeys.length; i++)
+    {
+      transformationOrderingKeys[i] = transformationConnectionNames[i] + "-" + 
i;
+    }
+    ITransformationConnector[] transformationConnectors = 
transformationConnectorPool.grabMultiple(transformationOrderingKeys,pipelineConnections.getTransformationConnections());
     for (ITransformationConnector c : transformationConnectors)
     {
       if (c == null)
@@ -429,7 +447,13 @@ public class IncrementalIngester extends 
org.apache.manifoldcf.core.database.Bas
     // Pick up all needed output connectors.  If this fails we have to release 
the transformation connectors.
     try
     {
-      IOutputConnector[] outputConnectors = 
outputConnectorPool.grabMultiple(pipelineConnections.getOutputConnectionNames(),pipelineConnections.getOutputConnections());
+      String[] outputConnectionNames = 
pipelineConnections.getOutputConnectionNames();
+      String[] outputOrderingKeys = new String[outputConnectionNames.length];
+      for (int i = 0; i < outputOrderingKeys.length; i++)
+      {
+        outputOrderingKeys[i] = outputConnectionNames[i] + "-" + i;
+      }
+      IOutputConnector[] outputConnectors = 
outputConnectorPool.grabMultiple(outputOrderingKeys,pipelineConnections.getOutputConnections());
       for (IOutputConnector c : outputConnectors)
       {
         if (c == null)
diff --git 
a/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineConnections.java
 
b/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineConnections.java
index 2f67b1548..a0e876723 100644
--- 
a/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineConnections.java
+++ 
b/framework/pull-agent/src/main/java/org/apache/manifoldcf/crawler/system/PipelineConnections.java
@@ -42,10 +42,12 @@ public class PipelineConnections implements 
IPipelineConnections
     throws ManifoldCFException
   {
     this.spec = spec;
-    // Now, load all the connections we'll ever need, being sure to only load 
one copy of each.
-    // We first segregate them into unique transformation and output 
connections.
+    // Now, load all the connections we'll ever need.
+    // We used to load only one copy of each connection.  However, for 
transformation connections, we need
+    // one per stage because the same transformation connection can be used in 
multiple stages, and
+    // if the connector is not re-entrant we need multiple connector instances.
     int count = spec.getStageCount();
-    Set<String> transformations = new HashSet<String>();
+    List<String> transformations = new ArrayList<String>();
     Set<String> outputs = new HashSet<String>();
     for (int i = 0; i < count; i++)
     {
@@ -55,17 +57,14 @@ public class PipelineConnections implements 
IPipelineConnections
         transformations.add(spec.getStageConnectionName(i));
     }
       
-    Map<String,Integer> transformationNameMap = new HashMap<String,Integer>();
     Map<String,Integer> outputNameMap = new HashMap<String,Integer>();
     transformationConnectionNames = new String[transformations.size()];
     outputConnectionNames = new String[outputs.size()];
-    int index = 0;
-    for (String connectionName : transformations)
+    for (int i = 0; i < transformationConnectionNames.length; i++)
     {
-      transformationConnectionNames[index] = connectionName;
-      transformationNameMap.put(connectionName,new Integer(index++));
+      transformationConnectionNames[i] = transformations.get(i);
     }
-    index = 0;
+    int index = 0;
     for (String connectionName : outputs)
     {
       outputConnectionNames[index] = connectionName;
@@ -75,16 +74,16 @@ public class PipelineConnections implements 
IPipelineConnections
     transformationConnections = 
transformationConnectionManager.loadMultiple(transformationConnectionNames);
     outputConnections = 
outputConnectionManager.loadMultiple(outputConnectionNames);
       
+    int transformationIndex = 0;
     for (int i = 0; i < count; i++)
     {
-      Integer k;
       if (spec.checkStageOutputConnection(i))
       {
         outputConnectionLookupMap.put(new 
Integer(i),outputNameMap.get(spec.getStageConnectionName(i)));
       }
       else
       {
-        transformationConnectionLookupMap.put(new 
Integer(i),transformationNameMap.get(spec.getStageConnectionName(i)));
+        transformationConnectionLookupMap.put(new Integer(i),new 
Integer(transformationIndex++));
       }
     }
   }
diff --git 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
index 92492c165..fc832bb9c 100644
--- 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
+++ 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_en_US.properties
@@ -34,7 +34,7 @@ editjob.am=am
 editjob.pm=pm
 
 index.TheApacheSoftwareFoundation=The Apache® Software Foundation
-index.Copyright=Copyright© 2010-2025
+index.Copyright=Copyright© 2010-2026
 index.ApacheManifoldCF=Apache ManifoldCF™
 index.WelcomeToApacheManifoldFC=Welcome to Apache ManifoldCF™
 index.ApacheManifoldCFLogin=Apache ManifoldCF™ Login
diff --git 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_es_ES.properties
 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_es_ES.properties
index 6207be4e8..234dde0ec 100644
--- 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_es_ES.properties
+++ 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_es_ES.properties
@@ -34,7 +34,7 @@ editjob.am=am
 editjob.pm=pm
 
 index.TheApacheSoftwareFoundation=The Apache® Software Foundation
-index.Copyright=Copyright© 2010-2025
+index.Copyright=Copyright© 2010-2026
 index.ApacheManifoldCF=Apache ManifoldCF™
 index.WelcomeToApacheManifoldFC=Bienvenido a Apache ManifoldCF™
 index.ApacheManifoldCFLogin=Apache ManifoldCF™ Entrar
diff --git 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
index f37c0dfce..000e86008 100644
--- 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
+++ 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_ja_JP.properties
@@ -34,7 +34,7 @@ editjob.am=午前
 editjob.pm=午後
 
 index.TheApacheSoftwareFoundation=The Apache® Software Foundation
-index.Copyright=Copyright© 2010-2025
+index.Copyright=Copyright© 2010-2026
 index.ApacheManifoldCF=Apache ManifoldCF™
 index.WelcomeToApacheManifoldFC=Apache ManifoldCF™へようこそ
 index.ApacheManifoldCFLogin=Apache ManifoldCF™ ログイン
diff --git 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties
 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties
index e04f18178..3225bb8c3 100644
--- 
a/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties
+++ 
b/framework/ui-core/src/main/native2ascii/org/apache/manifoldcf/ui/i18n/common_zh_CN.properties
@@ -34,8 +34,8 @@ editjob.am=上午
 editjob.pm=下午
 
 index.TheApacheSoftwareFoundation=The Apache® Software Foundation
-index.Copyright=Copyright© 2010-2025
-index.ApacheManifoldCF=Apache ManifoldCF™
+index.Copyright=Copyright© 2010-2026
+index.ApacheManifoldCF=Apache ManifolCF™
 index.WelcomeToApacheManifoldFC=欢迎访问Apache ManifoldCF™
 index.ApacheManifoldCFLogin=登录Apache ManifoldCF™
 index.UserIDColon=用户ID:

Reply via email to