<commit_before>/*
 DConnectRequestManager.java
 Copyright (c) 2014 NTT DOCOMO,INC.
 Released under the MIT license
 http://opensource.org/licenses/mit-license.php
 */
package org.deviceconnect.android.manager.core.request;

import android.content.Context;
import android.content.Intent;
import android.util.Log;

import org.deviceconnect.android.manager.core.BuildConfig;
import org.deviceconnect.android.manager.core.DConnectInterface;
import org.deviceconnect.message.intent.message.IntentDConnectMessage;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * dConnect Managerで処理されるリクエストを管理するクラス.
 *
 * @author NTT DOCOMO, INC.
 */
public class DConnectRequestManager {
    /**
     * エラーコードを定義する.
     */
    private static final int ERROR_CODE = Integer.MIN_VALUE;

    /**
     * 最大スレッド数を定義する.
     */
    private static final int MAX_THREAD_SIZE = 32;

    /**
     * リクエスト一覧.
     */
    private final List<DConnectRequest> mRequestList = new ArrayList<>();

    /**
     * リクエストを実行するためのスレッドを管理するExecutor.
     */
    private ExecutorService mExecutor;

    /**
     * コンテキスト.
     */
    private Context mContext;
    private DConnectInterface mInterface;

    /**
     * コンストラクタ.
     *
     * @param context コンテキスト
     */
    public DConnectRequestManager(final Context context) {
        mContext = context;
    }
    public void setDConnectInterface(final DConnectInterface i) {
        mInterface = i;
    }

    /**
     * リクエスト管理を開始します.
     */
    public synchronized void start() {
        if (mExecutor != null) {
            return;
        }
        mExecutor = Executors.newFixedThreadPool(MAX_THREAD_SIZE);
    }

    /**
     * リクエスト管理を終了する.
     */
    public synchronized void stop() {
        mExecutor.shutdown();
        mExecutor = null;

        synchronized (mRequestList) {
            mRequestList.clear();
        }
    }

    /**<commit_msg>null チェックを追加<commit_after>/*
 DConnectRequestManager.java
 Copyright (c) 2014 NTT DOCOMO,INC.
 Released under the MIT license
 http://opensource.org/licenses/mit-license.php
 */
package org.deviceconnect.android.manager.core.request;

import android.content.Context;
import android.content.Intent;
import android.util.Log;

import org.deviceconnect.android.manager.core.BuildConfig;
import org.deviceconnect.android.manager.core.DConnectInterface;
import org.deviceconnect.message.intent.message.IntentDConnectMessage;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * dConnect Managerで処理されるリクエストを管理するクラス.
 *
 * @author NTT DOCOMO, INC.
 */
public class DConnectRequestManager {
    /**
     * エラーコードを定義する.
     */
    private static final int ERROR_CODE = Integer.MIN_VALUE;

    /**
     * 最大スレッド数を定義する.
     */
    private static final int MAX_THREAD_SIZE = 32;

    /**
     * リクエスト一覧.
     */
    private final List<DConnectRequest> mRequestList = new ArrayList<>();

    /**
     * リクエストを実行するためのスレッドを管理するExecutor.
     */
    private ExecutorService mExecutor;

    /**
     * コンテキスト.
     */
    private Context mContext;
    private DConnectInterface mInterface;

    /**
     * コンストラクタ.
     *
     * @param context コンテキスト
     */
    public DConnectRequestManager(final Context context) {
        mContext = context;
    }
    public void setDConnectInterface(final DConnectInterface i) {
        mInterface = i;
    }

    /**
     * リクエスト管理を開始します.
     */
    public synchronized void start() {
        if (mExecutor != null) {
            return;
        }
        mExecutor = Executors.newFixedThreadPool(MAX_THREAD_SIZE);
    }

    /**
     * リクエスト管理を終了する.
     */
    public synchronized void stop() {
        if (mExecutor != null) {
            mExecutor.shutdown();
            mExecutor = null;
        }

        synchronized (mRequestList) {
            mRequestList.clear();
        }
    }

    /**
{'fraction_non_alphanumeric': 0.10391566265060241, 'fraction_numerical': 0.0030120481927710845, 'mean_word_length': 2.5328014184397163, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5402377', 'n_tokens_mistral': 1352, 'n_tokens_neox': 1295, 'n_words': 234}