package edu.mayo.cts2.framework.webapp.soap.endpoint.statement; import org.springframework.ws.server.endpoint.annotation.Endpoint; import org.springframework.ws.server.endpoint.annotation.PayloadRoot; import org.springframework.ws.server.endpoint.annotation.RequestPayload; import org.springframework.ws.server.endpoint.annotation.ResponsePayload; import edu.mayo.cts2.framework.model.core.FormatReference; import edu.mayo.cts2.framework.model.service.core.types.ImplementationProfile; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetDefaultFormat; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetDefaultFormatResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetImplementationType; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetImplementationTypeResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetKnownNamespace; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetKnownNamespaceResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceDescription; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceDescriptionResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceName; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceNameResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceProvider; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceProviderResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceVersion; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetServiceVersionResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetSupportedFormat; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetSupportedFormatResponse; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetSupportedProfile; import edu.mayo.cts2.framework.model.wsdl.baseservice.GetSupportedProfileResponse; import edu.mayo.cts2.framework.model.wsdl.statementread.Exists; import edu.mayo.cts2.framework.model.wsdl.statementread.ExistsResponse; import edu.mayo.cts2.framework.model.wsdl.statementread.Read; import edu.mayo.cts2.framework.model.wsdl.statementread.ReadResponse; import edu.mayo.cts2.framework.service.profile.statement.StatementReadService; import edu.mayo.cts2.framework.webapp.soap.endpoint.AbstractReadServiceEndpoint; @Endpoint("StatementReadServicesEndpoint") public class StatementReadServicesEndpoint extends AbstractReadServiceEndpoint { @Cts2Service private StatementReadService statementReadService; /* TODO: implement read */ @PayloadRoot(localPart = "read", namespace = CTS2_NAMESPACE_ROOT + "StatementReadServices") @ResponsePayload public ReadResponse read(@RequestPayload Read request) { throw new UnsupportedOperationException("Method not implemented"); // Statement statement = this.doRead( // this.statementReadService, // request.getStatementURI(), // request.getQueryControl(), // request.getContext()); // // ReadResponse response = new ReadResponse(); // response.setReturn(statement); // return response; } /* TODO: implement exists */ @PayloadRoot(localPart = "exists", namespace = CTS2_NAMESPACE_ROOT + "StatementReadServices") @ResponsePayload public ExistsResponse exists(@RequestPayload Exists request) { throw new UnsupportedOperationException("Method not implemented"); // boolean exists = this.statementReadService.exists(request.getStatementID(), request.getContext()); // // ExistsResponse response = new ExistsResponse(); // response.setReturn(exists); // return response; } /*******************************************************/ /* BaseServices */ /*******************************************************/ @PayloadRoot(localPart = "getDefaultFormat", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetDefaultFormatResponse getDefaultFormat(@RequestPayload GetDefaultFormat request) { FormatReference format = new FormatReference("SOAP"); GetDefaultFormatResponse response = new GetDefaultFormatResponse(); response.setReturn(format); return response; } @PayloadRoot(localPart = "getImplementationType", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetImplementationTypeResponse getImplementationType(@RequestPayload GetImplementationType request) { ImplementationProfile implementations[] = new ImplementationProfile[1]; implementations[0] = ImplementationProfile.IP_SOAP; GetImplementationTypeResponse response = new GetImplementationTypeResponse(); response.setReturn(implementations); return response; } @PayloadRoot(localPart = "getKnownNamespace", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetKnownNamespaceResponse getKnownNamespace(@RequestPayload GetKnownNamespace request) { GetKnownNamespaceResponse response = new GetKnownNamespaceResponse(); response.setReturn(this.statementReadService.getKnownNamespaceList()); return response; } @PayloadRoot(localPart = "getServiceDescription", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetServiceDescriptionResponse getServiceDescription(@RequestPayload GetServiceDescription request) { GetServiceDescriptionResponse response = new GetServiceDescriptionResponse(); response.setReturn(this.statementReadService.getServiceDescription()); return response; } @PayloadRoot(localPart = "getServiceName", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetServiceNameResponse getServiceName(@RequestPayload GetServiceName request) { GetServiceNameResponse response = new GetServiceNameResponse(); response.setReturn(this.statementReadService.getServiceName()); return response; } @PayloadRoot(localPart = "getServiceProvider", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetServiceProviderResponse getServiceProvider(@RequestPayload GetServiceProvider request) { GetServiceProviderResponse response = new GetServiceProviderResponse(); response.setReturn(this.statementReadService.getServiceProvider()); return response; } @PayloadRoot(localPart = "getServiceVersion", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetServiceVersionResponse getServiceVersion(@RequestPayload GetServiceVersion request) { GetServiceVersionResponse response = new GetServiceVersionResponse(); response.setReturn(this.statementReadService.getServiceVersion()); return response; } @PayloadRoot(localPart = "getSupportedFormat", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetSupportedFormatResponse getSupportedFormat(@RequestPayload GetSupportedFormat request) { FormatReference format[] = new FormatReference[1]; format[0] = new FormatReference("SOAP"); GetSupportedFormatResponse response = new GetSupportedFormatResponse(); response.setReturn(format); return response; } /* TODO: implement getSupportedProfile */ @PayloadRoot(localPart = "getSupportedProfile", namespace = CTS2_NAMESPACE_ROOT + "BaseServiceTypes") @ResponsePayload public GetSupportedProfileResponse getSupportedProfile(@RequestPayload GetSupportedProfile request) { throw new UnsupportedOperationException("Method not implemented"); // ProfileElement profile = new ProfileElement(); // profile.setStructuralProfile(StructuralProfile.SP_STATEMENT); // // FunctionalProfile functionalProfiles[] = new FunctionalProfile[1]; // functionalProfiles[0] = FunctionalProfile.FP_READ; // profile.setFunctionalProfile(functionalProfiles); // // ProfileElement profiles[] = new ProfileElement[1]; // profiles[0] = profile; // // GetSupportedProfileResponse response = new GetSupportedProfileResponse(); // response.setReturn(profiles); // // return response; } }