当前位置: 首页>>代码示例>>Java>>正文


Java Pair类代码示例

本文整理汇总了Java中com.musala.atmosphere.commons.util.Pair的典型用法代码示例。如果您正苦于以下问题:Java Pair类的具体用法?Java Pair怎么用?Java Pair使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Pair类属于com.musala.atmosphere.commons.util包,在下文中一共展示了Pair类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: resolveTypeForRoutingAction

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
/**
 * Resolves the types of the arguments in some non-trivial cases (e. g. collections). Creates a {@link TypeToken}
 * according the {@link MessageAction} and {@link RoutingAction} of the response.
 */
private Type resolveTypeForRoutingAction(JsonElement typeElement,
                                         MessageAction messageAction,
                                         RoutingAction routingAction) {
    Type type = null;

    switch (messageAction) {
        case ROUTING_ACTION:
            type = resolve(typeElement, routingAction);
            break;
        case DEVICE_ALLOCATION_INFORMATION:
            type = defaultResolver(typeElement);
            break;
        case GET_ALL_AVAILABLE_DEVICES:
            type = new TypeToken<List<Pair<String, String>>>() {}.getType();
            break;
        default:
            LOGGER.error("The message action is not recognized.");
            break;
    }

    return type;
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-commons,代码行数:27,代码来源:ResponseMessageDeserializer.java

示例2: setUp

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
@BeforeClass
public static void setUp() throws Exception {
    Class<?> agentClass = agent.getClass();
    Field agentManagerField = agentClass.getDeclaredField("agentManager");
    agentManagerField.setAccessible(true);
    AgentManager agentManager = (AgentManager) agentManagerField.get(agent);

    if (!agentManager.isAnyEmulatorPresent()) {
        EmulatorParameters emulatorCreationParameters = new EmulatorParameters();
        emulatorCreationParameters.setDpi(EMULATOR_CREATION_DPI);
        emulatorCreationParameters.setRam(EMULATOR_CREATION_RAM);
        emulatorCreationParameters.setResolution(new Pair<Integer, Integer>(EMULATOR_CREATION_RESOLUTION_H,
                                                                            EMULATOR_CREATION_RESOLUTION_W));
    }

    DeviceSelectorBuilder selectorBuilder = new DeviceSelectorBuilder().deviceType(DeviceType.EMULATOR_ONLY);
    DeviceSelector testDeviceSelector = selectorBuilder.build();
    initTestDevice(testDeviceSelector);
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-integration-tests,代码行数:20,代码来源:EmulatorConsoleTest.java

示例3: testGetScreenshot

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
@Test
public void testGetScreenshot() throws Exception {
    byte[] screenshot = testDevice.getScreenshot();
    DeviceInformation deviceInformation = testDevice.getInformation();
    Pair<Integer, Integer> screenResolution = deviceInformation.getResolution();

    InputStream imageInput = new ByteArrayInputStream(screenshot);
    BufferedImage image = ImageIO.read(imageInput);

    assertNotNull("Screenshot data is not a valid image.", image);

    assertEquals("Device screen resolution height did not match screenshot height.",
                 (int) screenResolution.getValue(),
                 image.getHeight());
    assertEquals("Device screen resolution width did not match screenshot width.",
                 (int) screenResolution.getKey(),
                 image.getWidth());
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-integration-tests,代码行数:19,代码来源:GetScreenshotTest.java

示例4: parseAndExecuteShellCommand

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
/**
 * Executes a passed shell command from the console.
 *
 * @param passedShellCommand
 *        - the passed shell command.
 * @throws IllegalArgumentException
 *         - if the passed argument is <b>null</b>
 */
public void parseAndExecuteShellCommand(String passedShellCommand) {
    if (passedShellCommand != null) {
        Pair<String, List<String>> parsedCommand = ConsoleControl.parseShellCommand(passedShellCommand);
        String command = parsedCommand.getKey();
        List<String> params = parsedCommand.getValue();

        AgentCommand commandForExecution = AgentCommandFactory.getCommandInstance(command, params);
        if (commandForExecution != null) {
            currentAgentState.executeCommand(commandForExecution);
        } else {
            String helpCommand = AgentConsoleCommands.AGENT_HELP.getCommand();
            String errorMessage = String.format("Unknown command \"%s\". Type '%s' for all available commands.",
                                                command,
                                                helpCommand);
            agentConsole.writeLine(errorMessage);
        }
    } else {
        LOGGER.error("Error in console: trying to execute 'null' as a command.");
        throw new IllegalArgumentException("Command passed for execution to agent is 'null'");
    }
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-agent,代码行数:30,代码来源:Agent.java

示例5: validatePointOnScreen

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
/**
 * Checks whether the given point is inside the bounds of the screen, and throws an {@link IllegalArgumentException}
 * otherwise.
 *
 * @param point
 *        - the point to be checked
 */
private void validatePointOnScreen(Point point) {
    Pair<Integer, Integer> resolution = deviceInformation.getResolution();

    boolean hasPositiveCoordinates = point.getX() >= 0 && point.getY() >= 0;
    boolean isOnScreen = point.getX() <= resolution.getKey() && point.getY() <= resolution.getValue();

    if (!hasPositiveCoordinates || !isOnScreen) {
        String exeptionMessageFormat = "The passed point with coordinates (%d, %d) is outside the bounds of the screen. Screen dimentions (%d, %d)";
        String message = String.format(exeptionMessageFormat,
                                       point.getX(),
                                       point.getY(),
                                       resolution.getKey(),
                                       resolution.getValue());
        LOGGER.error(message);
        throw new IllegalArgumentException(message);
    }
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-agent,代码行数:25,代码来源:GestureEntity.java

示例6: startScreenRecording

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
private void startScreenRecording(int timeLimit, boolean forceLandscape) throws CommandFailedException {
    String externalStorage = serviceCommunicator.getExternalStorage();
    String recordsParentDir = externalStorage != null ? externalStorage : FALLBACK_COMPONENT_PATH;

    Pair<Integer, Integer> resolution = deviceInformation.getResolution();
    int width = Math.max(resolution.getKey(), resolution.getValue());
    int height = Math.min(resolution.getKey(), resolution.getValue());

    String screenResoloution = !forceLandscape ? String.format("%sx%s", height, width)
            : String.format("%sx%s", width, height);
    int timeLimitInSeconds = timeLimit * 60;

    String screenRecordCommand = String.format("%s%s %d %s",
                                               START_SCREEN_RECORD_COMMAND,
                                               recordsParentDir,
                                               timeLimitInSeconds,
                                               screenResoloution);

    shellCommandExecutor.executeInBackground(screenRecordCommand);
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-agent,代码行数:21,代码来源:AbstractWrapDevice.java

示例7: parseScreenResolutionFromShell

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
/**
 * Converts the shell response from the "dumpsys window policy" command to a pair of integers.
 * 
 * @param shellResponse
 *        String response from the shell command execution
 * @return Pair of integers - key is width, value is height in pixels.
 */
public static Pair<Integer, Integer> parseScreenResolutionFromShell(String shellResponse) {
    // Isolate the important line from the response
    int importantLineStart = shellResponse.indexOf("mUnrestrictedScreen");
    int importantLineEnd = shellResponse.indexOf('\r', importantLineStart);
    if (importantLineEnd == -1) {
        importantLineEnd = shellResponse.indexOf('\n', importantLineStart);
    }

    String importantLine = shellResponse.substring(importantLineStart, importantLineEnd);

    // Isolate the values from the line
    int valueStartIndex = importantLine.indexOf(' ');
    String importantValue = importantLine.substring(valueStartIndex + 1);

    // The values are in the form [integer]x[integer]
    int delimiterIndex = importantValue.indexOf('x');
    String widthString = importantValue.substring(0, delimiterIndex);
    String heightString = importantValue.substring(delimiterIndex + 1);

    int width = Integer.parseInt(widthString);
    int height = Integer.parseInt(heightString);

    Pair<Integer, Integer> screenResolution = new Pair<Integer, Integer>(width, height);
    return screenResolution;
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-agent,代码行数:33,代码来源:DeviceScreenResolutionParser.java

示例8: Device

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
/**
 * Creates new device with the given serial number, device identifier and passkey.
 *
 * @param deviceInformation
 *        - the {@link DeviceInformation information} of this device
 * @param deviceId
 *        - the identifier of this device
 * @param passkeyAuthority
 *        - a passkey for validating authority
 */
public Device(DeviceInformation deviceInformation, String deviceId, long passkeyAuthority) {
    apiLevel = deviceInformation.getApiLevel();
    cpu = deviceInformation.getCpu();
    dpi = deviceInformation.getDpi();
    manufacturer = deviceInformation.getManufacturer();
    model = deviceInformation.getModel();
    os = deviceInformation.getOS();
    ram = deviceInformation.getRam();
    Pair<Integer, Integer> resolution = deviceInformation.getResolution();
    resolutionWidth = resolution.getValue();
    resolutionHeight = resolution.getKey();
    serialNumber = deviceInformation.getSerialNumber();
    isEmulator = deviceInformation.isEmulator();
    isTablet = deviceInformation.isTablet();
    hasCamera = deviceInformation.hasCamera();
    this.deviceId = deviceId;
    passkey = passkeyAuthority;
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-server,代码行数:29,代码来源:Device.java

示例9: setDeviceInformation

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
@Override
public void setDeviceInformation(DeviceInformation information) {
    apiLevel = information.getApiLevel();
    cpu = information.getCpu();
    dpi = information.getDpi();
    manufacturer = information.getManufacturer();
    model = information.getModel();
    os = information.getOS();
    ram = information.getRam();
    Pair<Integer, Integer> resolution = information.getResolution();
    resolutionWidth = resolution.getValue();
    resolutionHeight = resolution.getKey();
    serialNumber = information.getSerialNumber();
    isEmulator = information.isEmulator();
    isTablet = information.isTablet();
    hasCamera = information.hasCamera();
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-server,代码行数:18,代码来源:Device.java

示例10: parseAndExecuteShellCommand

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
/**
 * Executes a passed command from the console.
 *
 * @param passedShellCommand
 *        - the passed shell command.
 * @throws IOException
 */
private void parseAndExecuteShellCommand(String passedShellCommand) throws IOException {
    if (passedShellCommand != null) {
        Pair<String, List<String>> parsedCommand = ConsoleControl.parseShellCommand(passedShellCommand);
        String command = parsedCommand.getKey();
        List<String> paramsAsList = parsedCommand.getValue();

        if (!command.isEmpty()) {
            String[] params = new String[paramsAsList.size()];
            paramsAsList.toArray(params);
            executeShellCommand(command, params);
        }
    } else {
        LOGGER.error("Error in console: trying to execute 'null' as a command.");
        throw new IllegalArgumentException("Command passed to server is 'null'");
    }
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-server,代码行数:24,代码来源:Server.java

示例11: invokeSubscriberMethod

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
private void invokeSubscriberMethod(Subscriber subscriber, Event event) {
    Class<?> eventClass = event.getClass();
    Class<?> subscriberClass = subscriber.getClass();

    try {
        Entry<Class<?>, Class<?>> methodIdentifiers = new Pair<Class<?>, Class<?>>(subscriberClass, eventClass);
        Method method = subscibersMethodsCache.get(methodIdentifiers);

        if (method == null) {
            method = subscriberClass.getDeclaredMethod(RECEIVER_METHOD_NAME, eventClass);
            subscibersMethodsCache.put(methodIdentifiers, method);
        }

        method.invoke(subscriber, event);
    } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException
            | InvocationTargetException e) {
        String errorMessage = String.format("Failed to invoke %s method with %s.",
                                            RECEIVER_METHOD_NAME,
                                            event.getClass().getSimpleName());
        throw new SubscriberMethodInvocationException(errorMessage, e);
    }
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-server,代码行数:23,代码来源:ServerEventService.java

示例12: setUp

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@BeforeClass
public static void setUp() throws InterruptedException {
    try {
        server = new Server();
        server.run();
        Thread.sleep(START_SERVER_TIMEOUT);

        ServerManager serverManager = getFieldObject(server, "serverManager");
        dAllocManager = (DeviceAllocationManager) getFieldObject(server, "allocationManager");

        serverManager.registerAgent(AGENT_ID);

        poolManager = getFieldObject(serverManager, "poolManager");
        waitingClients = (List<Pair<DeviceSelector, String>>) getFieldObject(dAllocManager, "waitingClients");
    } catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException e) {
        e.printStackTrace();
    }
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-server,代码行数:20,代码来源:DeviceAllocationManagerTest.java

示例13: setUiSelectorClassNameWithSelectionOption

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
private static UiSelector setUiSelectorClassNameWithSelectionOption(UiSelector uiSelector, Pair<String, UiElementSelectionOption> propertyPair) {
    switch (propertyPair.getValue()) {
        case CONTAINS:
            String pattern = "^.*%s.*$";
            uiSelector = uiSelector.classNameMatches(String.format(pattern, propertyPair.getKey()));
            break;
        case EQUALS:
            uiSelector = uiSelector.className(propertyPair.getKey());
            break;
        case WORD_MATCH:
            uiSelector = uiSelector.classNameMatches(propertyPair.getKey());
            break;
        default:
            uiSelector = uiSelector.className(propertyPair.getKey());
            break;
    }

    return uiSelector;
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-uiautomator-bridge,代码行数:20,代码来源:UiSelectorParser.java

示例14: setUiSelectorPackageWithSelectionOption

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
private static UiSelector setUiSelectorPackageWithSelectionOption(UiSelector uiSelector, Pair<String, UiElementSelectionOption> propertyPair) {
    switch (propertyPair.getValue()) {
        case CONTAINS:
            String pattern = "^.*%s.*$";
            uiSelector = uiSelector.packageNameMatches(String.format(pattern, propertyPair.getKey()));
            break;
        case EQUALS:
            uiSelector = uiSelector.packageName(propertyPair.getKey());
            break;
        case WORD_MATCH:
            uiSelector = uiSelector.packageNameMatches(propertyPair.getKey());
            break;
        default:
            uiSelector = uiSelector.packageName(propertyPair.getKey());
            break;
    }

    return uiSelector;
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-uiautomator-bridge,代码行数:20,代码来源:UiSelectorParser.java

示例15: setUiSelectorTextWithSelectionOption

import com.musala.atmosphere.commons.util.Pair; //导入依赖的package包/类
private static UiSelector setUiSelectorTextWithSelectionOption(UiSelector uiSelector, Pair<String, UiElementSelectionOption> propertyPair) {
    switch (propertyPair.getValue()) {
        case CONTAINS:
            uiSelector = uiSelector.textContains(propertyPair.getKey());
            break;
        case EQUALS:
            uiSelector = uiSelector.text(propertyPair.getKey());
            break;
        case WORD_MATCH:
            uiSelector = uiSelector.textMatches(propertyPair.getKey());
            break;
        default:
            uiSelector = uiSelector.text(propertyPair.getKey());
            break;

    }

    return uiSelector;
}
 
开发者ID:MusalaSoft,项目名称:atmosphere-uiautomator-bridge,代码行数:20,代码来源:UiSelectorParser.java


注:本文中的com.musala.atmosphere.commons.util.Pair类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。