package org.fosstrak.ale.wsdl.aletm.epcglobal; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import org.fosstrak.ale.exception.SecurityException; import org.fosstrak.ale.server.ac.ALEACImpl; import org.fosstrak.ale.server.tm.ALETM; import org.fosstrak.ale.wsdl.aletm.epcglobal.ALETMServicePortType; import org.fosstrak.ale.xsd.ale.epcglobal.TMSpec; import org.springframework.beans.factory.annotation.Autowired; public class ALETMServicePortTypeImpl implements ALETMServicePortType { @Autowired private ALETM aletm; @Autowired private ALEACImpl aleac; private String authScope = "ALETM"; @Override @WebResult(name = "DefineTMSpecResult", targetNamespace = "urn:epcglobal:aletm:wsdl:1", partName = "defineTMSpecReturn") @WebMethod public DefineTMSpecResult defineTMSpec( @WebParam(partName = "parms", name = "DefineTMSpec", targetNamespace = "urn:epcglobal:aletm:wsdl:1") DefineTMSpec arg0) throws TMSpecValidationExceptionResponse, DuplicateNameExceptionResponse, SecurityExceptionResponse, ImplementationExceptionResponse { try { aleac.checkAccess(authScope, Thread.currentThread().getStackTrace()[1].getMethodName()); aletm.defineTMSpec(arg0.getSpecName(), arg0.getSpec()); } catch (SecurityException e) { throw new SecurityExceptionResponse(e.getMessage(), e); } return new DefineTMSpecResult(); } @Override @WebResult(name = "GetStandardVersionResult", targetNamespace = "urn:epcglobal:aletm:wsdl:1", partName = "getStandardVersionReturn") @WebMethod public String getStandardVersion( @WebParam(partName = "parms", name = "GetStandardVersion", targetNamespace = "urn:epcglobal:aletm:wsdl:1") EmptyParms arg0) throws ImplementationExceptionResponse { return aletm.getStandardVersion(); } @Override @WebResult(name = "GetTMSpecResult", targetNamespace = "urn:epcglobal:aletm:wsdl:1", partName = "getTMSpecReturn") @WebMethod public TMSpec getTMSpec( @WebParam(partName = "parms", name = "GetTMSpec", targetNamespace = "urn:epcglobal:aletm:wsdl:1") GetTMSpec arg0) throws ImplementationExceptionResponse, NoSuchNameExceptionResponse, SecurityExceptionResponse { try { aleac.checkAccess(authScope, Thread.currentThread().getStackTrace()[1].getMethodName()); return aletm.getTMSpec(arg0.getSpecName()); } catch (SecurityException e) { throw new SecurityExceptionResponse(e.getMessage(), e); } } @Override @WebResult(name = "GetTMSpecNamesResult", targetNamespace = "urn:epcglobal:aletm:wsdl:1", partName = "getTMSpecNamesReturn") @WebMethod public ArrayOfString getTMSpecNames( @WebParam(partName = "parms", name = "GetTMSpecNames", targetNamespace = "urn:epcglobal:aletm:wsdl:1") EmptyParms arg0) throws SecurityExceptionResponse, ImplementationExceptionResponse { ArrayOfString aos = new ArrayOfString(); try { aleac.checkAccess(authScope, Thread.currentThread().getStackTrace()[1].getMethodName()); aos.string = aletm.getTMSpecNames(); } catch (SecurityException e) { throw new SecurityExceptionResponse(e.getMessage(), e); } return aos; } @Override @WebResult(name = "GetVendorVersionResult", targetNamespace = "urn:epcglobal:aletm:wsdl:1", partName = "getVendorVersionReturn") @WebMethod public String getVendorVersion( @WebParam(partName = "parms", name = "GetVendorVersion", targetNamespace = "urn:epcglobal:aletm:wsdl:1") EmptyParms arg0) throws ImplementationExceptionResponse { return aletm.getVendorVersion(); } @Override @WebResult(name = "UndefineTMSpecResult", targetNamespace = "urn:epcglobal:aletm:wsdl:1", partName = "undefineTMSpecReturn") @WebMethod public UndefineTMSpecResult undefineTMSpec( @WebParam(partName = "parms", name = "UndefineTMSpec", targetNamespace = "urn:epcglobal:aletm:wsdl:1") UndefineTMSpec arg0) throws ImplementationExceptionResponse, NoSuchNameExceptionResponse, SecurityExceptionResponse { try { aleac.checkAccess(authScope, Thread.currentThread().getStackTrace()[1].getMethodName()); aletm.undefineTMSpec(arg0.getSpecName()); } catch (SecurityException e) { throw new SecurityExceptionResponse(e.getMessage(), e); } return new UndefineTMSpecResult(); } }