package com.totvslabs.mdm.restclient.command; import java.util.HashMap; import java.util.Map; import com.totvslabs.mdm.restclient.vo.AuthVO; import com.totvslabs.mdm.restclient.vo.CommandTypeEnum; public class CommandAuth implements ICommand { private final static String GRANT_TYPE_DEFAULT = "password"; private String username; private String password; private String grantType = CommandAuth.GRANT_TYPE_DEFAULT; private String tenantId; private String datasourceId; public CommandAuth(String tenantId, String datasourceId, String username, String password) { this(tenantId, datasourceId, username, password, "password"); } public CommandAuth(String tenantId, String datasourceId, String username, String password, String grantType) { this.tenantId = tenantId; this.datasourceId = datasourceId; this.username = username; this.password = password; this.grantType = grantType; } @Override public Map<String, String> getParametersHeader() { Map<String, String> parameters = new HashMap<String, String>(); parameters.put("tenant", this.tenantId); parameters.put("datasource", this.datasourceId); return parameters; } @Override public void processReturn() { } @Override public String getCommandURL() { return "api/v1/oauth2/auth"; } @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public Class getResponseType() { return AuthVO.class; } @Override public Map<String, String> getParameterPath() { return null; } @Override public CommandTypeEnum getType() { return CommandTypeEnum.POST; } @Override public Object getData() { return null; } @Override public Map<String, String> getFormData() { Map<String, String> parameters = new HashMap<String, String>(); parameters.put("grant_type", this.grantType); parameters.put("username", this.username); parameters.put("password", this.password); parameters.put("subdomain", this.tenantId); parameters.put("dataSourceId", datasourceId); return parameters; } }