text:
#ifndef NRF_ATFIFO_H__
#define NRF_ATFIFO_H__

#include <stdint.h>
#include <stdbool.h>
#include "sdk_config.h"
#include "nordic_common.h"
#include "nrf_assert.h"
#include "sdk_errors.h"
#include "nrf_log_instance.h"
#ifdef __cplusplus
extern "C" {
#endif

/**
 * @defgroup nrf_atfifo Atomic FIFO
 * @ingroup app_common
 *
 * @brief @tagAPI52 FIFO implementation that allows for making atomic transactions without
 * locking interrupts.
 *
 * @details There are two types of functions to prepare the FIFO writing:
 * - Single function for simple access:
 * @code
 * if (NRF_SUCCESS != nrf_atfifo_simple_put(my_fifo, &data, NULL))
 * {
 *      // Error handling
 * }
 * @endcode
 * - Function pair to limit data copying:
 * @code
 * struct point3d
 * {
 *      int x, y, z;
 * }point3d_t;
 * nrf_atfifo_context_t context;
 * point3d_t * point;
 *
 * if (NULL != (point = nrf_atfifo_item_alloc(my_fifo, &context)))
 * {
 *      point->x = a;
 *      point->y = b;
 *      point->z = c;
 *      if (nrf_atfifo_item_put(my_fifo, &context))
 *      {
 *          // Send information to the rest of the system
 *          // that there is new data in the FIFO available for reading.
 *      }
 * }
 * else
 * {
 *      // Error handling
 * }
 *
 * @endcode
 * @note
 * This atomic FIFO implementation requires that the operation that is
 * opened last is finished (committed/flushed) first.
 * This is typical for operations performed from the interrupt runtime
 * when the other operation is performed from the main thread.
 *
 * This implementation does not support typical multithreading operating system
 * access where operations can be started and finished in totally unrelated order.
 *
 * @{
 */

/**
 * @brief Read and write position structure.
 *
 * A structure that holds the read and write position used by the FIFO head and tail.
 */
typedef struct nrf_atfifo_postag_pos_s
{
    uint16_t wr; //!< First free space to write the data
    uint16_t rd; //!< A place after the last data to read
}nrf_atfifo_postag_pos_t;

/**
 * @brief End data index tag.
 *
 * A tag used to mark the end of data.
 * To properly realize atomic data committing, the whole variable has to be
 * accessed atomically.
 */
typedef union nrf_atfifo_postag_u
{
    uint32_t                tag; //!< Whole tag, used for atomic, 32-bit access
    nrf_atfifo_postag_pos_t pos; //!< Structure that holds reading and writing position separately
}nrf_atfifo_postag_t;

/**
 * @brief The FIFO instance.
 *
 * The instance of atomic FIFO.
 * Used with all FIFO functions.
 */
typedef struct nrf_atfifo_s
{
    void                * p_buf;        //!< Pointer to the data buffer
    nrf_atfifo_postag_t   tail;         //!< Read and write tail position tag
    nrf_atfifo_postag_t   head;         //!< Read and write head position tag
    uint16_t              buf_size;     //!< FIFO size in number of bytes (has to be divisible by @c item_size)
    uint16_t              item_size;    //!< Size of a single FIFO item
    NRF_LOG_INSTANCE_PTR_DECLARE(p_log) //!< Pointer to instance of the logger object (Conditionally compiled).
}nrf_atfifo_t;

/**
 * @brief FIFO write operation item context.
 *
 * Context structure used to mark an allocated space in FIFO that is ready for put.
 * All the data required to properly put allocated and written data.
 */
typedef struct nrf_atfifo_item_put_s
{
    nrf_atfifo_postag_t last_tail; //!< Tail tag value that was here when opening the FIFO to write
}nrf_atfifo_item_put_t;

/**
 * @brief FIFO read operation item context.
 *
 * Context structure used to mark an opened get operation to properly free an item after reading.
 */
typedef struct nrf_atfifo_rcontext_s
{
    nrf_atfifo_postag_t last_head; //!< Head tag value that was here when opening the FIFO to read
}nrf_atfifo_item_get_t;

/** @brief Name of the module used for logger messaging.
 */
#define NRF_ATFIFO_LOG_NAME atfifo

/**
 * @defgroup nrf_atfifo_instmacros FIFO instance macros
 *
 * A group of macros helpful for FIFO instance creation and initialization.
 * They may be used to create and initialize instances for most use cases.
 *
 * FIFO may also be created and initialized directly using
 * @ref nrf_atfifo_init function.
 * @{
 */
    /**
     * @brief Macro for generating the name for a data buffer.
     *
     * The name of the data buffer that would be created by
     * @ref NRF_ATFIFO_DEF macro.
     *
     * @param[in] fifo_id Identifier of the FIFO object.
     *
     * @return Name of the buffer variable.
     *
     * @note This is auxiliary internal macro and in normal usage
     *       it should not be called.
     */
    #define NRF_ATFIFO_BUF_NAME(fifo_id) CONCAT_2(fifo_id, _data)

    /**
     * @brief Macro for generating the name for a FIFO instance.
     *
     * The name of the instance variable that will be created by the
     * @ref NRF_ATFIFO_DEF macro.
     *
     * @param[in] fifo_id Identifier of the FIFO object.
     *
     * @return Name of the instance variable.
     *
     * @note This is auxiliary internal macro and in normal usage
     *       it should not be called.
     */
    #define NRF_ATFIFO_INST_NAME(fifo_id) CONCAT_2(fifo_id, _inst)

    /**
     * @brief Macro for creating an instance.
     *
     * Creates the FIFO object variable itself.
     *
     * Usage example:
     * @code
     * NRF_ATFIFO_DEF(my_fifo, uint16_t, 12);
     * NRF_ATFIFO_INIT(my_fifo);
     *
     * uint16_t some_val = 45;
     * nrf_atfifo_item_put(my_fifo, &some_val, sizeof(some_val), NULL);
     * nrf_atfifo_item_get(my_fifo, &some_val, sizeof(some_val), NULL);
     * @endcode
     *
     * @param[in] fifo_id      Identifier of a FIFO object.
     *                         This identifier will be a pointer to the instance.
     *                         It makes it possible to use this directly for the functions
     *                         that operate on the FIFO.
     *                         Because it is a static const object, it should be optimized by the compiler.
     * @param[in] storage_type Type of data that will be stored in the FIFO.
     * @param[in] item_cnt     Capacity of the created FIFO in maximum number of items that may be stored.
     *                         The phisical size of the buffer will be 1 element bigger.
     */
    #define NRF_ATFIFO_DEF(fifo_id, storage_type, item_cnt)                                     \
        static storage_type NRF_ATFIFO_BUF_NAME(fifo_id)[(item_cnt)+1];                         \
        NRF_LOG_INSTANCE_REGISTER(NRF_ATFIFO_LOG_NAME, fifo_id,                                 \
                                  NRF_ATFIFO_CONFIG_INFO_COLOR,                                 \
                                  NRF_ATFIFO_CONFIG_DEBUG_COLOR,                                \
                                  NRF_ATFIFO_CONFIG_LOG_INIT_FILTER_LEVEL,                      \
                                  NRF_ATFIFO_CONFIG_LOG_ENABLED ?                               \
                                          NRF_ATFIFO_CONFIG_LOG_LEVEL : NRF_LOG_SEVERITY_NONE); \
        static nrf_atfifo_t NRF_ATFIFO_INST_NAME(fifo_id) = {                                   \
                .p_buf = NULL,                                                                  \
                NRF_LOG_INSTANCE_PTR_INIT(p_log, NRF_ATFIFO_LOG_NAME, fifo_id)                  \
        };                                                                                \
        static nrf_atfifo_t * const fifo_id = &NRF_ATFIFO_INST_NAME(fifo_id)

    /**
     * @brief Macro for initializing the FIFO that was previously declared by the macro.
     *
     * Use this macro to simplify FIFO initialization.
     *
     * @note
     * This macro can be only used on a FIFO object defined by @ref NRF_ATFIFO_DEF macro.
     *
     * @param[in] fifo_id Identifier of the FIFO object.
     *
     * @return Value from the @ref nrf_atfifo_init function.
     */
    #define NRF_ATFIFO_INIT(fifo_id)                \
        nrf_atfifo_init(                            \
            fifo_id,                                \
            NRF_ATFIFO_BUF_NAME(fifo_id),           \
            sizeof(NRF_ATFIFO_BUF_NAME(fifo_id)),   \
            sizeof(NRF_ATFIFO_BUF_NAME(fifo_id)[0]) \
        )

/** @} */

/**
 * @brief Function for initializing the FIFO.
 *
 * Preparing the FIFO instance to work.
 *
 * @param[out]    p_fifo    FIFO object to initialize.
 * @param[in,out] p_buf     FIFO buffer for storing data.
 * @param[in]     buf_size  Total buffer size (has to be divisible by @c item_size).
 * @param[in]     item_size Size of a single item held inside the FIFO.
 *
 * @retval     NRF_SUCCESS              If initialization was successful.
 * @retval     NRF_ERROR_NULL           If a NULL pointer is provided as the buffer.
 * @retval     NRF_ERROR_INVALID_LENGTH If size of the buffer provided is not divisible by @c item_size.
 *
 * @note
 * Buffer size must be able to hold one element more than the designed FIFO capacity.
 * This one, empty element is used for overflow checking.
 */
ret_code_t nrf_atfifo_init(nrf_atfifo_t * const p_fifo, void * p_buf, uint16_t buf_size, uint16_t item_size);

/**
 * @brief Function for clearing the FIFO.
 *
 * Function for clearing the FIFO.
 *
 * If this function is called during an opened and uncommitted write operation,
 * the FIFO is cleared up to the currently ongoing commit.
 * There is no possibility to cancel an ongoing commit.
 *
 * If this function is called during an opened and unflushed read operation,
 * the read position in the head is set, but copying it into the write head position
 * is left to read closing operation.
 *
 * This way, there is no more data to read, but the memory is released
 * in the moment when it is safe.
 *
 * @param[in,out] p_fifo FIFO object.
 *
 * @retval NRF_SUCCESS    FIFO totally cleared.
 * @retval NRF_ERROR_BUSY Function called in the middle of writing or reading operation.
 *                        If it is called in the middle of writing operation,
 *                        FIFO was cleared up to the already started and uncommitted write.
 *                        If it is called in the middle of reading operation,
 *                        write head was only moved. It will be copied into read tail when the reading operation
 *                        is flushed.
 */
ret_code_t nrf_atfifo_clear(nrf_atfifo_t * const p_fifo);

/**
 * @brief Function for atomically putting data into the FIFO.
 *
 * It uses memcpy function inside and in most situations, it is more suitable to
 * use @ref nrf_atfifo_item_alloc, write the data, and @ref nrf_atfifo_item_put to store a new value
 * in a FIFO.
 *
 * @param[in,out] p_fifo    FIFO object.
 * @param[in]     p_var     Variable to copy.
 * @param[in]     size      Size of the variable to copy.
 *                          Can be smaller or equal to the FIFO item size.
 * @param[out]    p_visible See value returned by @ref nrf_atfifo_item_put.
 *                          It may be NULL if the caller does not require the current operation status.
 *
 * @retval NRF_SUCCESS      If an element has been successfully added to the FIFO.
 * @retval NRF_ERROR_NO_MEM If the FIFO is full.
 *
 * @note
 * To avoid data copying, you can use the @ref nrf_atfifo_item_alloc and @ref nrf_atfifo_item_put
 * functions pair.
 */
ret_code_t nrf_atfifo_alloc_put(nrf_atfifo_t * const p_fifo, void const * const p_var, size_t size, bool * const p_visible);

/**
 * @brief Function for opening the FIFO for writing.
 *
 * Function called to start the FIFO write operation and access the given FIFO buffer directly.
 *
 * @param[in,out] p_fifo    FIFO object.
 * @param[out]    p_context Operation context, required by @ref nrf_atfifo_item_put.
 *
 * @return Pointer to the space where variable data can be stored.
 *         NULL if there is no space in the buffer.
 */
void * nrf_atfifo_item_alloc(nrf_atfifo_t * const p_fifo, nrf_atfifo_item_put_t * p_context);

/**
 * @brief Function for closing the writing operation.
 *
 * Puts a previously allocated context into FIFO.
 * This function must be called to commit an opened write operation.
 * It sets all the buffers and marks the data, so that it is visible to read.
 *
 * @param[in,out] p_fifo    FIFO object.
 * @param[in]     p_context Operation context, filled by the @ref nrf_atfifo_item_alloc function.
 *
 * @retval true  Data is currently ready and will be visible to read.
 * @retval false The internal commit was marked, but the writing operation interrupted another writing operation.
 *               The data will be available to read when the interrupted operation is committed.
 */
bool nrf_atfifo_item_put(nrf_atfifo_t * const p_fifo, nrf_atfifo_item_put_t * p_context);

/**
 * @brief Function for getting a single value from the FIFO.
 *
 * This function gets the value from the top of the FIFO.
 * The value is removed from the FIFO memory.
 *
 * @param[in,out] p_fifo     FIFO object.
 * @param[out]    p_var      Pointer to the variable to store the data.
 * @param[in]     size       Size of the data to be loaded.
 * @param[out]    p_released See the values returned by @ref nrf_atfifo_item_free.
 *
 * @retval NRF_SUCCESS         Element was successfully copied from the FIFO memory.
 * @retval NRF_ERROR_NOT_FOUND No data in the FIFO.
 */
ret_code_t nrf_atfifo_get_free(nrf_atfifo_t * const p_fifo, void * const p_var, size_t size, bool * p_released);

/**
 * @brief Function for opening the FIFO for reading.
 *
 * Function called to start the FIFO read operation and access the given FIFO buffer directly.
 *
 * @param[in,out] p_fifo    FIFO object.
 * @param[out]    p_context The operation context, required by @ref nrf_atfifo_item_free
 *
 * @return Pointer to data buffer or NULL if there is no data in the FIFO.
 */
void * nrf_atfifo_item_get(nrf_atfifo_t * const p_fifo, nrf_atfifo_item_get_t * p_context);

/**
 * @brief Function for closing the reading operation.
 *
 * Function used to finish the reading operation.
 * If this reading operation does not interrupt another reading operation, the head write buffer is moved.
 * If this reading operation is placed in the middle of another reading, only the new read pointer is written.
 *
 * @param[in,out] p_fifo    FIFO object.
 * @param[in]     p_context Context of the reading operation to be closed.
 *
 * @retval true  This operation is not generated in the middle of another read operation and the write head will be updated to the read head (space is released).
 * @retval false This operation was performed in the middle of another read operation and the write buffer head was not moved (no space is released).
 */
bool nrf_atfifo_item_free(nrf_atfifo_t * const p_fifo, nrf_atfifo_item_get_t * p_context);

/** @} */

#ifdef __cplusplus
}
#endif

#endif /* NRF_ATFIFO_H__ */


text:
from ..settings import *

SITE_DIR = os.path.dirname(os.path.abspath(__file__))

DEBUG = True
ALLOWED_HOSTS = ['*']

INSTALLED_APPS += [
    #    'django_extensions',

    'bootstrap3',
    'sites.dev.books',
]

ROOT_URLCONF = 'sites.dev.urls'
WSGI_APPLICATION = 'sites.dev.wsgi.application'

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(os.path.dirname(__file__), 'db.sqlite3'),
    }
}

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATICFILES_FINDERS = [
    'sites.dev.utils.staticfiles.finders.AppDirectoriesIndexFinder',
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(SITE_DIR, 'templates'),
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

if 'test' in sys.argv[1:] or 'jenkins' in sys.argv[1:]:
    from ..test.settings import *

redpajama_set_name: RedPajamaGithub


text:
This package is part of the [ROS-Industrial][] program. See the main [fanuc][]
page on the ROS wiki for more information on usage.

## Known issues - poor planning performance

Please see the [known issues][] page on the ROS wiki.

[ROS-Industrial]: http://wiki.ros.org/Industrial
[fanuc]: http://wiki.ros.org/fanuc
[known issues]: http://wiki.ros.org/fanuc/indigo/known_issues


text:
#ifndef NormalizeAlgorithm_h
#define NormalizeAlgorithm_h

#include "public/platform/WebCrypto.h"
#include "public/platform/WebCryptoAlgorithm.h"
#include "public/platform/WebString.h"
#include "wtf/Assertions.h"
#include "wtf/Forward.h"

namespace blink {

class Dictionary;

struct AlgorithmError {
    WebCryptoErrorType errorType;
    WebString errorDetails;
};

// Converts a javascript Dictionary to a WebCryptoAlgorithm object.
//
// This corresponds with "normalizing" [1] the algorithm, and then validating
// the expected parameters for the algorithm/operation combination.
//
// On success returns true and sets the WebCryptoAlgorithm.
//
// On failure normalizeAlgorithm returns false and sets the AlgorithmError with
// a error type and a (non-localized) debug string.
//
// [1] http://www.w3.org/TR/WebCryptoAPI/#algorithm-normalizing-rules
bool normalizeAlgorithm(const Dictionary&, WebCryptoOperation, WebCryptoAlgorithm&, AlgorithmError*) WARN_UNUSED_RETURN;

} // namespace blink

#endif


text:
package org.jenkinsci.plugins.MaidsafeJenkins.actions;

import java.util.HashMap;
import java.util.List;

// TODO Refactor
public class ActionSummary {

	private HashMap<String, Object> summary;
	private final String BRANCH_TARGET_KEY = "targetBranch";
	private final String BASE_BRANCH_KEY = "baseBranch";
	private final String ISSUE_KEY = "issueKey";
	private final String MATCHIN_PR_LIST_KEY = "matchingPRList";
	private final String BUILD_PASSED_KEY = "buildPassed";
	private final String REASON_KEY = "failureReason";
	private final String MODULES_WITH_MATCHING_KEY = "modulesMatchingIssue";
	private final String BRANCH_USED_BY_MODULE = "branchUsedByModule";

	public ActionSummary() {
		summary = new HashMap<String, Object>();
		summary.put(BUILD_PASSED_KEY, false);
		summary.put(BRANCH_USED_BY_MODULE, new HashMap<String, String>());
	}

	public String getIssueKey() {
		return (String) summary.get(ISSUE_KEY);
	}

	public void setIssueKey(String issueKey) {
		summary.put(ISSUE_KEY, issueKey);
	}

	@SuppressWarnings("unchecked")
	public List<String> getMatchingPRList() {
		return (List<String>) summary.get(MATCHIN_PR_LIST_KEY);
	}

	public void setMatchingPRList(List<String> matchingPRList) {
		summary.put(MATCHIN_PR_LIST_KEY, matchingPRList);
	}

	public boolean isBuilPassed() {
		return (Boolean) summary.get(BUILD_PASSED_KEY);
	}

	public void setBuildPassed(boolean builPassed) {
		summary.put(BUILD_PASSED_KEY, builPassed);
	}

	public String getReasonForFailure() {
		return (String) summary.get(REASON_KEY);
	}

	public void setReasonForFailure(String reasonForFailure) {
		summary.put(REASON_KEY, reasonForFailure);
	}

	public String getBaseBranch() {
		return (String) summary.get(BASE_BRANCH_KEY);
    }

    public void setBaseBranch(String baseBranch) {
    	summary.put(BASE_BRANCH_KEY, baseBranch);
    }

    public String getBranchTarget() {
    	return (String) summary.get(BRANCH_TARGET_KEY);
    }

    public void setBranchTarget(String branchTarget) {
    	summary.put(BRANCH_TARGET_KEY, branchTarget);
    }

	@SuppressWarnings("unchecked")
	public List<String> getModulesWithMatchingPR() {
		return (List<String>) summary.get(MODULES_WITH_MATCHING_KEY);
	}

	public void setModulesWithMatchingPR(List<String> modulesWithMatchingPR) {
		summary.put(MODULES_WITH_MATCHING_KEY, modulesWithMatchingPR);
	}

	public void addBranchUsedByModule(String module, String branchName) {
		((HashMap<String, String>) summary.get(BRANCH_USED_BY_MODULE)).put(module, branchName);
	}

	public HashMap<String, Object> getSummary() {
		return summary;
	}

}


text:
<?php

namespace PHPExiftool\Driver\Tag\System;

use JMS\Serializer\Annotation\ExclusionPolicy;
use PHPExiftool\Driver\AbstractTag;

/**
 * @ExclusionPolicy("all")
 */
class FileAccessDate extends AbstractTag
{

    protected $Id = 'FileAccessDate';

    protected $Name = 'FileAccessDate';

    protected $FullName = 'Extra';

    protected $GroupName = 'System';

    protected $g0 = 'File';

    protected $g1 = 'File';

    protected $g2 = 'Image';

    protected $Type = '?';

    protected $Writable = false;

    protected $Description = 'File Access Date/Time';

    protected $local_g1 = 'System';

    protected $local_g2 = 'Time';
}


text:
ACCEPTED

#### According to
Index Fungorum

#### Published in
Monogr. Discom. Bohem. (Prague) 77 (1934)

#### Original name
Scutula subolivacea Velen.

### Remarks
null


text:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

          <title>consumer - core 0.8.3-SNAPSHOT API - kafka.consumer</title>
          <meta name="description" content="consumer - core 0.8.3 - SNAPSHOT API - kafka.consumer" />
          <meta name="keywords" content="consumer core 0.8.3 SNAPSHOT API kafka.consumer" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

      <link href="../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />

kafka

consumer

        package

        consumer

<input id="mbrsel-input" type="text" accesskey="/" />

            Visibility

Public

All

Type Members

        class

        AssignmentContext extends AnyRef

        case class

        Blacklist(rawRegex: String) extends TopicFilter with Product with Serializable

        class

        ConsumerConfig extends ZKConfig

        trait

        ConsumerConnector extends AnyRef

 Main interface for consumer

        class

        ConsumerFetcherManager extends AbstractFetcherManager

 Usage:
 Once ConsumerFetcherManager is created, startConnections() and stopAllConnections() can be called repeatedly
 until shutdown() is called.

        class

        ConsumerFetcherThread extends AbstractFetcherThread

        class

        ConsumerIterator[K, V] extends IteratorTemplate[MessageAndMetadata[K, V]] with Logging

An iterator that blocks until a value can be read from the supplied queue.

        case class

        ConsumerThreadId(consumer: String, threadId: Int) extends Ordered[ConsumerThreadId] with Product with Serializable

        class

        ConsumerTimeoutException extends RuntimeException

        class

        ConsumerTopicMetrics extends KafkaMetricsGroup

Annotations

                @threadsafe()

        class

        ConsumerTopicStats extends Logging

Tracks metrics for each topic the given consumer client has consumed data from.

        class

        FetchRequestAndResponseMetrics extends KafkaMetricsGroup

        class

        FetchRequestAndResponseStats extends AnyRef

Tracks metrics of the requests made by a given consumer client to all brokers, and the responses obtained from the brokers.

        case class

        FetchedDataChunk(messages: ByteBufferMessageSet, topicInfo: PartitionTopicInfo, fetchOffset: Long) extends Product with Serializable

        class

        KafkaStream[K, V] extends Iterable[MessageAndMetadata[K, V]] with Iterable[MessageAndMetadata[K, V]]

        trait

        PartitionAssignor extends AnyRef

        class

        PartitionTopicInfo extends Logging

        class

        RangeAssignor extends PartitionAssignor with Logging

Range partitioning works on a per-topic basis.

        class

        RoundRobinAssignor extends PartitionAssignor with Logging

The round-robin partition assignor lays out all the available partitions and all the available consumer threads.

        class

        SimpleConsumer extends Logging

A consumer of kafka messages

        trait

        TopicEventHandler[T] extends AnyRef

        sealed abstract
        class

        TopicFilter extends Logging

        case class

        Whitelist(rawRegex: String) extends TopicFilter with Product with Serializable

        class

        ZookeeperTopicEventWatcher extends Logging

Value Members

        object

        Consumer extends Logging

        object

        ConsumerConfig extends Config

        object

        ConsumerTopicStatsRegistry

Stores the topic stats information of each consumer client in a (clientId -> ConsumerTopicStats) map.

        object

        FetchRequestAndResponseStatsRegistry

Stores the fetch request and response stats information of each consumer client in a (clientId -> FetchRequestAndResponseStats) map.

        object

        PartitionAssignor

        object

        PartitionTopicInfo

Ungrouped


text:
__author__ = "Cyril Jaquier"
__version__ = "$Revision: 642 $"
__date__ = "$Date: 2008-01-05 23:33:44 +0100 (Sat, 05 Jan 2008) $"
__copyright__ = "Copyright (c) 2004 Cyril Jaquier"
__license__ = "GPL"

import re, sre_constants

##
# Regular expression class.
#
# This class represents a regular expression with its compiled version.

class Regex:

	##
	# Constructor.
	#
	# Creates a new object. This method can throw RegexException in order to
	# avoid construction of invalid object.
	# @param value the regular expression

	def __init__(self, regex):
		self._matchCache = None
		# Perform shortcuts expansions.
		# Replace "<HOST>" with default regular expression for host.
		regex = regex.replace("<HOST>", "(?:::f{4,6}:)?(?P<host>[\w\-.^_]+)")
		if regex.lstrip() == '':
			raise RegexException("Cannot add empty regex")
		try:
			self._regexObj = re.compile(regex)
			self._regex = regex
		except sre_constants.error:
			raise RegexException("Unable to compile regular expression '%s'" %
								 regex)

	##
	# Gets the regular expression.
	#
	# The effective regular expression used is returned.
	# @return the regular expression

	def getRegex(self):
		return self._regex

	##
	# Searches the regular expression.
	#
	# Sets an internal cache (match object) in order to avoid searching for
	# the pattern again. This method must be called before calling any other
	# method of this object.
	# @param value the line

	def search(self, value):
		self._matchCache = self._regexObj.search(value)

	##
	# Checks if the previous call to search() matched.
	#
	# @return True if a match was found, False otherwise

	def hasMatched(self):
		if self._matchCache:
			return True
		else:
			return False

##
# Exception dedicated to the class Regex.

class RegexException(Exception):
	pass

##
# Regular expression class.
#
# This class represents a regular expression with its compiled version.

class FailRegex(Regex):

	##
	# Constructor.
	#
	# Creates a new object. This method can throw RegexException in order to
	# avoid construction of invalid object.
	# @param value the regular expression

	def __init__(self, regex):
		# Initializes the parent.
		Regex.__init__(self, regex)
		# Check for group "host"
		if "host" not in self._regexObj.groupindex:
			raise RegexException("No 'host' group in '%s'" % self._regex)

	##
	# Returns the matched host.
	#
	# This corresponds to the pattern matched by the named group "host".
	# @return the matched host

	def getHost(self):
		host = self._matchCache.group("host")
		if host == None:
			# Gets a few information.
			s = self._matchCache.string
			r = self._matchCache.re
			raise RegexException("No 'host' found in '%s' using '%s'" % (s, r))
		return host


text:
#include "arch.h"
#include <string.h>
#include <e32std.h>

#include "Thread.h"
#include "Runnable.h"
#include "ThreadID.h"
#include "Synchronized.h"
#include "Log.h"
#include "WFTextUtil.h"
#include "GlobalData.h"
#include "nav2util.h"
#include <stdio.h>
#include "InnerThread.h"

namespace isab {

#ifdef NAV2_CLIENT_UIQ3
# define USE_THREAD_EXCEPTION_HANDLER
#endif

#if defined USE_THREAD_EXCEPTION_HANDLER
   void logException(enum TExcType arg)
   {
      class Log log("EXCEPTION");

      const char* tName = "UnknownThread";
      const char* eName = NULL;
      if( Thread::currentThread() ){
         tName = Thread::currentThread()->getName();
      }
      switch(arg){
      case EExcGeneral:              eName = "EExcGeneral";              break;
      case EExcIntegerDivideByZero:  eName = "EExcIntegerDivideByZero";  break;
      case EExcSingleStep:           eName = "EExcSingleStep";           break;
      case EExcBreakPoint:           eName = "EExcBreakPoint";           break;
      case EExcIntegerOverflow:      eName = "EExcIntegerOverflow";      break;
      case EExcBoundsCheck:          eName = "EExcBoundsCheck";          break;
      case EExcInvalidOpCode:        eName = "EExcInvalidOpCode";        break;
      case EExcDoubleFault:          eName = "EExcDoubleFault";          break;
      case EExcStackFault:           eName = "EExcStackFault";           break;
      case EExcAccessViolation:      eName = "EExcAccessViolation";      break;
      case EExcPrivInstruction:      eName = "EExcPrivInstruction";      break;
      case EExcAlignment:            eName = "EExcAlignment";            break;
      case EExcPageFault:            eName = "EExcPageFault";            break;
      case EExcFloatDenormal:        eName = "EExcFloatDenormal";        break;
      case EExcFloatDivideByZero:    eName = "EExcFloatDivideByZero";    break;
      case EExcFloatInexactResult:   eName = "EExcFloatInexactResult";   break;
      case EExcFloatInvalidOperation:eName = "EExcFloatInvalidOperation";break;
      case EExcFloatOverflow:        eName = "EExcFloatOverflow";        break;
      case EExcFloatStackCheck:      eName = "EExcFloatStackCheck";      break;
      case EExcFloatUnderflow:       eName = "EExcFloatUnderflow";       break;
      case EExcAbort:                eName = "EExcAbort";                break;
      case EExcKill:                 eName = "EExcKill";                 break;
      case EExcUserInterrupt:        eName = "EExcUserInterrupt";        break;
      case EExcDataAbort:            eName = "EExcDataAbort";            break;
      case EExcCodeAbort:            eName = "EExcCodeAbort";            break;
      case EExcMaxNumber:            eName = "EExcMaxNumber";            break;
      case EExcInvalidVector:        eName = "EExcInvalidVector";        break;
      }
      if(0 == strncmp(tName, "Wayfinder", strlen("Wayfinder"))){
         tName += strlen("Wayfinder");
      }
      log.error("Caught %s in thread %s", eName, tName);
   }
#else
   void logException(enum TExcType)
   {
      //do nothing
   }
#endif

   void exceptionHandler(enum TExcType arg)
   {
      logException(arg);
      class Thread* panicThread = Thread::currentThread();
      if( panicThread ){
         //starts a terminateandjoin process in the main thread.
         ::Panic(panicThread);
         panicThread->m_alive= false;
      }
      User::Exit(1);
   }
}

class isab::Thread*
isab::Thread::currentThread()
{
   // Get from TLS, stored in start_hook.
   isab::TlsGlobalData* globalData = getTlsGlobalData();
   if(globalData != NULL) {
      class InnerThread* innerThread = globalData->m_innerThread;
      return innerThread ? innerThread->getThread() : NULL;
   } else {
      return NULL;
   }
}

isab::Thread::Thread(const char* name) : m_alive(false)
{
   init(this, name);
}

isab::Thread::Thread(class Runnable* runnable,
                     const char* name) : m_alive(false)
{
   init(runnable, name);
}

void isab::Thread::init(class Runnable* runnable, const char* name)
{
   const char threadPrefix[] = "Wayfinder";
   char* wfname = new char[strlen(name) + sizeof(threadPrefix) + 4];
   strcpy(wfname, threadPrefix);
   strcat(wfname, name);
   m_innerThread = new InnerThread(this, runnable, wfname);
   delete[] wfname;
}

isab::Thread::~Thread()
{
   delete m_innerThread;
}

int
isab::Thread::start()
{
   return m_innerThread->start();
}

void
isab::Thread::terminate()
{
   // Send the terminate on to the runnable if
   // it isn't this thread.
   if ( this != m_innerThread->getRunnable() ) {
      m_innerThread->getRunnable()->terminate();
   }
}

void isab::Thread::Kill(int reason, class Thread* originator)
{
   if(this != originator){
      m_innerThread->getHandle().Kill(reason);
      m_alive = false;
   }
}

bool
isab::Thread::isAlive()
{
   class Synchronized sync(m_mutex);
   return m_alive;
}

class TTimeIntervalMicroSeconds32 CreateInterval(long millis, int nanos)
{
  if ( millis > MAX_INT32 ) {
     millis = MAX_INT32;
     nanos = 0; // Avoid overflow
  }
  if ( millis*1000 < millis ) { // Overflow
     millis = MAX_INT32 / 1000;
     nanos = 0; // Avoid overflow
  }

  class TTimeIntervalMicroSeconds32 interval = millis*1000 + nanos/1000;
  return interval;
}

int
isab::Thread::join(long millis, int nanos)
{
   // Hmm. If we join ourselves we should return, I think.
   if ( ThreadID::currentThreadID() == m_innerThread->getID() ) {
      return Thread::PROPER_JOIN;
   }
   if ( ! isAlive() ) {
      return Thread::PROPER_JOIN;
   }

   // Logon request
   // Logon: When this thread dies, the request completes and
   // status is set.
   class TRequestStatus status;
   m_innerThread->getHandle().Logon( status );
   if ( ! isAlive() ) {
      m_innerThread->getHandle().LogonCancel( status );
      User::WaitForRequest( status );
      return Thread::PROPER_JOIN;
   }

   // Timer request
   class RTimer timer;
   if ( timer.CreateLocal() != KErrNone ) {
      // Error
      timer.Close();
      m_innerThread->getHandle().LogonCancel( status );
      User::WaitForRequest( status );
      return Thread::FAIL;
   }
   class TRequestStatus statusTimer;
   class TTimeIntervalMicroSeconds32 interval = CreateInterval(millis, nanos);
   timer.After( statusTimer, interval );

   // Wait for logon or timer to return
   User::WaitForRequest( status, statusTimer );

   if ( statusTimer == KRequestPending ) { // Not timer that returned
       timer.Cancel(); // Cancels any outstanding request for a timer event
       User::WaitForRequest(statusTimer);
       timer.Close(); // Release timer

      if ( status == KErrCancel ) {
         return Thread::TIME_OUT;
      } else if ( status == KErrNoMemory ) {
         return Thread::JOIN_FAIL;
      } else {
         // One of TExitType
         if ( status == EExitKill || status == EExitTerminate ||
              status == EExitPanic ){
            // Dead somehow
            return Thread::PROPER_JOIN;
         } else if ( status == EExitPending ) { // Still Alive!
            return Thread::TIME_OUT;
         } else {
            // Should never come here, but...
            return Thread::PROPER_JOIN;
         }
      }
   } else { // Timer is set
      // Unset Logon request
      m_innerThread->getHandle().LogonCancel( status );
      User::WaitForRequest(status); //not really necessary ???
      timer.Cancel(); // Cancels any outstanding request for a timer event
      timer.Close(); // Release timer

      if ( statusTimer == KErrNone ) {
         return Thread::TIME_OUT;
      } else {
         return Thread::JOIN_FAIL;
      }
   }
}

int
isab::Thread::sleep(long millis, int nanos)
{
    class RTimer timer;
    if ( timer.CreateLocal() != KErrNone ) {
        // Error
        timer.Close();
        return Thread::FAIL;
    }

    class TRequestStatus status;
    class TTimeIntervalMicroSeconds32 interval = CreateInterval(millis, nanos);
    timer.After( status, interval );
    User::WaitForRequest( status );
    timer.Close();

    if ( status == KErrNone ) {
        return AWOKE;
    } else {
        return FAIL;
    }
}

void
isab::Thread::yield()
{
   // Sleep 0 might work as yield.
   sleep(0, 0);
}

const char*
isab::Thread::getName() const
{
   return m_innerThread->getName();
}

int isab::Thread::getThreadInfo(char* data, int dataLength)
{
   return m_innerThread->getThreadInfo(data, dataLength);
}


text:
package org.assertj.core.internal.booleanarrays;

import static org.assertj.core.error.ShouldContainOnly.shouldContainOnly;
import static org.assertj.core.internal.ErrorMessages.valuesToLookForIsNull;
import static org.assertj.core.test.BooleanArrays.arrayOf;
import static org.assertj.core.test.BooleanArrays.emptyArray;
import static org.assertj.core.test.TestData.someInfo;
import static org.assertj.core.test.TestFailures.failBecauseExpectedAssertionErrorWasNotThrown;
import static org.assertj.core.util.FailureMessages.actualIsNull;
import static org.assertj.core.util.Lists.newArrayList;
import static org.mockito.Mockito.verify;

import org.assertj.core.api.AssertionInfo;
import org.assertj.core.internal.BooleanArrays;
import org.assertj.core.internal.BooleanArraysBaseTest;
import org.junit.Test;

/**
 * Tests for <code>{@link BooleanArrays#assertContainsOnly(AssertionInfo, boolean[], boolean[])}</code>.
 *
 * @author Alex Ruiz
 * @author Joel Costigliola
 */
public class BooleanArrays_assertContainsOnly_Test extends BooleanArraysBaseTest {

  @Test
  public void should_pass_if_actual_contains_given_values_only() {
    arrays.assertContainsOnly(someInfo(), actual, arrayOf(true, false));
  }

  @Test
  public void should_pass_if_actual_contains_given_values_only_in_different_order() {
    arrays.assertContainsOnly(someInfo(), actual, arrayOf(false, true));
  }

  @Test
  public void should_pass_if_actual_contains_given_values_only_more_than_once() {
    actual = arrayOf(true, false, true, false);
    arrays.assertContainsOnly(someInfo(), actual, arrayOf(true, false));
  }

  @Test
  public void should_pass_if_actual_contains_given_values_only_even_if_duplicated() {
    arrays.assertContainsOnly(someInfo(), actual, arrayOf(true, false, true, false));
  }

  @Test
  public void should_pass_if_actual_and_given_values_are_empty() {
    actual = emptyArray();
    arrays.assertContainsOnly(someInfo(), actual, emptyArray());
  }

  @Test
  public void should_fail_if_array_of_values_to_look_for_is_empty_and_actual_is_not() {
    thrown.expectAssertionError();
    arrays.assertContainsOnly(someInfo(), actual, emptyArray());
  }

  @Test
  public void should_throw_error_if_array_of_values_to_look_for_is_null() {
    thrown.expectNullPointerException(valuesToLookForIsNull());
    arrays.assertContainsOnly(someInfo(), actual, null);
  }

  @Test
  public void should_fail_if_actual_is_null() {
    thrown.expectAssertionError(actualIsNull());
    arrays.assertContainsOnly(someInfo(), null, arrayOf(true));
  }

  @Test
  public void should_fail_if_actual_does_not_contain_given_values_only() {
    AssertionInfo info = someInfo();
    actual = arrayOf(true);
    boolean[] expected = { false };
    try {
      arrays.assertContainsOnly(info, actual, expected);
    } catch (AssertionError e) {
      verify(failures).failure(info, shouldContainOnly(actual, expected, newArrayList(false), newArrayList(true)));
      return;
    }
    failBecauseExpectedAssertionErrorWasNotThrown();
  }
}


text:
export default (image) =>
  `url(/images/${image})`


text:
**[ [TOC](../README.md) ]**

***Reproduced by [Grigori Fursin](https://cKnowledge.io/@gfursin) on 20210428***

# MLPerf™ Inference v1.0 - Object Detection - TFLite

* Platform: RPi4
* OS: Ubuntu 20.04 64-but

## Prerequisites

### System packages

Install system packages for [RPi4 Ubuntu](../platform/rpi4-ubuntu.md).

### Install Collective Knowledge (CK)

Please follow the [installation instructions](https://github.com/mlcommons/ck#installation) for your system e.g.:

```bash
$ python3 -m pip install ck --user
$ echo "export PATH=$HOME/.local/bin:$PATH" >> ~/.bashrc
$ source ~/.bashrc && ck version
```

Note that you need GCC 9+!

## Pull [CK MLOps repository]( https://github.com/mlcommons/ck-mlops )

```bash
ck pull repo:mlcommons@ck-mlops
```

### Set up CK environment

```
ck detect platform.os --platform_init_uoa=generic-linux-dummy
ck detect soft:compiler.python --full_path=`which ${PYTHON_EXE}`

ck detect soft:compiler.gcc --full_path=`which gcc`
```

### Install common CK packages
```
ck install package --tags=tool,cmake
ck install package --tags=lib,python-package,absl
ck install package --tags=lib,python-package,numpy

ck install package --tags=mlperf,inference,src,r1.0
ck install package --tags=lib,mlperf,loadgen,static
```

### Install COCO 2017 val dataset (5000 images) and

```
ck install package --tags=tool,coco,api
ck install package --tags=lib,python-package,cv2,opencv-python-headless
ck install package --ask --tags=dataset,coco,val,2017
```

## Setup for RPi4 CPU

### Install CK packages explicitly

~30 min to build

```
ck install package --tags=dataset,object-detection,preprocessed,full,side.300
ck install package --tags=model,tflite,object-detection,ssd-mobilenet,non-quantized

ck install package --tags=api,model,tensorflow,r2.3.0

ck install package --tags=lib,tflite,via-cmake,v2.4.2,with.ruy --env.CK_HOST_CPU_NUMBER_OF_PROCESSORS=2
```

### Run experiments (via native CK program workflow)

#### Accuracy

```bash
ck benchmark program:object-detection-tflite-loadgen \
     --env.CK_SILENT_MODE=YES \
     --skip_print_timers \
     --dep_add_tags.compiler=gcc,v9 \
     --dep_add_tags.python=v3 \
     --dep_add_tags.weights=ssd-mobilenet,non-quantized \
     --dep_add_tags.dataset=dataset,object-detection,preprocessed,full,using-pillow \
     --dep_add_tags.library=tflite,v2.4.2,with.ruy \
     --env.CK_LOADGEN_DATASET_SIZE=5000 \
     --env.CK_VERBOSE=0 \
     --env.CK_LOADGEN_SCENARIO=SingleStream \
     --env.CK_LOADGEN_MODE=AccuracyOnly \
     --env.CK_LOADGEN_TARGET_LATENCY=170 \
     --skip_stat_analysis \
     --process_multi_keys \
     --repetitions=1 \
     --record \
     --record_repo=local \
     --record_uoa=mlperf-closed-rpi4coral-tflite-v2.4.1-ruy-ssd-mobilenet-non-quantized-max_14.1_arm64-singlestream-performance-target_latency.170 \
     --tags=mlperf,division.closed,task.object-detection,platform.rpi4coral,inference_engine.tflite,inference_engine_version.v2.4.1,inference_engine_backend.ruy,scenario.singlestream,mode.performance,workload.ssd-mobilenet-non-quantized,preprocessed_using.pillow,target_latency.170
```

#### Performance

```bash
ck benchmark program:object-detection-tflite-loadgen \
     --env.CK_SILENT_MODE=YES \
     --skip_print_timers \
     --dep_add_tags.compiler=gcc,v9 \
     --dep_add_tags.python=v3 \
     --dep_add_tags.weights=ssd-mobilenet,non-quantized \
     --dep_add_tags.dataset=dataset,object-detection,preprocessed,full,using-pillow \
     --dep_add_tags.library=tflite,v2.4.2,with.ruy \
     --env.CK_LOADGEN_DATASET_SIZE=10 \
     --env.CK_VERBOSE=0 \
     --env.CK_LOADGEN_SCENARIO=SingleStream \
     --env.CK_LOADGEN_MODE=PerformanceOnly \
     --env.CK_LOADGEN_TARGET_LATENCY=170 \
     --skip_stat_analysis \
     --process_multi_keys \
     --repetitions=1 \
     --record \
     --record_repo=local \
     --record_uoa=mlperf-closed-rpi4coral-tflite-v2.4.1-ruy-ssd-mobilenet-non-quantized-max_14.1_arm64-singlestream-performance-target_latency.170 \
     --tags=mlperf,division.closed,task.object-detection,platform.rpi4coral,inference_engine.tflite,inference_engine_version.v2.4.1,inference_engine_backend.ruy,scenario.singlestream,mode.performance,workload.ssd-mobilenet-non-quantized,preprocessed_using.pillow,target_latency.170
```

### Run experiments (via cmdgen)

#### Performance

```
ck run cmdgen:benchmark.object-detection.tflite-loadgen --verbose \
   --library=tflite-v2.4.2-ruy \
   --model=non-quantized \
   --scenario=singlestream \
   --mode=performance \
   --target_latency=170 \
   --sut=rpi4coral

```

#### Accuracy
```
ck run cmdgen:benchmark.object-detection.tflite-loadgen --verbose \
   --library=tflite-v2.4.2-ruy \
   --model=non-quantized \
   --scenario=singlestream \
   --mode=accuracy \
   --dataset_size=5000 \
   --sut=rpi4coral

```

Sample result:
```
***************************************************************************************
Some statistics:

* Failed: no

* Binary size: 0
* Object size: 0

* Kernel repeat: 0

* Normalized time in sec. (min .. max): 0 .. 0

* Total time in us (min .. max): 0 .. 0

loading annotations into memory...
Done (t=2.39s)
creating index...
index created!
Loading and preparing results...
DONE (t=0.68s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=52.64s).
Accumulating evaluation results...
DONE (t=8.79s).
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.224
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.341
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.247
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.015
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.160
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.515
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.203
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.255
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.255
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.019
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.182
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.593
mAP=22.350%
==========================================================================================

```

#### Compliance

```
ck run cmdgen:benchmark.object-detection.tflite-loadgen --verbose \
   --library=tflite-v2.4.2-ruy \
   --model=non-quantized \
   --scenario=singlestream \
   --target_latency=170 \
   --compliance,=TEST04-A,TEST04-B,TEST01,TEST05 \
   --sut=rpi4coral

```

## Notes

* https://github.com/mlcommons/inference_results_v0.7/tree/master/closed/Dividiti/measurements/rpi4coral-tflite-v2.2.0-ruy/ssd-mobilenet-non-quantized/singlestream
* https://mlcommons.org/en/inference-edge-07/
* https://mlcommons.org/en/inference-edge-10/
* https://github.com/mlcommons/inference_results_v1.0/blob/master/open/Krai/measurements/rpi4coral-fan.on-tflite-v2.4.1-ruy/efficientnet-lite0-non-quantized/singlestream/README.md#mobilenet_v3


text:
package com.tts.component.redis;

/**
 * Created by zhaoqi on 2016/8/11 0011.
 */
public class GracefulZsetOperation {
}


text:
package mireka.transmission.immediate;

import mireka.smtp.EnhancedStatus;
import mireka.smtp.client.MtaAddress;

/**
 * Indicates that the specific host, must not be connected at this time, because
 * there are too many open connections to it or it recently failed. It can also
 * indicate that all hosts of a domain has such problems. In such cases the
 * transmission must be postponed. Note that this does not count as a retry in
 * SMTP terms, because the connection have not even attempted.
 */
public class PostponeException extends Exception {
    private static final long serialVersionUID = 9171565056859085240L;
    private final int recommendedDelay;
    private final EnhancedStatus enhancedStatus;
    private MtaAddress remoteMta;

    /**
     * Construct a new exception without a remote MTA, which must be set later.
     */
    public PostponeException(int recommendedDelay,
            EnhancedStatus enhancedStatus, String message) {
        super(message);
        this.recommendedDelay = recommendedDelay;
        this.enhancedStatus = enhancedStatus;
    }

    /**
     * Returns the recommended delay until the host will likely become
     * available, in seconds.
     */
    public int getRecommendedDelay() {
        return recommendedDelay;
    }

    /**
     * Returns the enhanced status which should be reported if no more
     * postponing is possible.
     */
    public EnhancedStatus getEnhancedStatus() {
        return enhancedStatus;
    }

    /**
     * Sets the remote MTA which will be returned by {@link #getRemoteMta()}
     */
    public void setRemoteMta(MtaAddress remoteMta) {
        this.remoteMta = remoteMta;
    }

    /**
     * Returns the remote MTA for which the connection must be postponed.
     */
    public MtaAddress getRemoteMta() {
        return remoteMta;
    }

}


text:
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using Microsoft.Azure.WebJobs.Host.Blobs;
using Microsoft.Azure.WebJobs.Host.TestCommon;
using Xunit;
using Xunit.Extensions;

namespace Microsoft.Azure.WebJobs.Host.UnitTests.Blobs
{
    public class BlobPathTests
    {
        [Fact]
        public void ParseAndValidate_IfInvalidContainerName_ThrowsFormatException()
        {
            ExceptionAssert.ThrowsFormat(() => BlobPath.ParseAndValidate(@"container-/blob"), "Invalid container name: container-");
        }

        [Fact]
        public void ParseAndValidate_IfBackslashInBlobName_ThrowsFormatException()
        {
            ExceptionAssert.ThrowsFormat(() => BlobPath.ParseAndValidate(@"container/my\name"), "The given blob name 'my\\name' contain illegal characters. A blob name cannot the following characters: '\\', '[' and ']'.");
        }

        [Fact]
        public void ParseAndValidate_IfOpenSquareBracketInBlobName_ThrowsFormatException()
        {
            ExceptionAssert.ThrowsFormat(() => BlobPath.ParseAndValidate(@"container/my[name"), "The given blob name 'my[name' contain illegal characters. A blob name cannot the following characters: '\\', '[' and ']'.");
        }

        [Fact]
        public void ParseAndValidate_IfCloseSquareBracketInBlobName_ThrowsFormatException()
        {
            ExceptionAssert.ThrowsFormat(() => BlobPath.ParseAndValidate(@"container/my]name"), "The given blob name 'my]name' contain illegal characters. A blob name cannot the following characters: '\\', '[' and ']'.");
        }

        [Fact]
        public void ParseAndValidate_IfHierarchicalBlobName_ReturnsBlobPath()
        {
            BlobPath blobPath = BlobPath.ParseAndValidate(@"container/my/blob");

            Assert.NotNull(blobPath);
        }

        [Fact]
        public void ToString_BlobPath_ReturnsExpectedResult()
        {
            BlobPath path = BlobPath.Parse("container/blob", false);
            Assert.Equal("container/blob", path.ToString());

            path = BlobPath.Parse("container", true);
            Assert.Equal("container", path.ToString());

            path = new BlobPath("container", null);
            Assert.Equal("container", path.ToString());
        }
    }
}


text:
// Lucene version compatibility level 4.8.1
using J2N;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Util;
using Lucene.Net.Util.Automaton;
using NUnit.Framework;
using RandomizedTesting.Generators;
using System;
using System.IO;

namespace Lucene.Net.Analysis.Core
{

    /// <summary>
    /// Compares MockTokenizer (which is simple with no optimizations) with equivalent
    /// core tokenizers (that have optimizations like buffering).
    ///
    /// Any tests here need to probably consider unicode version of the JRE (it could
    /// cause false fails).
    /// </summary>
    public class TestDuelingAnalyzers : LuceneTestCase
    {
        private CharacterRunAutomaton jvmLetter;

        public override void SetUp()
        {
            base.SetUp();
            // build an automaton matching this jvm's letter definition
            State initial = new State();
            State accept = new State();
            accept.Accept = true;
            for (int i = 0; i <= 0x10FFFF; i++)
            {
                if (Character.IsLetter(i))
                {
                    initial.AddTransition(new Transition(i, i, accept));
                }
            }
            Automaton single = new Automaton(initial);
            single.Reduce();
            Automaton repeat = BasicOperations.Repeat(single);
            jvmLetter = new CharacterRunAutomaton(repeat);
        }

        [Test]
        public virtual void TestLetterAscii()
        {
            Random random = Random;
            Analyzer left = new MockAnalyzer(random, jvmLetter, false);
            Analyzer right = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
            {
                Tokenizer tokenizer = new LetterTokenizer(TEST_VERSION_CURRENT, reader);
                return new TokenStreamComponents(tokenizer, tokenizer);
            });
            for (int i = 0; i < 1000; i++)
            {
                string s = TestUtil.RandomSimpleString(random);
                assertEquals(s, left.GetTokenStream("foo", newStringReader(s)), right.GetTokenStream("foo", newStringReader(s)));
            }
        }

        // not so useful since its all one token?!
        [Test]
        public virtual void TestLetterAsciiHuge()
        {
            Random random = Random;
            int maxLength = 8192; // CharTokenizer.IO_BUFFER_SIZE*2
            MockAnalyzer left = new MockAnalyzer(random, jvmLetter, false);
            left.MaxTokenLength = 255; // match CharTokenizer's max token length
            Analyzer right = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
            {
                Tokenizer tokenizer = new LetterTokenizer(TEST_VERSION_CURRENT, reader);
                return new TokenStreamComponents(tokenizer, tokenizer);
            });
            int numIterations = AtLeast(50);
            for (int i = 0; i < numIterations; i++)
            {
                string s = TestUtil.RandomSimpleString(random, maxLength);
                assertEquals(s, left.GetTokenStream("foo", newStringReader(s)), right.GetTokenStream("foo", newStringReader(s)));
            }
        }

        [Test]
        public virtual void TestLetterHtmlish()
        {
            Random random = Random;
            Analyzer left = new MockAnalyzer(random, jvmLetter, false);
            Analyzer right = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
            {
                Tokenizer tokenizer = new LetterTokenizer(TEST_VERSION_CURRENT, reader);
                return new TokenStreamComponents(tokenizer, tokenizer);
            });
            for (int i = 0; i < 1000; i++)
            {
                string s = TestUtil.RandomHtmlishString(random, 20);
                assertEquals(s, left.GetTokenStream("foo", newStringReader(s)), right.GetTokenStream("foo", newStringReader(s)));
            }
        }

        [Test]
        public virtual void TestLetterHtmlishHuge()
        {
            Random random = Random;
            int maxLength = 1024; // this is number of elements, not chars!
            MockAnalyzer left = new MockAnalyzer(random, jvmLetter, false);
            left.MaxTokenLength = 255; // match CharTokenizer's max token length
            Analyzer right = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
            {
                Tokenizer tokenizer = new LetterTokenizer(TEST_VERSION_CURRENT, reader);
                return new TokenStreamComponents(tokenizer, tokenizer);
            });
            int numIterations = AtLeast(50);
            for (int i = 0; i < numIterations; i++)
            {
                string s = TestUtil.RandomHtmlishString(random, maxLength);
                assertEquals(s, left.GetTokenStream("foo", newStringReader(s)), right.GetTokenStream("foo", newStringReader(s)));
            }
        }

        [Test]
        public virtual void TestLetterUnicode()
        {
            Random random = Random;
            Analyzer left = new MockAnalyzer(LuceneTestCase.Random, jvmLetter, false);
            Analyzer right = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
            {
                Tokenizer tokenizer = new LetterTokenizer(TEST_VERSION_CURRENT, reader);
                return new TokenStreamComponents(tokenizer, tokenizer);
            });
            for (int i = 0; i < 1000; i++)
            {
                string s = TestUtil.RandomUnicodeString(random);
                assertEquals(s, left.GetTokenStream("foo", newStringReader(s)), right.GetTokenStream("foo", newStringReader(s)));
            }
        }

        [Test]
        public virtual void TestLetterUnicodeHuge()
        {
            Random random = Random;
            int maxLength = 4300; // CharTokenizer.IO_BUFFER_SIZE + fudge
            MockAnalyzer left = new MockAnalyzer(random, jvmLetter, false);
            left.MaxTokenLength = 255; // match CharTokenizer's max token length
            Analyzer right = Analyzer.NewAnonymous(createComponents: (fieldName, reader) =>
            {
                Tokenizer tokenizer = new LetterTokenizer(TEST_VERSION_CURRENT, reader);
                return new TokenStreamComponents(tokenizer, tokenizer);
            });
            int numIterations = AtLeast(50);
            for (int i = 0; i < numIterations; i++)
            {
                string s = TestUtil.RandomUnicodeString(random, maxLength);
                assertEquals(s, left.GetTokenStream("foo", newStringReader(s)), right.GetTokenStream("foo", newStringReader(s)));
            }
        }

        // we only check a few core attributes here.
        // TODO: test other things
        public virtual void assertEquals(string s, TokenStream left, TokenStream right)
        {
            left.Reset();
            right.Reset();
            ICharTermAttribute leftTerm = left.AddAttribute<ICharTermAttribute>();
            ICharTermAttribute rightTerm = right.AddAttribute<ICharTermAttribute>();
            IOffsetAttribute leftOffset = left.AddAttribute<IOffsetAttribute>();
            IOffsetAttribute rightOffset = right.AddAttribute<IOffsetAttribute>();
            IPositionIncrementAttribute leftPos = left.AddAttribute<IPositionIncrementAttribute>();
            IPositionIncrementAttribute rightPos = right.AddAttribute<IPositionIncrementAttribute>();

            while (left.IncrementToken())
            {
                assertTrue("wrong number of tokens for input: " + s, right.IncrementToken());
                assertEquals("wrong term text for input: " + s, leftTerm.ToString(), rightTerm.ToString());
                assertEquals("wrong position for input: " + s, leftPos.PositionIncrement, rightPos.PositionIncrement);
                assertEquals("wrong start offset for input: " + s, leftOffset.StartOffset, rightOffset.StartOffset);
                assertEquals("wrong end offset for input: " + s, leftOffset.EndOffset, rightOffset.EndOffset);
            };
            assertFalse("wrong number of tokens for input: " + s, right.IncrementToken());
            left.End();
            right.End();
            assertEquals("wrong final offset for input: " + s, leftOffset.EndOffset, rightOffset.EndOffset);
            left.Dispose();
            right.Dispose();
        }

        // TODO: maybe push this out to TestUtil or LuceneTestCase and always use it instead?
        private static TextReader newStringReader(string s)
        {
            Random random = Random;
            TextReader r = new StringReader(s);
            if (random.NextBoolean())
            {
                r = new MockReaderWrapper(random, r);
            }
            return r;
        }
    }
}


text:
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2013.07.27 at 08:11:57 PM EEST
//

package uk.org.siri.siri;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.Duration;

/**
 * Type for Vehicle Monitoring Capabilities
 *
 *
Java class for FacilityMonitoringServiceCapabilitiesStructure complex type.
 *
 *
The following schema fragment specifies the expected content contained within this class.
 *
 *

 * <complexType name="FacilityMonitoringServiceCapabilitiesStructure">
 *   <complexContent>
 *     <extension base="{http://www.siri.org.uk/siri}AbstractCapabilitiesStructure">
 *       <sequence>
 *         <element name="TopicFiltering" minOccurs="0">
 *           <complexType>
 *             <complexContent>
 *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 <sequence>
 *                   <element name="DefaultPreviewInterval" type="{http://www.siri.org.uk/siri}PositiveDurationType"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByFacilityRef"/>
 *                   <element name="FilterByLocationRef" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByVehicleRef" minOccurs="0"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByLineRef" minOccurs="0"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByStopPointRef" minOccurs="0"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByVehicleJourneyRef" minOccurs="0"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByConnectionLinkRef" minOccurs="0"/>
 *                   <element ref="{http://www.siri.org.uk/siri}FilterByInterchangeRef" minOccurs="0"/>
 *                   <element name="FilterBySpecificNeed" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *                 </sequence>
 *               </restriction>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *         <element name="RequestPolicy" minOccurs="0">
 *           <complexType>
 *             <complexContent>
 *               <extension base="{http://www.siri.org.uk/siri}CapabilityRequestPolicyStructure">
 *                 <sequence>
 *                   <group ref="{http://www.siri.org.uk/siri}FacilityMonitoringVolumeGroup"/>
 *                 </sequence>
 *               </extension>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *         <element name="SubscriptionPolicy" type="{http://www.siri.org.uk/siri}CapabilitySubscriptionPolicyStructure" minOccurs="0"/>
 *         <element name="AccessControl" minOccurs="0">
 *           <complexType>
 *             <complexContent>
 *               <extension base="{http://www.siri.org.uk/siri}CapabilityAccessControlStructure">
 *                 <sequence>
 *                   <element ref="{http://www.siri.org.uk/siri}CheckOperatorRef" minOccurs="0"/>
 *                   <element ref="{http://www.siri.org.uk/siri}CheckLineRef" minOccurs="0"/>
 *                 </sequence>
 *               </extension>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *         <element name="ResponseFeatures" minOccurs="0">
 *           <complexType>
 *             <complexContent>
 *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *                 <sequence>
 *                   <element name="HasRemedy" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *                   <element name="HasFacilityLocation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *                 </sequence>
 *               </restriction>
 *             </complexContent>
 *           </complexType>
 *         </element>
 *         <element ref="{http://www.siri.org.uk/siri}Extensions" minOccurs="0"/>
 *       </sequence>
 *     </extension>
 *   </complexContent>
 * </complexType>
 *

 *
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "FacilityMonitoringServiceCapabilitiesStructure", propOrder = {
    "topicFiltering",
    "requestPolicy",
    "subscriptionPolicy",
    "accessControl",
    "responseFeatures",
    "extensions"
})
public class FacilityMonitoringServiceCapabilitiesStructure
    extends AbstractCapabilitiesStructure
{

    @XmlElement(name = "TopicFiltering")
    protected FacilityMonitoringServiceCapabilitiesStructure.TopicFiltering topicFiltering;
    @XmlElement(name = "RequestPolicy")
    protected FacilityMonitoringServiceCapabilitiesStructure.RequestPolicy requestPolicy;
    @XmlElement(name = "SubscriptionPolicy")
    protected CapabilitySubscriptionPolicyStructure subscriptionPolicy;
    @XmlElement(name = "AccessControl")
    protected FacilityMonitoringServiceCapabilitiesStructure.AccessControl accessControl;
    @XmlElement(name = "ResponseFeatures")
    protected FacilityMonitoringServiceCapabilitiesStructure.ResponseFeatures responseFeatures;
    @XmlElement(name = "Extensions")
    protected ExtensionsStructure extensions;

    /**
     * Gets the value of the topicFiltering property.
     *
     * @return
     *     possible object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.TopicFiltering }
     *
     */
    public FacilityMonitoringServiceCapabilitiesStructure.TopicFiltering getTopicFiltering() {
        return topicFiltering;
    }

    /**
     * Sets the value of the topicFiltering property.
     *
     * @param value
     *     allowed object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.TopicFiltering }
     *
     */
    public void setTopicFiltering(FacilityMonitoringServiceCapabilitiesStructure.TopicFiltering value) {
        this.topicFiltering = value;
    }

    /**
     * Gets the value of the requestPolicy property.
     *
     * @return
     *     possible object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.RequestPolicy }
     *
     */
    public FacilityMonitoringServiceCapabilitiesStructure.RequestPolicy getRequestPolicy() {
        return requestPolicy;
    }

    /**
     * Sets the value of the requestPolicy property.
     *
     * @param value
     *     allowed object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.RequestPolicy }
     *
     */
    public void setRequestPolicy(FacilityMonitoringServiceCapabilitiesStructure.RequestPolicy value) {
        this.requestPolicy = value;
    }

    /**
     * Gets the value of the subscriptionPolicy property.
     *
     * @return
     *     possible object is
     *     {@link CapabilitySubscriptionPolicyStructure }
     *
     */
    public CapabilitySubscriptionPolicyStructure getSubscriptionPolicy() {
        return subscriptionPolicy;
    }

    /**
     * Sets the value of the subscriptionPolicy property.
     *
     * @param value
     *     allowed object is
     *     {@link CapabilitySubscriptionPolicyStructure }
     *
     */
    public void setSubscriptionPolicy(CapabilitySubscriptionPolicyStructure value) {
        this.subscriptionPolicy = value;
    }

    /**
     * Gets the value of the accessControl property.
     *
     * @return
     *     possible object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.AccessControl }
     *
     */
    public FacilityMonitoringServiceCapabilitiesStructure.AccessControl getAccessControl() {
        return accessControl;
    }

    /**
     * Sets the value of the accessControl property.
     *
     * @param value
     *     allowed object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.AccessControl }
     *
     */
    public void setAccessControl(FacilityMonitoringServiceCapabilitiesStructure.AccessControl value) {
        this.accessControl = value;
    }

    /**
     * Gets the value of the responseFeatures property.
     *
     * @return
     *     possible object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.ResponseFeatures }
     *
     */
    public FacilityMonitoringServiceCapabilitiesStructure.ResponseFeatures getResponseFeatures() {
        return responseFeatures;
    }

    /**
     * Sets the value of the responseFeatures property.
     *
     * @param value
     *     allowed object is
     *     {@link FacilityMonitoringServiceCapabilitiesStructure.ResponseFeatures }
     *
     */
    public void setResponseFeatures(FacilityMonitoringServiceCapabilitiesStructure.ResponseFeatures value) {
        this.responseFeatures = value;
    }

    /**
     * Gets the value of the extensions property.
     *
     * @return
     *     possible object is
     *     {@link ExtensionsStructure }
     *
     */
    public ExtensionsStructure getExtensions() {
        return extensions;
    }

    /**
     * Sets the value of the extensions property.
     *
     * @param value
     *     allowed object is
     *     {@link ExtensionsStructure }
     *
     */
    public void setExtensions(ExtensionsStructure value) {
        this.extensions = value;
    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <extension base="{http://www.siri.org.uk/siri}CapabilityAccessControlStructure">
     *       <sequence>
     *         <element ref="{http://www.siri.org.uk/siri}CheckOperatorRef" minOccurs="0"/>
     *         <element ref="{http://www.siri.org.uk/siri}CheckLineRef" minOccurs="0"/>
     *       </sequence>
     *     </extension>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "checkOperatorRef",
        "checkLineRef"
    })
    public static class AccessControl
        extends CapabilityAccessControlStructure
    {

        @XmlElement(name = "CheckOperatorRef", defaultValue = "true")
        protected Boolean checkOperatorRef;
        @XmlElement(name = "CheckLineRef", defaultValue = "true")
        protected Boolean checkLineRef;

        /**
         * Gets the value of the checkOperatorRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isCheckOperatorRef() {
            return checkOperatorRef;
        }

        /**
         * Sets the value of the checkOperatorRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setCheckOperatorRef(Boolean value) {
            this.checkOperatorRef = value;
        }

        /**
         * Gets the value of the checkLineRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isCheckLineRef() {
            return checkLineRef;
        }

        /**
         * Sets the value of the checkLineRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setCheckLineRef(Boolean value) {
            this.checkLineRef = value;
        }

    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <extension base="{http://www.siri.org.uk/siri}CapabilityRequestPolicyStructure">
     *       <sequence>
     *         <group ref="{http://www.siri.org.uk/siri}FacilityMonitoringVolumeGroup"/>
     *       </sequence>
     *     </extension>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "hasMaximumFacilityStatus"
    })
    public static class RequestPolicy
        extends CapabilityRequestPolicyStructure
    {

        @XmlElement(name = "HasMaximumFacilityStatus", defaultValue = "false")
        protected Boolean hasMaximumFacilityStatus;

        /**
         * Gets the value of the hasMaximumFacilityStatus property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isHasMaximumFacilityStatus() {
            return hasMaximumFacilityStatus;
        }

        /**
         * Sets the value of the hasMaximumFacilityStatus property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setHasMaximumFacilityStatus(Boolean value) {
            this.hasMaximumFacilityStatus = value;
        }

    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       <sequence>
     *         <element name="HasRemedy" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
     *         <element name="HasFacilityLocation" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
     *       </sequence>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "hasRemedy",
        "hasFacilityLocation"
    })
    public static class ResponseFeatures {

        @XmlElement(name = "HasRemedy", defaultValue = "false")
        protected Boolean hasRemedy;
        @XmlElement(name = "HasFacilityLocation", defaultValue = "true")
        protected Boolean hasFacilityLocation;

        /**
         * Gets the value of the hasRemedy property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isHasRemedy() {
            return hasRemedy;
        }

        /**
         * Sets the value of the hasRemedy property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setHasRemedy(Boolean value) {
            this.hasRemedy = value;
        }

        /**
         * Gets the value of the hasFacilityLocation property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isHasFacilityLocation() {
            return hasFacilityLocation;
        }

        /**
         * Sets the value of the hasFacilityLocation property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setHasFacilityLocation(Boolean value) {
            this.hasFacilityLocation = value;
        }

    }

    /**
     *
Java class for anonymous complex type.
     *
     *
The following schema fragment specifies the expected content contained within this class.
     *
     *

     * <complexType>
     *   <complexContent>
     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
     *       <sequence>
     *         <element name="DefaultPreviewInterval" type="{http://www.siri.org.uk/siri}PositiveDurationType"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByFacilityRef"/>
     *         <element name="FilterByLocationRef" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByVehicleRef" minOccurs="0"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByLineRef" minOccurs="0"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByStopPointRef" minOccurs="0"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByVehicleJourneyRef" minOccurs="0"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByConnectionLinkRef" minOccurs="0"/>
     *         <element ref="{http://www.siri.org.uk/siri}FilterByInterchangeRef" minOccurs="0"/>
     *         <element name="FilterBySpecificNeed" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
     *       </sequence>
     *     </restriction>
     *   </complexContent>
     * </complexType>
     *

     *
     *
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "defaultPreviewInterval",
        "filterByFacilityRef",
        "filterByLocationRef",
        "filterByVehicleRef",
        "filterByLineRef",
        "filterByStopPointRef",
        "filterByVehicleJourneyRef",
        "filterByConnectionLinkRef",
        "filterByInterchangeRef",
        "filterBySpecificNeed"
    })
    public static class TopicFiltering {

        @XmlElement(name = "DefaultPreviewInterval", required = true, defaultValue = "PT60M")
        protected Duration defaultPreviewInterval;
        @XmlElement(name = "FilterByFacilityRef", defaultValue = "true")
        protected boolean filterByFacilityRef;
        @XmlElement(name = "FilterByLocationRef")
        protected boolean filterByLocationRef;
        @XmlElement(name = "FilterByVehicleRef", defaultValue = "false")
        protected Boolean filterByVehicleRef;
        @XmlElement(name = "FilterByLineRef", defaultValue = "true")
        protected Boolean filterByLineRef;
        @XmlElement(name = "FilterByStopPointRef", defaultValue = "true")
        protected Boolean filterByStopPointRef;
        @XmlElement(name = "FilterByVehicleJourneyRef", defaultValue = "false")
        protected Boolean filterByVehicleJourneyRef;
        @XmlElement(name = "FilterByConnectionLinkRef", defaultValue = "true")
        protected Boolean filterByConnectionLinkRef;
        @XmlElement(name = "FilterByInterchangeRef", defaultValue = "false")
        protected Boolean filterByInterchangeRef;
        @XmlElement(name = "FilterBySpecificNeed", defaultValue = "true")
        protected Boolean filterBySpecificNeed;

        /**
         * Gets the value of the defaultPreviewInterval property.
         *
         * @return
         *     possible object is
         *     {@link Duration }
         *
         */
        public Duration getDefaultPreviewInterval() {
            return defaultPreviewInterval;
        }

        /**
         * Sets the value of the defaultPreviewInterval property.
         *
         * @param value
         *     allowed object is
         *     {@link Duration }
         *
         */
        public void setDefaultPreviewInterval(Duration value) {
            this.defaultPreviewInterval = value;
        }

        /**
         * Gets the value of the filterByFacilityRef property.
         *
         */
        public boolean isFilterByFacilityRef() {
            return filterByFacilityRef;
        }

        /**
         * Sets the value of the filterByFacilityRef property.
         *
         */
        public void setFilterByFacilityRef(boolean value) {
            this.filterByFacilityRef = value;
        }

        /**
         * Gets the value of the filterByLocationRef property.
         *
         */
        public boolean isFilterByLocationRef() {
            return filterByLocationRef;
        }

        /**
         * Sets the value of the filterByLocationRef property.
         *
         */
        public void setFilterByLocationRef(boolean value) {
            this.filterByLocationRef = value;
        }

        /**
         * Gets the value of the filterByVehicleRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterByVehicleRef() {
            return filterByVehicleRef;
        }

        /**
         * Sets the value of the filterByVehicleRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterByVehicleRef(Boolean value) {
            this.filterByVehicleRef = value;
        }

        /**
         * Gets the value of the filterByLineRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterByLineRef() {
            return filterByLineRef;
        }

        /**
         * Sets the value of the filterByLineRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterByLineRef(Boolean value) {
            this.filterByLineRef = value;
        }

        /**
         * Gets the value of the filterByStopPointRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterByStopPointRef() {
            return filterByStopPointRef;
        }

        /**
         * Sets the value of the filterByStopPointRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterByStopPointRef(Boolean value) {
            this.filterByStopPointRef = value;
        }

        /**
         * Gets the value of the filterByVehicleJourneyRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterByVehicleJourneyRef() {
            return filterByVehicleJourneyRef;
        }

        /**
         * Sets the value of the filterByVehicleJourneyRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterByVehicleJourneyRef(Boolean value) {
            this.filterByVehicleJourneyRef = value;
        }

        /**
         * Gets the value of the filterByConnectionLinkRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterByConnectionLinkRef() {
            return filterByConnectionLinkRef;
        }

        /**
         * Sets the value of the filterByConnectionLinkRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterByConnectionLinkRef(Boolean value) {
            this.filterByConnectionLinkRef = value;
        }

        /**
         * Gets the value of the filterByInterchangeRef property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterByInterchangeRef() {
            return filterByInterchangeRef;
        }

        /**
         * Sets the value of the filterByInterchangeRef property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterByInterchangeRef(Boolean value) {
            this.filterByInterchangeRef = value;
        }

        /**
         * Gets the value of the filterBySpecificNeed property.
         *
         * @return
         *     possible object is
         *     {@link Boolean }
         *
         */
        public Boolean isFilterBySpecificNeed() {
            return filterBySpecificNeed;
        }

        /**
         * Sets the value of the filterBySpecificNeed property.
         *
         * @param value
         *     allowed object is
         *     {@link Boolean }
         *
         */
        public void setFilterBySpecificNeed(Boolean value) {
            this.filterBySpecificNeed = value;
        }

    }

}


text:
package cn.felord.wepay.ali.sdk.api.request;

import java.util.HashMap;
import java.util.Map;

import cn.felord.wepay.ali.sdk.api.FileItem;
import cn.felord.wepay.ali.sdk.api.AlipayUploadRequest;
import cn.felord.wepay.ali.sdk.api.internal.util.AlipayHashMap;
import cn.felord.wepay.ali.sdk.api.response.AlipayOpenPublicLifeCreateResponse;
import cn.felord.wepay.ali.sdk.api.AlipayObject;

/**
 * ALIPAY API: alipay.open.public.life.create request
 *
 * @author auto create
 * @version $Id: $Id
 */
public class AlipayOpenPublicLifeCreateRequest implements AlipayUploadRequest<AlipayOpenPublicLifeCreateResponse> {

	private AlipayHashMap udfParams; // add user-defined text parameters
	private String apiVersion="1.0";

	/**
	* 背景图片,需上传图片原始二进制流,此图片显示在支付宝客户端生活号主页上方背景图位置,后缀是jpg或者jpeg,图片大小限制1mb
	 */
	private FileItem background;

	/**
	* 联系人邮箱
	 */
	private String contactEmail;

	/**
	* 联系人姓名
	 */
	private String contactName;

	/**
	* 联系人电话
	 */
	private String contactTel;

	/**
	* 客服电话,可以是电话号码,手机号码,400电话
	 */
	private String customerTel;

	/**
	* 生活号简介,此内容显示在支付宝客户端生活号主页简介区块
	 */
	private String description;

	/**
	* 扩展数据JSON串
	 */
	private String extendData;

	/**
	* 生活号名称
	 */
	private String lifeName;

	/**
	* logo图片,需上传图片原始二进制流,此图片显示在支付宝客户端生活号主页上方位置,后缀是jpg或者jpeg,图片大小限制1mb,图片最小150px ,图片建议为是正方形
	 */
	private FileItem logo;

	/**
	* mcc code
	 */
	private String mccCode;

	/**
	* 目前只支持 LIFE_APP:应用号
	 */
	private String publicBizType;

	/**
	* 生活号前端展示类型
	 */
	private String showStyle;

	/**
	* 支付宝用户id,由支付宝同学提供用户id,为该生活号对应pid
	 */
	private String userId;

	/**
	 *
Setter for the field background.

	 *
	 * @param background a {@link cn.felord.wepay.ali.sdk.api.FileItem} object.
	 */
	public void setBackground(FileItem background) {
		this.background = background;
	}
	/**
	 *
Getter for the field background.

	 *
	 * @return a {@link cn.felord.wepay.ali.sdk.api.FileItem} object.
	 */
	public FileItem getBackground() {
		return this.background;
	}

	/**
	 *
Setter for the field contactEmail.

	 *
	 * @param contactEmail a {@link java.lang.String} object.
	 */
	public void setContactEmail(String contactEmail) {
		this.contactEmail = contactEmail;
	}
	/**
	 *
Getter for the field contactEmail.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getContactEmail() {
		return this.contactEmail;
	}

	/**
	 *
Setter for the field contactName.

	 *
	 * @param contactName a {@link java.lang.String} object.
	 */
	public void setContactName(String contactName) {
		this.contactName = contactName;
	}
	/**
	 *
Getter for the field contactName.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getContactName() {
		return this.contactName;
	}

	/**
	 *
Setter for the field contactTel.

	 *
	 * @param contactTel a {@link java.lang.String} object.
	 */
	public void setContactTel(String contactTel) {
		this.contactTel = contactTel;
	}
	/**
	 *
Getter for the field contactTel.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getContactTel() {
		return this.contactTel;
	}

	/**
	 *
Setter for the field customerTel.

	 *
	 * @param customerTel a {@link java.lang.String} object.
	 */
	public void setCustomerTel(String customerTel) {
		this.customerTel = customerTel;
	}
	/**
	 *
Getter for the field customerTel.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getCustomerTel() {
		return this.customerTel;
	}

	/**
	 *
Setter for the field description.

	 *
	 * @param description a {@link java.lang.String} object.
	 */
	public void setDescription(String description) {
		this.description = description;
	}
	/**
	 *
Getter for the field description.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getDescription() {
		return this.description;
	}

	/**
	 *
Setter for the field extendData.

	 *
	 * @param extendData a {@link java.lang.String} object.
	 */
	public void setExtendData(String extendData) {
		this.extendData = extendData;
	}
	/**
	 *
Getter for the field extendData.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getExtendData() {
		return this.extendData;
	}

	/**
	 *
Setter for the field lifeName.

	 *
	 * @param lifeName a {@link java.lang.String} object.
	 */
	public void setLifeName(String lifeName) {
		this.lifeName = lifeName;
	}
	/**
	 *
Getter for the field lifeName.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getLifeName() {
		return this.lifeName;
	}

	/**
	 *
Setter for the field logo.

	 *
	 * @param logo a {@link cn.felord.wepay.ali.sdk.api.FileItem} object.
	 */
	public void setLogo(FileItem logo) {
		this.logo = logo;
	}
	/**
	 *
Getter for the field logo.

	 *
	 * @return a {@link cn.felord.wepay.ali.sdk.api.FileItem} object.
	 */
	public FileItem getLogo() {
		return this.logo;
	}

	/**
	 *
Setter for the field mccCode.

	 *
	 * @param mccCode a {@link java.lang.String} object.
	 */
	public void setMccCode(String mccCode) {
		this.mccCode = mccCode;
	}
	/**
	 *
Getter for the field mccCode.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getMccCode() {
		return this.mccCode;
	}

	/**
	 *
Setter for the field publicBizType.

	 *
	 * @param publicBizType a {@link java.lang.String} object.
	 */
	public void setPublicBizType(String publicBizType) {
		this.publicBizType = publicBizType;
	}
	/**
	 *
Getter for the field publicBizType.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getPublicBizType() {
		return this.publicBizType;
	}

	/**
	 *
Setter for the field showStyle.

	 *
	 * @param showStyle a {@link java.lang.String} object.
	 */
	public void setShowStyle(String showStyle) {
		this.showStyle = showStyle;
	}
	/**
	 *
Getter for the field showStyle.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getShowStyle() {
		return this.showStyle;
	}

	/**
	 *
Setter for the field userId.

	 *
	 * @param userId a {@link java.lang.String} object.
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}
	/**
	 *
Getter for the field userId.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getUserId() {
		return this.userId;
	}
	private String terminalType;
	private String terminalInfo;
	private String prodCode;
	private String notifyUrl;
	private String returnUrl;
    private boolean needEncrypt=false;
	private AlipayObject bizModel=null;

	/**
	 *
Getter for the field notifyUrl.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getNotifyUrl() {
		return this.notifyUrl;
	}

	/** {@inheritDoc} */
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	/**
	 *
Getter for the field returnUrl.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getReturnUrl() {
		return this.returnUrl;
	}

	/** {@inheritDoc} */
	public void setReturnUrl(String returnUrl) {
		this.returnUrl = returnUrl;
	}

	/**
	 *
Getter for the field apiVersion.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getApiVersion() {
		return this.apiVersion;
	}
	/** {@inheritDoc} */
	public void setApiVersion(String apiVersion) {
		this.apiVersion = apiVersion;
	}

	/** {@inheritDoc} */
	public void setTerminalType(String terminalType){
		this.terminalType=terminalType;
	}

    /**
     *
Getter for the field terminalType.

     *
     * @return a {@link java.lang.String} object.
     */
    public String getTerminalType(){
    	return this.terminalType;
    }

    /** {@inheritDoc} */
    public void setTerminalInfo(String terminalInfo){
    	this.terminalInfo=terminalInfo;
    }

    /**
     *
Getter for the field terminalInfo.

     *
     * @return a {@link java.lang.String} object.
     */
    public String getTerminalInfo(){
    	return this.terminalInfo;
    }

	/**
	 *
Getter for the field prodCode.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getProdCode() {
		return this.prodCode;
	}

	/** {@inheritDoc} */
	public void setProdCode(String prodCode) {
		this.prodCode=prodCode;
	}

	/**
	 *
getApiMethodName.

	 *
	 * @return a {@link java.lang.String} object.
	 */
	public String getApiMethodName() {
		return "alipay.open.public.life.create";
	}

	/**
	 *
getTextParams.

	 *
	 * @return a {@link java.util.Map} object.
	 */
	public Map<String, String> getTextParams() {
		AlipayHashMap txtParams = new AlipayHashMap();
		txtParams.put("contact_email", this.contactEmail);
		txtParams.put("contact_name", this.contactName);
		txtParams.put("contact_tel", this.contactTel);
		txtParams.put("customer_tel", this.customerTel);
		txtParams.put("description", this.description);
		txtParams.put("extend_data", this.extendData);
		txtParams.put("life_name", this.lifeName);
		txtParams.put("mcc_code", this.mccCode);
		txtParams.put("public_biz_type", this.publicBizType);
		txtParams.put("show_style", this.showStyle);
		txtParams.put("user_id", this.userId);
		if(udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	/**
	 *
putOtherTextParam.

	 *
	 * @param key a {@link java.lang.String} object.
	 * @param value a {@link java.lang.String} object.
	 */
	public void putOtherTextParam(String key, String value) {
		if(this.udfParams == null) {
			this.udfParams = new AlipayHashMap();
		}
		this.udfParams.put(key, value);
	}

	/**
	 *
getFileParams.

	 *
	 * @return a {@link java.util.Map} object.
	 */
	public Map<String, FileItem> getFileParams() {
		Map<String, FileItem> params = new HashMap<String, FileItem>();
		params.put("background", this.background);
		params.put("logo", this.logo);
		return params;
	}

	/**
	 *
getResponseClass.

	 *
	 * @return a {@link java.lang.Class} object.
	 */
	public Class<AlipayOpenPublicLifeCreateResponse> getResponseClass() {
		return AlipayOpenPublicLifeCreateResponse.class;
	}

	 /**
	  *
isNeedEncrypt.

	  *
	  * @return a boolean.
	  */
	 public boolean isNeedEncrypt() {

      return this.needEncrypt;
    }

    /** {@inheritDoc} */
    public void setNeedEncrypt(boolean needEncrypt) {

         this.needEncrypt=needEncrypt;
    }

    /**
     *
Getter for the field bizModel.

     *
     * @return a {@link cn.felord.wepay.ali.sdk.api.AlipayObject} object.
     */
    public AlipayObject getBizModel() {

      return this.bizModel;
    }

    /** {@inheritDoc} */
    public void setBizModel(AlipayObject bizModel) {

         this.bizModel=bizModel;
    }

}


text:
package fr.xebia.workshop.git;

import static org.junit.Assert.assertEquals;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.FileUtils;
import org.custommonkey.xmlunit.Diff;
import org.custommonkey.xmlunit.XMLUnit;
import org.eclipse.jgit.api.AddCommand;
import org.eclipse.jgit.api.CommitCommand;
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.lib.Repository;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

@RunWith(MockitoJUnitRunner.class)
public class UpdatePomFileAndCommitTest {

    private static final Logger logger = LoggerFactory.getLogger(UpdatePomFileAndCommitTest.class);

    @Mock
    private Repository repository;
    @Mock
    private Git git;
    @Mock
    private AddCommand addCommand;
    @Mock
    private CommitCommand commitCommand;

    private File pomFile = new File("target/test-classes/git/project/pom.xml");
    private String pomContent;

    @Before
    public void mockGitBehavior() {
        when(git.getRepository()).thenReturn(repository);
        when(git.add()).thenReturn(addCommand);
        when(git.commit()).thenReturn(commitCommand);

        when(repository.getWorkTree()).thenReturn(new File("target/test-classes/git/project/"));

        when(addCommand.addFilepattern(anyString())).thenReturn(addCommand);

        when(commitCommand.setMessage(anyString())).thenReturn(commitCommand);
        when(commitCommand.setCommitter(anyString(), anyString())).thenReturn(commitCommand);
    }

    // prevents tests failures when the workspace is not cleaned between two tests
    @Before
    public void storeTargetPomContent() throws Exception {
        pomContent = FileUtils.readFileToString(pomFile);
    }

    @After
    public void restoreTargetPomContent() throws Exception {
        FileUtils.writeStringToFile(pomFile, pomContent);
    }

    @Test
    public void should_replace_group_id_in_pom_xml() throws Exception {
        // given
        UpdatePomFileAndCommit addTeamIdInPomGroupID = new UpdatePomFileAndCommit("team.test");

        GithubCreateRepositoryRequest createRepositoryRequest = new GithubCreateRepositoryRequest()
                .toRepositoryName("xebia-petclinic-team-test")
                .onAccountName("account");

        // when
        addTeamIdInPomGroupID.updateGitRepository(git, createRepositoryRequest);

        // then
        FileInputStream updatedPom = new FileInputStream(pomFile);
        InputStream referencePom = getClass().getResourceAsStream("/git/project/reference/pom.xml");
        Diff diff = makeDiff(referencePom, updatedPom);

        logger.info(diff.toString());
        assertEquals(true, diff.identical());
    }

    private Diff makeDiff(InputStream stream1, InputStream stream2) throws SAXException, IOException {
        XMLUnit.setIgnoreWhitespace(true);
        return XMLUnit.compareXML(new InputSource(stream1), new InputSource(stream2));
    }

    @Test
    public void should_add_and_commit_pom_xml() throws Exception {
        // given
        UpdatePomFileAndCommit addTeamIdInPomGroupID = new UpdatePomFileAndCommit("team.test");

        // when
        addTeamIdInPomGroupID.updateGitRepository(git, new GithubCreateRepositoryRequest());

        // then
        verify(addCommand, times(1)).addFilepattern("pom.xml");
        verify(addCommand, times(1)).call();
        verify(commitCommand).setMessage(UpdatePomFileAndCommit.COMMIT_MESSAGE);
        verify(commitCommand, times(1)).call();
    }

    @Test
    public void should_not_use_system_git_account() throws Exception {
        // given
        UpdatePomFileAndCommit addTeamIdInPomGroupID = new UpdatePomFileAndCommit("tEsT");

        // when
        addTeamIdInPomGroupID.updateGitRepository(git, new GithubCreateRepositoryRequest());
        verify(commitCommand).setCommitter("Team tEsT", "");
    }
}