/*
*
* RHQ Sync Tool
* Copyright (C) 2012-2013 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License,
* version 2.1, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License and the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License
* and the GNU Lesser General Public License along with this program;
* if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
package org.jboss.rhq.sync.tool.cli;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import org.jboss.rhq.sync.tool.CLIParameters;
import org.jboss.rhq.sync.tool.actions.JONAction;
import org.jboss.rhq.sync.tool.actions.impl.impex.templates.MetricTemplateImportAction;
import org.jboss.rhq.sync.tool.actions.impl.impex.templates.RolesImportAction;
/**
*
* <p>Implements a "complete import" of data into an RHQ server, using a set of {@link JONAction}.</p>
*
* @author Romain PELISSE - <belaran@redhat.com>
*
*/
public class Importer extends AbstractImportExportAction implements CLIAction {
private static Logger logger = Logger.getLogger(Importer.class);
@Override
protected void registerActions(CLIParameters parameters,List<JONAction> actions, Map<String,String> values) {
logger.debug("Registering import actions:");
if ( isQualifierSpecified(QualifierType.ROLES, parameters) ) {
values.put(RolesImportAction.IMPORT_FILENAME,"/roles.json");
actions.add(new RolesImportAction(loginConfiguration, baseRemote));
logger.debug("roles import action registered");
}
if ( isQualifierSpecified(QualifierType.METRICS, parameters) ) {
values.put(MetricTemplateImportAction.IMPORT_FILENAME,parameters.getFile().getAbsolutePath());
actions.add(new MetricTemplateImportAction(loginConfiguration, baseRemote));
logger.warn(QualifierType.METRICS + "Not implemented");
}
logger.debug("End registering actions, action registered:" + actions.size());
}
}