/*
* Copyright (C) 2014 Intel Corporation
* All rights reserved.
*/
package com.intel.mtwilson.trustagent.ws.v2;
import com.intel.mountwilson.common.TAException;
import com.intel.mountwilson.trustagent.commands.SetAssetTag;
import com.intel.mountwilson.trustagent.data.TADataContext;
import com.intel.mtwilson.launcher.ws.ext.V2;
import com.intel.mtwilson.trustagent.model.TagWriteRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.apache.commons.codec.binary.Hex;
/**
*
* @author jbuhacoff
*/
@V2
@Path("/tag")
public class Tag {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Tag.class);
@POST
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public void writeTag(TagWriteRequest tagInfo, @Context HttpServletResponse response) throws TAException {
log.debug("writeTag uuid {} sha1 {}", tagInfo.getHardwareUuid(), Hex.encodeHexString(tagInfo.getTag()));
TADataContext context = new TADataContext();
context.setAssetTagHash(Hex.encodeHexString(tagInfo.getTag()));
new SetAssetTag(context).execute();
log.debug("writeTag returning 204 status");
response.setStatus(Response.Status.NO_CONTENT.getStatusCode());
log.debug("writeTag done");
}
}