/* * Copyright (C) 2013 Intel Corporation * All rights reserved. */ package com.intel.mtwilson.tag.setup.cmd; import com.intel.mtwilson.tag.setup.TagCommand; import com.intel.mtwilson.My; import com.intel.mtwilson.ms.controller.ApiClientX509JpaController; import com.intel.mtwilson.ms.data.ApiClientX509; import com.intel.mtwilson.setup.SetupException; import java.util.Properties; import org.apache.commons.codec.binary.Hex; import org.apache.commons.configuration.MapConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * This command exports a file from the database to the filesystem * @author jbuhacoff */ public class ApproveMtWilsonClient extends TagCommand { private static Logger log = LoggerFactory.getLogger(ApproveMtWilsonClient.class); @Override public void execute(String[] args) throws Exception { // check if username/password is provided on command line or already configured ... String fingerprint = null; if( getOptions().containsKey("fingerprint") ) { fingerprint = getOptions().getString("fingerprint", ""); } // // already configured // if( fingerprint == null ) { // fingerprint = My.configuration().getApiClientFingerprint().toString().getBytes(); // Global.configuration().getMtWilsonURL(); // } // // defaults // if( fingerprint == null ) { // fingerprint = "".getBytes(); // } if( fingerprint == null ) { throw new SetupException("Please specify a fingerprint for the API client user to be approved."); } try { System.out.println(String.format("Searching for client by fingerprint: %s", fingerprint)); ApiClientX509JpaController x509jpaController = My.jpa().mwApiClientX509(); ApiClientX509 client = x509jpaController.findApiClientX509ByFingerprint(Hex.decodeHex(fingerprint.toCharArray())); if( client == null ) { log.error("Cannot find client record with fingerprint {}", fingerprint); throw new IllegalStateException("Cannot find client record with fingerprint "+fingerprint); } client.setStatus("Approved"); client.setEnabled(true); x509jpaController.edit(client); } catch(Exception e) { throw new SetupException("Cannot update API Client record: "+e.getMessage(), e); } } public static void main(String args[]) throws Exception { ApproveMtWilsonClient cmd = new ApproveMtWilsonClient(); cmd.setOptions(new MapConfiguration(new Properties())); cmd.execute(new String[] { }); } }