Fix a bunch more TODO's, remove an unused method
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/c4e4b45d Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c4e4b45d Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c4e4b45d Branch: refs/heads/master Commit: c4e4b45dc3d662d252ed5a29a5f5f06c6c13bbae Parents: 0286b03 Author: Daniel Kulp <[email protected]> Authored: Thu Aug 17 10:25:39 2017 -0400 Committer: Daniel Kulp <[email protected]> Committed: Thu Aug 17 10:25:39 2017 -0400 ---------------------------------------------------------------------- .../org/apache/cxf/headers/HeaderProcessor.java | 3 - .../org/apache/cxf/binding/coloc/ColocUtil.java | 9 +-- .../cxf/binding/soap/SoapBindingFactory.java | 3 - .../interceptor/ReadHeadersInterceptor.java | 1 - .../binding/soap/saaj/SAAJInInterceptor.java | 2 - .../soap/SoapDestinationFactoryTest.java | 74 -------------------- .../cxf/aegis/type/basic/DateTimezoneTest.java | 2 - .../apache/cxf/jaxb/BareInInterceptorTest.java | 1 - .../cxf/jaxb/DocLiteralInInterceptorTest.java | 1 - .../org/apache/cxf/jaxrs/ext/xml/XMLSource.java | 4 +- .../java/org/apache/cxf/jaxws/ServiceImpl.java | 4 +- .../apache/cxf/jaxws/WrapperClassGenerator.java | 1 - .../LogicalHandlerFaultInInterceptor.java | 4 +- .../logical/LogicalHandlerInInterceptor.java | 5 +- .../soap/SOAPHandlerFaultInInterceptor.java | 3 - .../soap/SOAPHandlerFaultOutInterceptor.java | 3 - .../handler/soap/SOAPHandlerInterceptor.java | 1 - 17 files changed, 10 insertions(+), 111 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/core/src/main/java/org/apache/cxf/headers/HeaderProcessor.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/cxf/headers/HeaderProcessor.java b/core/src/main/java/org/apache/cxf/headers/HeaderProcessor.java index e910d09..e5112ad 100644 --- a/core/src/main/java/org/apache/cxf/headers/HeaderProcessor.java +++ b/core/src/main/java/org/apache/cxf/headers/HeaderProcessor.java @@ -19,7 +19,6 @@ package org.apache.cxf.headers; import org.apache.cxf.databinding.DataBinding; -import org.apache.cxf.interceptor.InterceptorProvider; public interface HeaderProcessor { @@ -27,6 +26,4 @@ public interface HeaderProcessor { DataBinding getDataBinding(); - InterceptorProvider getInterceptorProvider(); - } http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/bindings/coloc/src/main/java/org/apache/cxf/binding/coloc/ColocUtil.java ---------------------------------------------------------------------- diff --git a/rt/bindings/coloc/src/main/java/org/apache/cxf/binding/coloc/ColocUtil.java b/rt/bindings/coloc/src/main/java/org/apache/cxf/binding/coloc/ColocUtil.java index 4f12c71..385f717 100644 --- a/rt/bindings/coloc/src/main/java/org/apache/cxf/binding/coloc/ColocUtil.java +++ b/rt/bindings/coloc/src/main/java/org/apache/cxf/binding/coloc/ColocUtil.java @@ -18,8 +18,6 @@ */ package org.apache.cxf.binding.coloc; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.OutputStream; import java.util.Collection; import java.util.Iterator; @@ -39,6 +37,7 @@ import org.apache.cxf.databinding.DataReader; import org.apache.cxf.databinding.DataWriter; import org.apache.cxf.endpoint.Endpoint; import org.apache.cxf.helpers.CastUtils; +import org.apache.cxf.helpers.LoadingByteArrayOutputStream; import org.apache.cxf.interceptor.Interceptor; import org.apache.cxf.interceptor.InterceptorChain; import org.apache.cxf.interceptor.InterceptorProvider; @@ -288,11 +287,9 @@ public final class ColocUtil { Object object = content.get(0); DataWriter<OutputStream> writer = message.getExchange().getService().getDataBinding().createWriter(OutputStream.class); - //TODO use a better conversion method to get a Source from a pojo. - ByteArrayOutputStream bos = new ByteArrayOutputStream(); + LoadingByteArrayOutputStream bos = new LoadingByteArrayOutputStream(); writer.write(object, bos); - - content.set(0, new StreamSource(new ByteArrayInputStream(bos.toByteArray()))); + content.set(0, new StreamSource(bos.createInputStream())); } private static MessageInfo getMessageInfo(Message message) { http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java ---------------------------------------------------------------------- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java index 904175d..1060f4f 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java @@ -334,9 +334,6 @@ public class SoapBindingFactory extends AbstractWSDLBindingFactory { } public Binding createBinding(BindingInfo binding) { - // TODO what about the mix style/use? - - // The default style should be doc-lit wrapped. String parameterStyle = SoapBindingConstants.PARAMETER_STYLE_WRAPPED; String bindingStyle = SoapBindingConstants.BINDING_STYLE_DOC; http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java index b4d27c8..3426d88 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/ReadHeadersInterceptor.java @@ -261,7 +261,6 @@ public class ReadHeadersInterceptor extends AbstractSoapInterceptor { dataReader.setProperty(Message.class.getName(), message); obj = dataReader.read(hel); } - // TODO - add the interceptors SoapHeader shead = new SoapHeader(new QName(hel.getNamespaceURI(), hel.getLocalName()), obj, dataBinding); http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java index a22782c..b56387b 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJInInterceptor.java @@ -304,8 +304,6 @@ public class SAAJInInterceptor extends AbstractSoapInterceptor { dataBinding = p.getDataBinding(); obj = p.getDataBinding().createReader(Node.class).read(elem); } - //TODO - add the interceptors - SoapHeader shead = new SoapHeader(new QName(elem.getNamespaceURI(), elem.getLocalName()), obj, http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapDestinationFactoryTest.java ---------------------------------------------------------------------- diff --git a/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapDestinationFactoryTest.java b/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapDestinationFactoryTest.java deleted file mode 100644 index 79e43aa..0000000 --- a/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/SoapDestinationFactoryTest.java +++ /dev/null @@ -1,74 +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 - * - * http://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.cxf.binding.soap; - -import javax.wsdl.extensions.soap.SOAPAddress; - -import org.apache.cxf.binding.soap.model.SoapBindingInfo; -import org.apache.cxf.service.model.EndpointInfo; -import org.apache.cxf.service.model.ServiceInfo; -import org.apache.cxf.transport.Destination; -import org.apache.cxf.transport.DestinationFactory; -import org.apache.cxf.transport.DestinationFactoryManager; -import org.easymock.EasyMock; -import org.easymock.IMocksControl; -import org.junit.Assert; -import org.junit.Test; - -public class SoapDestinationFactoryTest extends Assert { - - @Test - public void testDestination() throws Exception { - String wsdlSoapNs = "http://schemas.xmlsoap.org/wsdl/soap/"; - String transportURI = "http://foo/transport"; - // String location = "http://localhost/service"; - - ServiceInfo si = new ServiceInfo(); - EndpointInfo ei = new EndpointInfo(si, wsdlSoapNs); - // this code used to call "new SOAPAddressImpl()", but the test - // is currently not testing anything, and needlessly ties the - // code to a specific implementation of wsdl4j. When the SOAPAddress - // is really needed, it should be mocked. - SOAPAddress add = null; - // add.setLocationURI(location); - ei.addExtensor(add); - - SoapBindingInfo bi = new SoapBindingInfo(si, "", Soap11.getInstance()); - bi.setTransportURI(transportURI); - ei.setBinding(bi); - - IMocksControl control = EasyMock.createNiceControl(); - DestinationFactoryManager dfm = control.createMock(DestinationFactoryManager.class); - DestinationFactory fooDF = control.createMock(DestinationFactory.class); - Destination dest = control.createMock(Destination.class); - - EasyMock.expect(dfm.getDestinationFactory(transportURI)).andReturn(fooDF); - EasyMock.expect(fooDF.getDestination(ei, null)).andStubReturn(dest); - - control.replay(); - - // SoapDestinationFactory sdf = new SoapDestinationFactory(dfm); - // Destination dest2 = sdf.getDestination(ei); - // assertNotNull(dest2); - - // TODO: doesn't pass because I don't know how to use easymock :-( - // assertEquals(dest, dest2); - } -} http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/DateTimezoneTest.java ---------------------------------------------------------------------- diff --git a/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/DateTimezoneTest.java b/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/DateTimezoneTest.java index d41ba02..07162d6 100644 --- a/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/DateTimezoneTest.java +++ b/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/DateTimezoneTest.java @@ -94,8 +94,6 @@ public class DateTimezoneTest extends AbstractAegisTest { assertFalse(dateString.contains("Z")); } - //TODO add tests with Timezones - public static class CalendarBean { private Calendar calendar; http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java ---------------------------------------------------------------------- diff --git a/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java b/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java index 975b235..6a94c59 100644 --- a/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java +++ b/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/BareInInterceptorTest.java @@ -186,7 +186,6 @@ public class BareInInterceptorTest extends Assert { assertEquals("TestSOAPOutputPMessage", greet.getResponseType()); } - //TODO: remove duplicate code in setUpUsingHelloWorld and setUpUsingDocLit private void setUpUsingHelloWorld() throws Exception { String ns = "http://apache.org/hello_world_soap_http"; WSDLServiceFactory factory = new WSDLServiceFactory(bus, getClass() http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/DocLiteralInInterceptorTest.java ---------------------------------------------------------------------- diff --git a/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/DocLiteralInInterceptorTest.java b/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/DocLiteralInInterceptorTest.java index b458256..480b611 100644 --- a/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/DocLiteralInInterceptorTest.java +++ b/rt/databinding/jaxb/src/test/java/org/apache/cxf/jaxb/DocLiteralInInterceptorTest.java @@ -169,7 +169,6 @@ public class DocLiteralInInterceptorTest extends Assert { assertNull(parameters); } - //TODO: remove duplicate code in setUpUsingHelloWorld and setUpUsingDocLit private void setUpUsingHelloWorld() throws Exception { String ns = "http://apache.org/hello_world_soap_http"; WSDLServiceFactory factory = new WSDLServiceFactory(bus, getClass() http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java index 14f1de2..d5ea6f2 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLSource.java @@ -49,6 +49,7 @@ import org.w3c.dom.NodeList; import org.apache.cxf.common.jaxb.JAXBUtils; import org.apache.cxf.helpers.CastUtils; +import org.apache.cxf.interceptor.Fault; import org.apache.cxf.jaxrs.provider.JAXBElementProvider; import org.apache.cxf.jaxrs.utils.InjectionUtils; import org.apache.cxf.staxutils.StaxUtils; @@ -76,8 +77,7 @@ public class XMLSource { doc = StaxUtils.read(new StreamSource(stream)); stream = null; } catch (XMLStreamException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + throw new Fault(e); } } http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java index 238a25c..fbd1cd9 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java @@ -570,7 +570,9 @@ public class ServiceImpl extends ServiceDelegate { } private PortInfoImpl getPortInfo(QName portName) { - // TODO if the portName null ? + if (portName == null) { + return null; + } return portInfos.get(portName); } http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/WrapperClassGenerator.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/WrapperClassGenerator.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/WrapperClassGenerator.java index e068c7b7..8531b4d 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/WrapperClassGenerator.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/WrapperClassGenerator.java @@ -315,7 +315,6 @@ public final class WrapperClassGenerator extends ASMHelper { ParameterizedType ptype = (ParameterizedType)genericType; java.lang.reflect.Type[] types = ptype.getActualTypeArguments(); - // TODO: more complex Parameterized type if (types.length > 0) { if (types[0] instanceof Class) { fieldDescriptor = getClassCode(genericType); http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerFaultInInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerFaultInInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerFaultInInterceptor.java index 969cb56..e96799d 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerFaultInInterceptor.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerFaultInInterceptor.java @@ -36,6 +36,7 @@ public class LogicalHandlerFaultInInterceptor addAfter(SOAPHandlerFaultInInterceptor.class.getName()); } + @Override public void handleMessage(Message message) { if (binding.getHandlerChain().isEmpty()) { return; @@ -63,7 +64,4 @@ public class LogicalHandlerFaultInInterceptor } } - public void handleFault(Message message) { - // TODO - } } http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerInInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerInInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerInInterceptor.java index d546106..0a562c9 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerInInterceptor.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/logical/LogicalHandlerInInterceptor.java @@ -46,6 +46,7 @@ public class LogicalHandlerInInterceptor addAfter(SOAPHandlerInterceptor.class.getName()); } + @Override public void handleMessage(Message message) { if (binding.getHandlerChain().isEmpty()) { return; @@ -103,10 +104,6 @@ public class LogicalHandlerInInterceptor } } - public void handleFault(Message message) { - // TODO - } - protected QName getOpQName(Exchange ex, Object data) { LogicalMessageContextImpl sm = (LogicalMessageContextImpl)data; Source src = sm.getMessage().getPayload(); http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java index 497e4ca..0489b7a 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultInInterceptor.java @@ -52,7 +52,6 @@ public class SOAPHandlerFaultInInterceptor extends } public Set<URI> getRoles() { - // TODO return new HashSet<>(); } @@ -150,6 +149,4 @@ public class SOAPHandlerFaultInInterceptor extends return xmlReader; } - public void handleFault(SoapMessage message) { - } } http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultOutInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultOutInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultOutInterceptor.java index 872fe59..9ca3a39 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultOutInterceptor.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerFaultOutInterceptor.java @@ -67,7 +67,6 @@ public class SOAPHandlerFaultOutInterceptor extends } public Set<URI> getRoles() { - // TODO return new HashSet<>(); } @@ -183,6 +182,4 @@ public class SOAPHandlerFaultOutInterceptor extends return new SOAPMessageContextImpl(message); } - public void handleFault(SoapMessage message) { - } } http://git-wip-us.apache.org/repos/asf/cxf/blob/c4e4b45d/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java index 4fd4018..10c242c 100644 --- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java +++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/soap/SOAPHandlerInterceptor.java @@ -86,7 +86,6 @@ public class SOAPHandlerInterceptor extends } public Set<URI> getRoles() { - //TODO return new HashSet<>(); }
