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

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 572bc3a66 Removing JNDIDataSourceFactory. It is deprecated and it is 
no longer feasible to support it
572bc3a66 is described below

commit 572bc3a666ed33e412edc2b6d0449c3917248a88
Author: Andrus Adamchik <[email protected]>
AuthorDate: Sun Aug 16 14:34:50 2026 -0400

    Removing JNDIDataSourceFactory. It is deprecated and it is no longer 
feasible to support it
---
 .../runtime/JNDIDataSourceFactory.java             | 83 -------------------
 .../runtime/JNDIDataSourceFactoryIT.java           | 96 ----------------------
 2 files changed, 179 deletions(-)

diff --git 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactory.java
 
b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactory.java
deleted file mode 100644
index cb7ea07a0..000000000
--- 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactory.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.configuration.runtime;
-
-import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-
-/**
- * Locates DataSource mapped via JNDI.
- * 
- * @since 3.1
- * @deprecated unused by Cayenne
- */
-@Deprecated(since = "5.0", forRemoval = true)
-public class JNDIDataSourceFactory implements DataSourceFactory {
-
-       private static final Logger LOGGER = 
LoggerFactory.getLogger(JNDIDataSourceFactory.class);
-
-       @Override
-       public DataSource getDataSource(DataNodeDescriptor nodeDescriptor) {
-
-               String location = getLocation(nodeDescriptor);
-
-               try {
-                       return lookupViaJNDI(location);
-               } catch (Exception e) {
-                       LOGGER.info("*** failed JNDI lookup of DataSource at 
location: {}", location, e);
-                       throw new RuntimeException(e);
-               }
-       }
-
-       protected String getLocation(DataNodeDescriptor nodeDescriptor) {
-               String location = nodeDescriptor.getParameters();
-               if (location == null) {
-                       throw new CayenneRuntimeException("Null 'location' for 
nodeDescriptor '%s'", nodeDescriptor.getName());
-               }
-
-               return location;
-       }
-
-       DataSource lookupViaJNDI(String location) throws NamingException {
-
-               LOGGER.info("Connecting. JNDI path: {}", location);
-
-               Context context = new InitialContext();
-               DataSource dataSource;
-               try {
-                       Context envContext = (Context) 
context.lookup("java:comp/env");
-                       dataSource = (DataSource) envContext.lookup(location);
-               } catch (NamingException namingEx) {
-                       // try looking up the location directly...
-                       dataSource = (DataSource) context.lookup(location);
-               }
-
-               LOGGER.info("Found JNDI DataSource at location: {}", location);
-
-               return dataSource;
-       }
-
-}
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java
 
b/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java
deleted file mode 100644
index eccabf7ab..000000000
--- 
a/cayenne/src/test/java/org/apache/cayenne/configuration/runtime/JNDIDataSourceFactoryIT.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*****************************************************************
- *   Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    https://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- ****************************************************************/
-package org.apache.cayenne.configuration.runtime;
-
-import org.apache.cayenne.configuration.DataNodeDescriptor;
-import org.apache.cayenne.unit.CayenneTestsEnv;
-import org.apache.cayenne.unit.jdbc.TestDataSource;
-import org.apache.cayenne.unit.CayenneProjects;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
-
-import javax.naming.InitialContext;
-
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-@Deprecated
-public class JNDIDataSourceFactoryIT {
-
-    @RegisterExtension
-    static final CayenneTestsEnv env = 
CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT);
-
-    @Test
-    public void getDataSource_NameBound() throws Exception {
-
-        DataNodeDescriptor descriptor = new DataNodeDescriptor();
-        descriptor.setParameters("jdbc/TestDS");
-
-        JNDISetup.doSetup();
-
-        TestDataSource dataSource = new TestDataSource();
-        InitialContext context = new InitialContext();
-        context.bind(descriptor.getParameters(), dataSource);
-
-        try {
-
-            JNDIDataSourceFactory factory = new JNDIDataSourceFactory();
-            assertSame(dataSource, factory.getDataSource(descriptor));
-        }
-        finally {
-            // since the context is shared, must clear it after the test
-            context.unbind(descriptor.getParameters());
-        }
-    }
-
-    @Test
-    public void getDataSource_NameBoundWithPrefix() throws Exception {
-
-        DataNodeDescriptor descriptor = new DataNodeDescriptor();
-        descriptor.setParameters("jdbc/TestDS");
-
-        JNDISetup.doSetup();
-
-        TestDataSource dataSource = new TestDataSource();
-        InitialContext context = new InitialContext();
-        context.bind("java:comp/env/" + descriptor.getParameters(), 
dataSource);
-
-        try {
-
-            JNDIDataSourceFactory factory = new JNDIDataSourceFactory();
-            assertSame(dataSource, factory.getDataSource(descriptor));
-        }
-        finally {
-            // since the context is shared, must clear it after the test
-            context.unbind("java:comp/env/" + descriptor.getParameters());
-        }
-    }
-
-    @Test
-    public void getDataSource_NameNotBound() throws Exception {
-
-        DataNodeDescriptor descriptor = new DataNodeDescriptor();
-        descriptor.setParameters("jdbc/TestDS");
-
-        JNDISetup.doSetup();
-
-        JNDIDataSourceFactory factory = new JNDIDataSourceFactory();
-        assertThrows(RuntimeException.class, () -> 
factory.getDataSource(descriptor));
-    }
-}

Reply via email to