diff --git a/CHANGELOG.md b/CHANGELOG.md index c8eaf31..551814e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] +### Changed +- Switched to `keyple-card-generic-java-lib` `4.0.0-SNAPSHOT` + +### Fixed +- Fixed example URLs + ## [2026-03-10] ### Upgraded - Upgraded [Keyple Java BOM](https://github.com/eclipse-keyple/keyple-java-bom) to `2026.02.20` diff --git a/Example_Plugin_Android_OMAPI/app/build.gradle.kts b/Example_Plugin_Android_OMAPI/app/build.gradle.kts index 780db70..c1ac77c 100644 --- a/Example_Plugin_Android_OMAPI/app/build.gradle.kts +++ b/Example_Plugin_Android_OMAPI/app/build.gradle.kts @@ -25,9 +25,10 @@ dependencies { "exclude" to listOf("org.simalliance.openmobileapi.jar")))) // Begin Keyple configuration (generated by // 'https://keyple.org/components/overview/configuration-wizard/') - implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.02.20")) + implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.03.16")) implementation("org.eclipse.keypop:keypop-reader-java-api") implementation("org.eclipse.keypop:keypop-calypso-card-java-api") + implementation("org.eclipse.keypop:keypop-genericcard-jvm-api") implementation("org.eclipse.keyple:keyple-common-java-api") implementation("org.eclipse.keyple:keyple-util-java-lib") implementation("org.eclipse.keyple:keyple-service-java-lib") diff --git a/Example_Plugin_Android_OMAPI/app/src/main/kotlin/org/eclipse/keyple/example/plugin/android/omapi/activity/CoreExamplesActivity.kt b/Example_Plugin_Android_OMAPI/app/src/main/kotlin/org/eclipse/keyple/example/plugin/android/omapi/activity/CoreExamplesActivity.kt index 19672d1..a4822cf 100644 --- a/Example_Plugin_Android_OMAPI/app/src/main/kotlin/org/eclipse/keyple/example/plugin/android/omapi/activity/CoreExamplesActivity.kt +++ b/Example_Plugin_Android_OMAPI/app/src/main/kotlin/org/eclipse/keyple/example/plugin/android/omapi/activity/CoreExamplesActivity.kt @@ -107,7 +107,9 @@ class CoreExamplesActivity : AbstractExampleActivity() { /** Create a card selection extension using the generic card extension. */ val cardSelectionExtension = - GenericExtensionService.getInstance().createGenericCardSelectionExtension() + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension() cardSelectionManager.prepareSelection(cardSelector, cardSelectionExtension) /** Release the channel after the selection is done */ diff --git a/Example_Plugin_PCSC/build.gradle.kts b/Example_Plugin_PCSC/build.gradle.kts index a27c715..cb6f004 100644 --- a/Example_Plugin_PCSC/build.gradle.kts +++ b/Example_Plugin_PCSC/build.gradle.kts @@ -16,8 +16,9 @@ plugins { dependencies { // Begin Keyple configuration (generated by // 'https://keyple.org/components/overview/configuration-wizard/') - implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.02.20")) + implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.03.16")) implementation("org.eclipse.keypop:keypop-reader-java-api") + implementation("org.eclipse.keypop:keypop-genericcard-jvm-api") implementation("org.eclipse.keyple:keyple-common-java-api") implementation("org.eclipse.keyple:keyple-util-java-lib") implementation("org.eclipse.keyple:keyple-service-java-lib") diff --git a/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase3_ChangeProtocolRules/Main_ChangeProtocolRules_Pcsc.java b/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase3_ChangeProtocolRules/Main_ChangeProtocolRules_Pcsc.java index 67527cd..def7b15 100644 --- a/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase3_ChangeProtocolRules/Main_ChangeProtocolRules_Pcsc.java +++ b/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase3_ChangeProtocolRules/Main_ChangeProtocolRules_Pcsc.java @@ -114,7 +114,8 @@ public static void main(String[] args) { // Prepare the selection by adding the created generic selection to the card selection scenario. cardSelectionManager.prepareSelection( - cardSelector, cardExtension.createGenericCardSelectionExtension()); + cardSelector, + cardExtension.getGenericCardApiFactory().createGenericCardSelectionExtension()); // Actual card communication: run the selection scenario. CardSelectionResult selectionResult = cardSelectionManager.processCardSelectionScenario(reader); diff --git a/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase4_TransmitControl/Main_TransmitControl_Pcsc.java b/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase4_TransmitControl/Main_TransmitControl_Pcsc.java index c0917bd..e3ddd98 100644 --- a/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase4_TransmitControl/Main_TransmitControl_Pcsc.java +++ b/Example_Plugin_PCSC/src/main/java/org/eclipse/keyple/example/plugin/pcsc/UseCase4_TransmitControl/Main_TransmitControl_Pcsc.java @@ -116,7 +116,8 @@ public static void main(String[] args) throws InterruptedException { // Prepare the selection by adding the created generic selection to the card selection scenario. cardSelectionManager.prepareSelection( - cardSelector, cardExtension.createGenericCardSelectionExtension()); + cardSelector, + cardExtension.getGenericCardApiFactory().createGenericCardSelectionExtension()); // Schedule the selection scenario, always notify card presence. cardSelectionManager.scheduleCardSelectionScenario( diff --git a/Example_Service/README.md b/Example_Service/README.md index 78988bb..c0850a2 100644 --- a/Example_Service/README.md +++ b/Example_Service/README.md @@ -6,35 +6,35 @@ select card and how to observe plugins and readers. Each example can be run independently. * Use Case Generic 1 – Basic - selection: [UseCase1_BasicSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase1_BasicSelection) + selection: [UseCase1_BasicSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase1_BasicSelection) * Demonstrates the most basic selection mode where no conditions are required to select a card. * Implementations: * For PC/SC plugin: [`Main_BasicSelection_Pcsc.java`] * For Stub plugin: [`Main_BasicSelection_Stub.java`] * Use Case Generic 2 – Protocol based - selection: [UseCase2_ProtocolBasedSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase2_ProtocolBasedSelection) + selection: [UseCase2_ProtocolBasedSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase2_ProtocolBasedSelection) * Demonstrates the selection mode where the card's protocol is used as a differentiator. * Implementations: * For PC/SC plugin: [`Main_ProtocolBasedSelection_Pcsc.java`] * For Stub plugin: [`Main_ProtocolBasedSelection_Stub.java`] * Use Case Generic 3 – Aid based - selection: [UseCase3_AidBasedSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase3_AidBasedSelection) + selection: [UseCase3_AidBasedSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase3_AidBasedSelection) * Demonstrates the selection mode where the card is selected by its DF Name with an appropriate AID. * Implementations: * For PC/SC plugin: [`Main_AidBasedSelection_Pcsc.java`] * For Stub plugin: [`Main_AidBasedSelection_Stub.java`] * Use Case Generic 4 – Aid based - selection: [UseCase4_ScheduledSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase4_ScheduledSelection) + selection: [UseCase4_ScheduledSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase4_ScheduledSelection) * Demonstrates the selection is processed as soon as the card is detected by an observable reader. * Implementations: * For PC/SC plugin: [`Main_ScheduledSelection_Pcsc.java`] * For Stub plugin: [`Main_ScheduledSelection_Stub.java`] * Use Case Generic 5 – Sequential multiple - selection: [UseCase5_SequentialMultiSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase5_SequentialMultiSelection) + selection: [UseCase5_SequentialMultiSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase5_SequentialMultiSelection) * Demonstrates multiple selections performed successively on the same card with the navigation options (FIRST/NEXT) defined by the ISO standard. * Implementations: @@ -42,7 +42,7 @@ Each example can be run independently. * For Stub plugin: [`Main_SequentialMultiSelection_Stub.java`] * Use Case Generic 6 – Grouped multiple - selection: [UseCase6_GroupedMultiSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase6_GroupedMultiSelection) + selection: [UseCase6_GroupedMultiSelection](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase6_GroupedMultiSelection) * Demonstrates multiple selections made at once on the same card with the navigation options (FIRST/NEXT) defined by the ISO standard and returned as a single selection result. * Implementations: @@ -50,7 +50,7 @@ Each example can be run independently. * For Stub plugin: [`Main_GroupedMultiSelection_Stub.java`] * Use Case Generic 7 – Plugin and reader - observation: [UseCase7_PluginAndReaderObservation](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/core/service/example/UseCase7_PluginAndReaderObservation) + observation: [UseCase7_PluginAndReaderObservation](https://github.com/eclipse-keyple/keyple-java-example/tree/main/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase7_PluginAndReaderObservation) * Demonstrates the observation of a plugin to monitor the connection/disconnection of readers and of the readers to monitor the insertion/removal of cards. * Implementations: diff --git a/Example_Service/build.gradle.kts b/Example_Service/build.gradle.kts index 3236e83..68532d1 100644 --- a/Example_Service/build.gradle.kts +++ b/Example_Service/build.gradle.kts @@ -16,8 +16,9 @@ plugins { dependencies { // Begin Keyple configuration (generated by // 'https://keyple.org/components/overview/configuration-wizard/') - implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.02.20")) + implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.03.16")) implementation("org.eclipse.keypop:keypop-reader-java-api") + implementation("org.eclipse.keypop:keypop-genericcard-jvm-api") implementation("org.eclipse.keyple:keyple-common-java-api") implementation("org.eclipse.keyple:keyple-util-java-lib") implementation("org.eclipse.keyple:keyple-service-java-lib") diff --git a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase1_BasicSelection/Main_BasicSelection_Pcsc.java b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase1_BasicSelection/Main_BasicSelection_Pcsc.java index 82277d0..3c9fdf2 100644 --- a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase1_BasicSelection/Main_BasicSelection_Pcsc.java +++ b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase1_BasicSelection/Main_BasicSelection_Pcsc.java @@ -13,7 +13,6 @@ package org.eclipse.keyple.example.core.service.UseCase1_BasicSelection; import java.util.List; -import org.eclipse.keyple.card.generic.GenericCardSelectionExtension; import org.eclipse.keyple.card.generic.GenericExtensionService; import org.eclipse.keyple.core.service.Plugin; import org.eclipse.keyple.core.service.SmartCardService; @@ -22,6 +21,7 @@ import org.eclipse.keyple.plugin.pcsc.PcscCardCommunicationProtocol; import org.eclipse.keyple.plugin.pcsc.PcscPluginFactoryBuilder; import org.eclipse.keyple.plugin.pcsc.PcscReader; +import org.eclipse.keypop.genericcard.GenericCardSelectionExtension; import org.eclipse.keypop.reader.CardReader; import org.eclipse.keypop.reader.ChannelControl; import org.eclipse.keypop.reader.ConfigurableCardReader; @@ -92,6 +92,7 @@ public static void main(String[] args) { List apduResponses = GenericExtensionService.getInstance() + .getGenericCardApiFactory() .createCardTransaction(cardReader, smartCard) .prepareApdu(cplcApdu) .processCommands(ChannelControl.CLOSE_AFTER) @@ -192,7 +193,9 @@ private static SmartCard selectCard(CardReader reader) { CardSelectionManager cardSelectionManager = readerApiFactory.createCardSelectionManager(); IsoCardSelector cardSelector = readerApiFactory.createIsoCardSelector(); GenericCardSelectionExtension genericCardSelectionExtension = - GenericExtensionService.getInstance().createGenericCardSelectionExtension(); + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension(); cardSelectionManager.prepareSelection(cardSelector, genericCardSelectionExtension); CardSelectionResult selectionResult = cardSelectionManager.processCardSelectionScenario(reader); diff --git a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase2_ProtocolBasedSelection/Main_ProtocolBasedSelection_Pcsc.java b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase2_ProtocolBasedSelection/Main_ProtocolBasedSelection_Pcsc.java index 93bf3a7..c1f82f3 100644 --- a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase2_ProtocolBasedSelection/Main_ProtocolBasedSelection_Pcsc.java +++ b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase2_ProtocolBasedSelection/Main_ProtocolBasedSelection_Pcsc.java @@ -12,12 +12,12 @@ ************************************************************************************** */ package org.eclipse.keyple.example.core.service.UseCase2_ProtocolBasedSelection; -import org.eclipse.keyple.card.generic.GenericCardSelectionExtension; import org.eclipse.keyple.card.generic.GenericExtensionService; import org.eclipse.keyple.core.service.*; import org.eclipse.keyple.plugin.pcsc.PcscCardCommunicationProtocol; import org.eclipse.keyple.plugin.pcsc.PcscPluginFactoryBuilder; import org.eclipse.keyple.plugin.pcsc.PcscReader; +import org.eclipse.keypop.genericcard.GenericCardSelectionExtension; import org.eclipse.keypop.reader.CardReader; import org.eclipse.keypop.reader.ConfigurableCardReader; import org.eclipse.keypop.reader.ReaderApiFactory; @@ -178,7 +178,9 @@ private static SmartCard selectCard(CardReader reader) { CardSelector cardSelector = readerApiFactory.createBasicCardSelector().filterByCardProtocol(MIFARE_ULTRALIGHT_PROTOCOL); GenericCardSelectionExtension genericCardSelectionExtension = - GenericExtensionService.getInstance().createGenericCardSelectionExtension(); + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension(); cardSelectionManager.prepareSelection(cardSelector, genericCardSelectionExtension); CardSelectionResult selectionResult = cardSelectionManager.processCardSelectionScenario(reader); diff --git a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase3_AidBasedSelection/Main_AidBasedSelection_Pcsc.java b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase3_AidBasedSelection/Main_AidBasedSelection_Pcsc.java index 9467129..7c0c6cd 100644 --- a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase3_AidBasedSelection/Main_AidBasedSelection_Pcsc.java +++ b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase3_AidBasedSelection/Main_AidBasedSelection_Pcsc.java @@ -105,7 +105,10 @@ public static void main(String[] args) { // Prepare the selection by adding the created generic selection to the card selection scenario. cardSelectionManager.prepareSelection( - cardSelector, GenericExtensionService.getInstance().createGenericCardSelectionExtension()); + cardSelector, + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension()); // Actual card communication: run the selection scenario. CardSelectionResult selectionResult = diff --git a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase4_ScheduledSelection/Main_ScheduledSelection_Pcsc.java b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase4_ScheduledSelection/Main_ScheduledSelection_Pcsc.java index b2c3007..c0412b9 100644 --- a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase4_ScheduledSelection/Main_ScheduledSelection_Pcsc.java +++ b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase4_ScheduledSelection/Main_ScheduledSelection_Pcsc.java @@ -101,7 +101,10 @@ public static void main(String[] args) throws InterruptedException { // Prepare the selection by adding the created generic selection to the card selection scenario. cardSelectionManager.prepareSelection( - cardSelector, GenericExtensionService.getInstance().createGenericCardSelectionExtension()); + cardSelector, + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension()); // Schedule the selection scenario. cardSelectionManager.scheduleCardSelectionScenario( diff --git a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase5_SequentialMultiSelection/Main_SequentialMultiSelection_Pcsc.java b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase5_SequentialMultiSelection/Main_SequentialMultiSelection_Pcsc.java index 1225471..6590afd 100644 --- a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase5_SequentialMultiSelection/Main_SequentialMultiSelection_Pcsc.java +++ b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase5_SequentialMultiSelection/Main_SequentialMultiSelection_Pcsc.java @@ -12,7 +12,6 @@ ************************************************************************************** */ package org.eclipse.keyple.example.core.service.UseCase5_SequentialMultiSelection; -import org.eclipse.keyple.card.generic.GenericCardSelectionExtension; import org.eclipse.keyple.card.generic.GenericExtensionService; import org.eclipse.keyple.core.service.*; import org.eclipse.keyple.core.util.HexUtil; @@ -20,6 +19,7 @@ import org.eclipse.keyple.plugin.pcsc.PcscCardCommunicationProtocol; import org.eclipse.keyple.plugin.pcsc.PcscPluginFactoryBuilder; import org.eclipse.keyple.plugin.pcsc.PcscReader; +import org.eclipse.keypop.genericcard.GenericCardSelectionExtension; import org.eclipse.keypop.reader.CardReader; import org.eclipse.keypop.reader.ConfigurableCardReader; import org.eclipse.keypop.reader.ReaderApiFactory; @@ -110,7 +110,9 @@ public static void main(String[] args) { .setFileOccurrence(CommonIsoCardSelector.FileOccurrence.FIRST); GenericCardSelectionExtension genericCardSelectionExtension = - GenericExtensionService.getInstance().createGenericCardSelectionExtension(); + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension(); // Prepare the selection by adding the created generic selection to the card selection scenario. cardSelectionManager.prepareSelection(cardSelector, genericCardSelectionExtension); diff --git a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase6_GroupedMultiSelection/Main_GroupedMultiSelection_Pcsc.java b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase6_GroupedMultiSelection/Main_GroupedMultiSelection_Pcsc.java index 3f738c3..b91796c 100644 --- a/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase6_GroupedMultiSelection/Main_GroupedMultiSelection_Pcsc.java +++ b/Example_Service/src/main/java/org/eclipse/keyple/example/core/service/UseCase6_GroupedMultiSelection/Main_GroupedMultiSelection_Pcsc.java @@ -13,7 +13,6 @@ package org.eclipse.keyple.example.core.service.UseCase6_GroupedMultiSelection; import java.util.Map; -import org.eclipse.keyple.card.generic.GenericCardSelectionExtension; import org.eclipse.keyple.card.generic.GenericExtensionService; import org.eclipse.keyple.core.service.*; import org.eclipse.keyple.core.util.HexUtil; @@ -21,6 +20,7 @@ import org.eclipse.keyple.plugin.pcsc.PcscCardCommunicationProtocol; import org.eclipse.keyple.plugin.pcsc.PcscPluginFactoryBuilder; import org.eclipse.keyple.plugin.pcsc.PcscReader; +import org.eclipse.keypop.genericcard.GenericCardSelectionExtension; import org.eclipse.keypop.reader.CardReader; import org.eclipse.keypop.reader.ConfigurableCardReader; import org.eclipse.keypop.reader.ReaderApiFactory; @@ -102,7 +102,9 @@ public static void main(String[] args) { CardSelectionManager cardSelectionManager = readerApiFactory.createCardSelectionManager(); GenericCardSelectionExtension genericCardSelectionExtension = - GenericExtensionService.getInstance().createGenericCardSelectionExtension(); + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension(); // AID based selection: get the first application occurrence matching the AID, keep the // physical channel open diff --git a/Example_Service_Resource/build.gradle.kts b/Example_Service_Resource/build.gradle.kts index 8d996cb..dda58a1 100644 --- a/Example_Service_Resource/build.gradle.kts +++ b/Example_Service_Resource/build.gradle.kts @@ -16,8 +16,9 @@ plugins { dependencies { // Begin Keyple configuration (generated by // 'https://keyple.org/components/overview/configuration-wizard/') - implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.02.20")) + implementation(platform("org.eclipse.keyple:keyple-java-bom:2026.03.16")) implementation("org.eclipse.keypop:keypop-reader-java-api") + implementation("org.eclipse.keypop:keypop-genericcard-jvm-api") implementation("org.eclipse.keyple:keyple-common-java-api") implementation("org.eclipse.keyple:keyple-util-java-lib") implementation("org.eclipse.keyple:keyple-service-java-lib") diff --git a/Example_Service_Resource/src/main/java/org/eclipse/keyple/example/core/service/resource/UseCase1_CardResourceService/Main_CardResourceService_Stub.java b/Example_Service_Resource/src/main/java/org/eclipse/keyple/example/core/service/resource/UseCase1_CardResourceService/Main_CardResourceService_Stub.java index e0cf693..c95a9dd 100644 --- a/Example_Service_Resource/src/main/java/org/eclipse/keyple/example/core/service/resource/UseCase1_CardResourceService/Main_CardResourceService_Stub.java +++ b/Example_Service_Resource/src/main/java/org/eclipse/keyple/example/core/service/resource/UseCase1_CardResourceService/Main_CardResourceService_Stub.java @@ -12,7 +12,6 @@ ************************************************************************************** */ package org.eclipse.keyple.example.core.service.resource.UseCase1_CardResourceService; -import org.eclipse.keyple.card.generic.GenericCardSelectionExtension; import org.eclipse.keyple.card.generic.GenericExtensionService; import org.eclipse.keyple.core.service.*; import org.eclipse.keyple.core.service.resource.*; @@ -24,6 +23,7 @@ import org.eclipse.keyple.plugin.stub.StubPluginFactoryBuilder; import org.eclipse.keyple.plugin.stub.StubReader; import org.eclipse.keyple.plugin.stub.StubSmartCard; +import org.eclipse.keypop.genericcard.GenericCardSelectionExtension; import org.eclipse.keypop.reader.CardReader; import org.eclipse.keypop.reader.ConfigurableCardReader; import org.eclipse.keypop.reader.ReaderApiFactory; @@ -94,7 +94,9 @@ public static void main(String[] args) throws InterruptedException { readerApiFactory.createIsoCardSelector().filterByPowerOnData(ATR_REGEX_A); GenericCardSelectionExtension genericCardSelectionExtension = - GenericExtensionService.getInstance().createGenericCardSelectionExtension(); + GenericExtensionService.getInstance() + .getGenericCardApiFactory() + .createGenericCardSelectionExtension(); CardResourceProfileExtension cardResourceExtensionA = GenericExtensionService.getInstance()