From ba36a1da87f6de17f5d881fc5a662ae2d78045fe Mon Sep 17 00:00:00 2001 From: lucio Date: Tue, 12 Mar 2024 17:28:51 +0100 Subject: [PATCH] moved to jakarta --- .classpath | 17 +- pom.xml | 51 ++-- .../is/legacy/LegacyISPublisher.java | 219 ++++++++---------- .../core/publisher/is/legacy/Registry.java | 11 +- .../ApplicationProfileBuilder.java | 2 +- .../is/legacy/stubs/RegistryStub.java | 13 +- .../legacy/stubs/fault/CreateException.java | 4 +- .../stubs/fault/InvalidResourceException.java | 4 +- .../legacy/stubs/fault/RemoveException.java | 4 +- .../fault/ResourceDoesNotExistException.java | 4 +- .../fault/ResourceNotAcceptedException.java | 4 +- .../legacy/stubs/fault/UpdateException.java | 4 +- 12 files changed, 171 insertions(+), 166 deletions(-) diff --git a/.classpath b/.classpath index 4559ca0..9b394d4 100644 --- a/.classpath +++ b/.classpath @@ -1,5 +1,15 @@ + + + + + + + + + + @@ -13,14 +23,17 @@ - + + - + + + diff --git a/pom.xml b/pom.xml index f4b8aa6..31c91e7 100644 --- a/pom.xml +++ b/pom.xml @@ -7,9 +7,12 @@ 1.0.1-SNAPSHOT Legacy is publisher - scm:git:https://code-repo.d4science.org/gCubeSystem/legacy-is-publisher-connector - scm:git:https://code-repo.d4science.org/gCubeSystem/legacy-is-publisher-connector - https://code-repo.d4science.org/gCubeSystem/legacy-is-publisher-connector + + scm:git:https://code-repo.d4science.org/gCubeSystem/legacy-is-publisher-connector + + scm:git:https://code-repo.d4science.org/gCubeSystem/legacy-is-publisher-connector + + https://code-repo.d4science.org/gCubeSystem/legacy-is-publisher-connector 11 @@ -25,13 +28,35 @@ org.gcube.distribution gcube-smartgears-bom - 3.0.0 + 3.0.1-SNAPSHOT pom import + + jakarta.xml.bind + jakarta.xml.bind-api + + + org.glassfish.jaxb + jaxb-runtime + runtime + + + com.sun.xml.bind + jaxb-impl + runtime + + + jakarta.xml.ws + jakarta.xml.ws-api + + + jakarta.servlet + jakarta.servlet-api + org.slf4j slf4j-api @@ -56,22 +81,6 @@ org.gcube.resources common-gcore-resources - - javax.servlet - javax.servlet-api - 4.0.1 - provided - - - com.sun.xml.ws - jaxws-rt - 2.3.3 - pom - - - com.sun.xml.ws - rt - 2.3.3 - + \ No newline at end of file diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/LegacyISPublisher.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/LegacyISPublisher.java index 4db1db1..d8b1b54 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/LegacyISPublisher.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/LegacyISPublisher.java @@ -25,8 +25,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SmartgearsProfilePublisher -public class LegacyISPublisher implements Publisher{ - +public class LegacyISPublisher implements Publisher { private static Logger logger = LoggerFactory.getLogger(LegacyISPublisher.class); @@ -34,7 +33,6 @@ public class LegacyISPublisher implements Publisher{ private static Map resourcesCache = new HashMap(); - @Override public boolean create(ContainerContext container, Set contexts) { ContainerProfileBuilder cpb = new ContainerProfileBuilder(container); @@ -43,36 +41,30 @@ public class LegacyISPublisher implements Publisher{ synchronized (resourcesCache) { String id = container.id(); - if (!resourcesCache.containsKey(id)) + if (!resourcesCache.containsKey(id)) hostingNode = cpb.create(); else { hostingNode = (HostingNode) resourcesCache.get(id); cpb.update(hostingNode); } - for (String context: contexts) + for (String context : contexts) ResourceMediator.setScope(hostingNode, context); resourcesCache.put(id, hostingNode); } + for (String context : filterICContexts(hostingNode.scopes().asCollection())) { + logger.info("publishing container in context {}", context); + AuthorizedTasks.executeSafely(() -> { + try { + registry.getStubs().create(toXml(hostingNode), hostingNode.type().toString()); + } catch (Throwable e) { + logger.error("error publishing container in context {}", context, e); + } - for (String context : filterICContexts(hostingNode.scopes().asCollection())) - try { - logger.info("publishing container in context {}", context); - AuthorizedTasks.executeSafely( () -> { - try { - registry.getStubs().create(toXml(hostingNode), hostingNode.type().toString()); - }catch (Exception e) { - logger.error("error publishing container", e); - throw new RuntimeException(e); - } - - }, new ICSecret(context)); - }catch (Throwable e) { - logger.error("error publishing container in context {}", context, e); - } - + }, new ICSecret(context)); + } return true; } @@ -83,34 +75,29 @@ public class LegacyISPublisher implements Publisher{ synchronized (resourcesCache) { String id = application.id(); - if (!resourcesCache.containsKey(id)) + if (!resourcesCache.containsKey(id)) endpoint = cpb.create(); else { endpoint = (GCoreEndpoint) resourcesCache.get(id); } - for (String context: contexts) + for (String context : contexts) ResourceMediator.setScope(endpoint, context); resourcesCache.put(id, endpoint); } - for (String context : filterICContexts(endpoint.scopes().asCollection())) - try { - logger.info("publishing application in context {}", context); - AuthorizedTasks.executeSafely(() -> { - try { - String resource = toXml(endpoint); - registry.getStubs().create(resource, endpoint.type().toString()); - }catch (Exception e) { - logger.error("error publishing application", e); - throw new RuntimeException(e); - } - }, new ICSecret(context)); - }catch (Throwable e) { - logger.error("error publishing application profile in context {}", context, e); - } - + for (String context : filterICContexts(endpoint.scopes().asCollection())) { + logger.info("publishing application in context {}", context); + AuthorizedTasks.executeSafely(() -> { + try { + String resource = toXml(endpoint); + registry.getStubs().create(resource, endpoint.type().toString()); + } catch (Throwable e) { + logger.error("error publishing application in {}", context, e); + } + }, new ICSecret(context)); + } return true; } @@ -122,14 +109,14 @@ public class LegacyISPublisher implements Publisher{ synchronized (resourcesCache) { String id = container.id(); - if (!resourcesCache.containsKey(id)) + if (!resourcesCache.containsKey(id)) hostingNode = cpb.create(); else { hostingNode = (HostingNode) resourcesCache.get(id); cpb.update(hostingNode); } - for (String context: contexts) + for (String context : contexts) ResourceMediator.removeScope(hostingNode, context); resourcesCache.put(id, hostingNode); @@ -138,31 +125,31 @@ public class LegacyISPublisher implements Publisher{ for (String context : contexts) if (isCompatibleScopeForRemove(hostingNode, context)) try { - AuthorizedTasks.executeSafely( () -> { + AuthorizedTasks.executeSafely(() -> { try { logger.info("removing container from context {}", context); - registry.getStubs().remove(hostingNode.id(),hostingNode.type().toString()); - }catch (Exception e) { + registry.getStubs().remove(hostingNode.id(), hostingNode.type().toString()); + } catch (Throwable e) { throw new RuntimeException(e); } }, new ICSecret(context)); - }catch (Throwable e) { + } catch (Throwable e) { logger.error("error removing container in context {}", context, e); } for (String context : filterICContexts(hostingNode.scopes().asCollection())) try { logger.info("updating container in context {}", context); - AuthorizedTasks.executeSafely( () -> { + AuthorizedTasks.executeSafely(() -> { try { - registry.getStubs().update(hostingNode.id(), hostingNode.type().toString(),toXml(hostingNode)); - }catch (Exception e) { + registry.getStubs().update(hostingNode.id(), hostingNode.type().toString(), toXml(hostingNode)); + } catch (Throwable e) { throw new RuntimeException(e); } }, new ICSecret(context)); - }catch (Throwable e) { + } catch (Throwable e) { logger.error("error updating container in context {}", context, e); } @@ -177,47 +164,47 @@ public class LegacyISPublisher implements Publisher{ synchronized (resourcesCache) { String id = application.id(); - if (!resourcesCache.containsKey(id)) + if (!resourcesCache.containsKey(id)) endpoint = cpb.create(); else { endpoint = (GCoreEndpoint) resourcesCache.get(id); } - for (String context: contexts) + for (String context : contexts) ResourceMediator.removeScope(endpoint, context); resourcesCache.put(id, endpoint); } - - //TODO: Review this + + // TODO: Review this for (String context : contexts) if (isCompatibleScopeForRemove(endpoint, context)) try { - AuthorizedTasks.executeSafely( () -> { + AuthorizedTasks.executeSafely(() -> { try { logger.info("removing container in context {}", context); - registry.getStubs().remove(endpoint.id(),endpoint.type().toString()); - }catch (Exception e) { + registry.getStubs().remove(endpoint.id(), endpoint.type().toString()); + } catch (Throwable e) { throw new RuntimeException(e); } }, new ICSecret(context)); - }catch (Throwable e) { + } catch (Throwable e) { logger.error("error removing container in context {}", context, e); } for (String context : filterICContexts(endpoint.scopes().asCollection())) try { - AuthorizedTasks.executeSafely(() -> { + AuthorizedTasks.executeSafely(() -> { try { logger.info("updating application in context {}", context); String resource = toXml(endpoint); registry.getStubs().update(endpoint.id(), endpoint.type().toString(), resource); - }catch (Exception e) { + } catch (Throwable e) { throw new RuntimeException(e); } }, new ICSecret(context)); - }catch (Throwable e) { + } catch (Throwable e) { logger.error("error updating application profile in context {}", context, e); } @@ -226,27 +213,24 @@ public class LegacyISPublisher implements Publisher{ @Override public boolean update(ApplicationContext application) { - + GCoreEndpoint endpoint; synchronized (resourcesCache) { String id = application.id(); endpoint = (GCoreEndpoint) resourcesCache.get(id); } - for (String context : filterICContexts(endpoint.scopes().asCollection())) - try { - logger.info("updating application in context {}", context); - AuthorizedTasks.executeSafely(() -> { - try { - String resource = toXml(endpoint); - registry.getStubs().update(endpoint.id(), endpoint.type().toString(), resource); - }catch (Exception e) { - throw new RuntimeException(e); - } - }, new ICSecret(context)); - }catch (Throwable e) { - logger.error("error updating application profile in context {}", context, e); - } + for (String context : filterICContexts(endpoint.scopes().asCollection())) { + logger.info("updating application in context {}", context); + AuthorizedTasks.executeSafely(() -> { + try { + String resource = toXml(endpoint); + registry.getStubs().update(endpoint.id(), endpoint.type().toString(), resource); + } catch (Throwable e) { + logger.error("error updating application profile in context {}", context, e); + } + }, new ICSecret(context)); + } return true; } @@ -265,86 +249,85 @@ public class LegacyISPublisher implements Publisher{ resourcesCache.put(id, hostingNode); } - for (String context : filterICContexts(hostingNode.scopes().asCollection())) - try { - logger.info("updating container in context {}", context); - AuthorizedTasks.executeSafely( () -> { - try { - logger.info("updating container in context {}", context); - registry.getStubs().update(hostingNode.id(), hostingNode.type().toString(),toXml(hostingNode)); - }catch (Exception e) { - throw new RuntimeException(e); - } + for (String context : filterICContexts(hostingNode.scopes().asCollection())) { + logger.info("updating container in context {}", context); + AuthorizedTasks.executeSafely(() -> { + try { + logger.info("updating container in context {}", context); + registry.getStubs().update(hostingNode.id(), hostingNode.type().toString(), toXml(hostingNode)); + } catch (Throwable e) { + logger.error("error updating container in context {}", context, e); + } - }, new ICSecret(context)); - }catch (Throwable e) { - logger.error("error updating container in context {}", context, e); - } + }, new ICSecret(context)); + } return true; } - private String toXml(Resource resource){ + private String toXml(Resource resource) { StringWriter writer = new StringWriter(); Resources.marshal(resource, writer); return writer.toString(); } - private Set filterICContexts(Collection contexts){ - return contexts.stream().map( (c) ->{ + private Set filterICContexts(Collection contexts) { + return contexts.stream().map((c) -> { ContextBean bean = new ContextBean(c); - return bean.is(Type.VRE)? bean.enclosingScope().toString(): c; + return bean.is(Type.VRE) ? bean.enclosingScope().toString() : c; }).collect(Collectors.toSet()); } - private boolean isCompatibleScopeForRemove(T resource, String scope){ - if(resource.scopes().size() == 0) + private boolean isCompatibleScopeForRemove(T resource, String scope) { + if (resource.scopes().size() == 0) return true; - if(new ContextBean(scope).is(Type.VRE)) + if (new ContextBean(scope).is(Type.VRE)) return !anotherBrotherVREOrVOOnResource(resource, scope); - else if(new ContextBean(scope).is(Type.VO)) + else if (new ContextBean(scope).is(Type.VO)) return !anotherSonVREOnResource(resource, scope); else return !anotherInfraScopeOnResource(resource, scope); } - private boolean anotherBrotherVREOrVOOnResource(T resource, String scope){ - if(!new ContextBean(scope).is(Type.VRE)) - throw new IllegalArgumentException("anotherBrotherVREOrVOOnResource method: the input scope must be a VRE scope"); - String enclosedScope=new ContextBean(scope).enclosingScope().toString(); - for(String s : resource.scopes()){ - if (isChildScope(enclosedScope, s) || - ((enclosedScope != null) && (enclosedScope.toString().equals(s)))) + private boolean anotherBrotherVREOrVOOnResource(T resource, String scope) { + if (!new ContextBean(scope).is(Type.VRE)) + throw new IllegalArgumentException( + "anotherBrotherVREOrVOOnResource method: the input scope must be a VRE scope"); + String enclosedScope = new ContextBean(scope).enclosingScope().toString(); + for (String s : resource.scopes()) { + if (isChildScope(enclosedScope, s) || ((enclosedScope != null) && (enclosedScope.toString().equals(s)))) return true; } return false; } - private boolean anotherSonVREOnResource(T resource, String scope){ - if(!new ContextBean(scope).is(Type.VO)) + private boolean anotherSonVREOnResource(T resource, String scope) { + if (!new ContextBean(scope).is(Type.VO)) throw new IllegalArgumentException("anotherSonVREOnResource method: the input scope must be a VO scope"); - for(String s : resource.scopes()){ - if(isChildScope(scope, s)) + for (String s : resource.scopes()) { + if (isChildScope(scope, s)) return true; } return false; } + private boolean isChildScope(String fatherScope, String sonScope) { - ContextBean currentEnclosedScope=new ContextBean(sonScope).enclosingScope(); + ContextBean currentEnclosedScope = new ContextBean(sonScope).enclosingScope(); return (currentEnclosedScope != null) && (currentEnclosedScope.toString().equals(fatherScope)); } - private boolean anotherInfraScopeOnResource(T resource, String scope){ - if(!new ContextBean(scope).is(Type.INFRASTRUCTURE)) - throw new IllegalArgumentException("anotherInfraScopeOnResource method: the input scope must be a INFRASTRUCTURE scope"); - String infraScopeFound=null; - for(String s : resource.scopes()){ - while(new ContextBean(s).enclosingScope() != null) - s=new ContextBean(s).enclosingScope().toString(); - infraScopeFound=s; - if(infraScopeFound.equals(scope)) + private boolean anotherInfraScopeOnResource(T resource, String scope) { + if (!new ContextBean(scope).is(Type.INFRASTRUCTURE)) + throw new IllegalArgumentException( + "anotherInfraScopeOnResource method: the input scope must be a INFRASTRUCTURE scope"); + String infraScopeFound = null; + for (String s : resource.scopes()) { + while (new ContextBean(s).enclosingScope() != null) + s = new ContextBean(s).enclosingScope().toString(); + infraScopeFound = s; + if (infraScopeFound.equals(scope)) return true; } diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/Registry.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/Registry.java index 287e91d..287aab3 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/Registry.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/Registry.java @@ -24,8 +24,6 @@ public class Registry { private List endpoints; private static final Logger log = LoggerFactory.getLogger(Registry.class); - - public List getEndPoints(){ String scope=SecretManagerProvider.get().getContext(); @@ -46,24 +44,25 @@ public class Registry { .setResult("$resource/Profile/AccessPoint/RunningInstanceInterfaces/Endpoint[string(@EntryName) eq '"+RegistryConstants.service_entrypoint+"']/string()"); endpoints = client.submit(query); if (endpoints.size()==0){ - throw new IllegalArgumentException("No registry endpoint founded"); + throw new IllegalArgumentException("No endpoint for registry found"); } -// able/disable cache cache.put(scope, endpoints); } return endpoints; } public RegistryStub getStubs() throws RegistryNotFoundException{ + String context=SecretManagerProvider.get().getContext(); URI endpoint=null; //use another method to cache epr endpoint = getEndPoints().get(0); - log.debug("get stubs from endpoint: "+ endpoint); + log.debug("get stubs in context {} from endpoint {} ", context, endpoint); return stubFor(RegistryConstants.registry).at(endpoint); } public RegistryStub getStubs(URI endpoint) throws RegistryNotFoundException{ - log.debug("get stubs from endpoint: "+ endpoint); + String context=SecretManagerProvider.get().getContext(); + log.debug("get stubs in context {} from fixed endpoint {} ", context, endpoint); return stubFor(RegistryConstants.registry).at(endpoint); } diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/application/ApplicationProfileBuilder.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/application/ApplicationProfileBuilder.java index 718d812..8d856e9 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/application/ApplicationProfileBuilder.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/application/ApplicationProfileBuilder.java @@ -5,7 +5,7 @@ import java.util.Arrays; import java.util.Calendar; import java.util.List; -import javax.servlet.ServletRegistration; +import jakarta.servlet.ServletRegistration; import org.gcube.common.resources.gcore.GCoreEndpoint; import org.gcube.smartgears.configuration.ProxyAddress; diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/RegistryStub.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/RegistryStub.java index b7c3a38..9dee640 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/RegistryStub.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/RegistryStub.java @@ -1,11 +1,7 @@ package org.gcube.common.core.publisher.is.legacy.stubs; -import static org.gcube.common.core.publisher.is.legacy.stubs.RegistryConstants.*; - -import javax.jws.WebMethod; -import javax.jws.WebParam; -import javax.jws.WebResult; -import javax.jws.WebService; +import static org.gcube.common.core.publisher.is.legacy.stubs.RegistryConstants.portType; +import static org.gcube.common.core.publisher.is.legacy.stubs.RegistryConstants.target_namespace; import org.gcube.common.core.publisher.is.legacy.stubs.fault.CreateException; import org.gcube.common.core.publisher.is.legacy.stubs.fault.InvalidResourceException; @@ -14,6 +10,11 @@ import org.gcube.common.core.publisher.is.legacy.stubs.fault.ResourceDoesNotExis import org.gcube.common.core.publisher.is.legacy.stubs.fault.ResourceNotAcceptedException; import org.gcube.common.core.publisher.is.legacy.stubs.fault.UpdateException; +import jakarta.jws.WebMethod; +import jakarta.jws.WebParam; +import jakarta.jws.WebResult; +import jakarta.jws.WebService; + /** * A local interface to the resource discovery service. * diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/CreateException.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/CreateException.java index 4c1c921..a460bb7 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/CreateException.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/CreateException.java @@ -1,10 +1,10 @@ package org.gcube.common.core.publisher.is.legacy.stubs.fault; -import javax.xml.ws.WebFault; - import org.gcube.common.core.publisher.is.legacy.stubs.RegistryStub; +import jakarta.xml.ws.WebFault; + /** * Thrown by {@link RegistryStub#create(String, String)} when something is failed on creation */ diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/InvalidResourceException.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/InvalidResourceException.java index 089ea07..69538dc 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/InvalidResourceException.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/InvalidResourceException.java @@ -1,9 +1,9 @@ package org.gcube.common.core.publisher.is.legacy.stubs.fault; -import javax.xml.ws.WebFault; - import org.gcube.common.core.publisher.is.legacy.stubs.RegistryStub; +import jakarta.xml.ws.WebFault; + /** * Thrown by {@link RegistryStub#create(String, String)} when the resource type is invalid * service. diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/RemoveException.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/RemoveException.java index c058190..80ec199 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/RemoveException.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/RemoveException.java @@ -1,9 +1,9 @@ package org.gcube.common.core.publisher.is.legacy.stubs.fault; -import javax.xml.ws.WebFault; - import org.gcube.common.core.publisher.is.legacy.stubs.RegistryStub; +import jakarta.xml.ws.WebFault; + /** * Thrown by {@link RegistryStub#remove(String, String)} when something is failed on remove */ diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceDoesNotExistException.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceDoesNotExistException.java index b598ff8..5e13843 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceDoesNotExistException.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceDoesNotExistException.java @@ -1,9 +1,9 @@ package org.gcube.common.core.publisher.is.legacy.stubs.fault; -import javax.xml.ws.WebFault; - import org.gcube.common.core.publisher.is.legacy.stubs.RegistryStub; +import jakarta.xml.ws.WebFault; + /** * Thrown by {@link RegistryStub#remove(String, String)} when the resource does not exist in the collector */ diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceNotAcceptedException.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceNotAcceptedException.java index 9ee2899..0f38f1a 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceNotAcceptedException.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/ResourceNotAcceptedException.java @@ -2,10 +2,10 @@ package org.gcube.common.core.publisher.is.legacy.stubs.fault; -import javax.xml.ws.WebFault; - import org.gcube.common.core.publisher.is.legacy.stubs.RegistryStub; +import jakarta.xml.ws.WebFault; + /** * Thrown by {@link RegistryStub#create(String, String)} when the resource is not accepted cause it doesn't satisfy a requirement */ diff --git a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/UpdateException.java b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/UpdateException.java index 40989ac..f458748 100644 --- a/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/UpdateException.java +++ b/src/main/java/org/gcube/common/core/publisher/is/legacy/stubs/fault/UpdateException.java @@ -1,10 +1,10 @@ package org.gcube.common.core.publisher.is.legacy.stubs.fault; -import javax.xml.ws.WebFault; - import org.gcube.common.core.publisher.is.legacy.stubs.RegistryStub; +import jakarta.xml.ws.WebFault; + /** * Thrown by {@link RegistryStub#update(String, String)} when something is failed on update */