/**
* Copyright (C) 2014 KAIST
* @author Janggwan Im <limg00n@kaist.ac.kr>
*/
package org.fosstrak.ale.server.tm;
import java.util.ArrayList;
import java.util.List;
import org.fosstrak.ale.server.ALESettings;
import org.fosstrak.ale.wsdl.aletm.epcglobal.DuplicateNameExceptionResponse;
import org.fosstrak.ale.wsdl.aletm.epcglobal.ImplementationExceptionResponse;
import org.fosstrak.ale.wsdl.aletm.epcglobal.NoSuchNameExceptionResponse;
import org.fosstrak.ale.wsdl.aletm.epcglobal.TMSpecValidationExceptionResponse;
import org.fosstrak.ale.xsd.ale.epcglobal.TMSpec;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service("aletm")
public class ALETMImpl implements ALETM {
@Autowired
private ALESettings aleSettings;
public void initialize() {
}
@Override
public void defineTMSpec(String name, TMSpec spec) throws TMSpecValidationExceptionResponse, ImplementationExceptionResponse, DuplicateNameExceptionResponse {
SymbolicFieldRepo.getInstance().addSymbolicField(name, spec);
}
@Override
public void undefineTMSpec(String name) throws NoSuchNameExceptionResponse {
SymbolicFieldRepo.getInstance().removeSymbolicField(name);
}
@Override
public List<String> getTMSpecNames() {
List<String> listNames = new ArrayList<String>();
for(String str : SymbolicFieldRepo.getInstance().getSymbolicFieldNames()) {
listNames.add(str);
}
return listNames;
}
@Override
public TMSpec getTMSpec(String name) throws NoSuchNameExceptionResponse {
return SymbolicFieldRepo.getInstance().getTMSpec(name);
}
@Override
public String getStandardVersion() {
return aleSettings.getAleStandardVersion();
}
@Override
public String getVendorVersion() {
return aleSettings.getVendorVersion();
}
}