/* TestUniqueProfile.java Copyright (c) 2014 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.test.profile.unique; import android.content.Intent; import org.deviceconnect.android.message.MessageUtils; import org.deviceconnect.android.profile.DConnectProfile; import org.deviceconnect.message.DConnectMessage; import org.deviceconnect.message.intent.message.IntentDConnectMessage; /** * DeviceConnectのURLをGETで操作する機能のテスト用プロファイル. * @author NTT DOCOMO, INC. */ public class TestAllGetControlProfile extends DConnectProfile { /** * プロファイル名: {@value} . */ public static final String PROFILE_NAME = "allGetControl"; /** * インターフェース名: {@value} . */ public static final String INTERFACE_TEST = "test"; /** * 属性名: {@value} . */ public static final String ATTRIBUTE_PING = "ping"; /** * パラメータ: {@value}. */ public static final String PARAM_KEY = "key"; /** * テスト値: {@value}. */ public static final String VALUE_KEY_PROFILE = "PROFILE_OK"; /** * テスト値: {@value}. */ public static final String VALUE_KEY_INTERFACE = "INTERFACE_OK"; /** * テスト値: {@value}. */ public static final String VALUE_KEY_ATTRIBUTE = "ATTRIBUTE_OK"; @Override public String getProfileName() { return PROFILE_NAME; } @Override public boolean onRequest(final Intent request, final Intent response) { final String inter = getInterface(request); final String attribute = getAttribute(request); final String action = request.getAction(); if (inter == null && attribute == null) { if (IntentDConnectMessage.ACTION_GET.equals(action) || IntentDConnectMessage.ACTION_POST.equals(action) || IntentDConnectMessage.ACTION_PUT.equals(action) || IntentDConnectMessage.ACTION_DELETE.equals(action)) { response.putExtra(PARAM_KEY, VALUE_KEY_PROFILE); setResult(response, DConnectMessage.RESULT_OK); } else { MessageUtils.setUnknownAttributeError(response); } } else if (inter == null && ATTRIBUTE_PING.equals(attribute)) { if (IntentDConnectMessage.ACTION_GET.equals(action) || IntentDConnectMessage.ACTION_POST.equals(action) || IntentDConnectMessage.ACTION_PUT.equals(action) || IntentDConnectMessage.ACTION_DELETE.equals(action)) { response.putExtra(PARAM_KEY, VALUE_KEY_ATTRIBUTE); setResult(response, DConnectMessage.RESULT_OK); } else { MessageUtils.setUnknownAttributeError(response); } } else if (INTERFACE_TEST.equals(inter) && ATTRIBUTE_PING.equals(attribute)) { if (IntentDConnectMessage.ACTION_GET.equals(action) || IntentDConnectMessage.ACTION_POST.equals(action) || IntentDConnectMessage.ACTION_PUT.equals(action) || IntentDConnectMessage.ACTION_DELETE.equals(action)) { response.putExtra(PARAM_KEY, VALUE_KEY_INTERFACE); setResult(response, DConnectMessage.RESULT_OK); } else { MessageUtils.setUnknownAttributeError(response); } } else { MessageUtils.setUnknownAttributeError(response); } return true; } }