Package com.liferay.nativity.test

Source Code of com.liferay.nativity.test.TestDriver

/**
* Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/

package com.liferay.nativity.test;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import com.liferay.nativity.control.NativityControl;
import com.liferay.nativity.control.NativityControlUtil;
import com.liferay.nativity.control.NativityMessage;
import com.liferay.nativity.modules.contextmenu.ContextMenuControlUtil;
import com.liferay.nativity.modules.fileicon.FileIconControl;
import com.liferay.nativity.modules.fileicon.FileIconControlUtil;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.log4j.xml.DOMConfigurator;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* @author Gail Hernandez
*/
public class TestDriver {

  public static void main(String[] args) {
    _intitializeLogging();

    List<String> items = new ArrayList<String>();

    items.add("ONE");

    NativityMessage message = new NativityMessage("BLAH", items);

    try {
      _logger.debug(_objectMapper.writeValueAsString(message));
    }
    catch (JsonProcessingException jpe) {
      _logger.error(jpe.getMessage(), jpe);
    }

    _logger.debug("main");

    NativityControl nativityControl =
      NativityControlUtil.getNativityControl();

    FileIconControl fileIconControl =
      FileIconControlUtil.getFileIconControl(
        nativityControl, new TestFileIconControlCallback());

    ContextMenuControlUtil.getContextMenuControl(
      nativityControl, new TestContextMenuControlCallback());

    BufferedReader bufferedReader = new BufferedReader(
      new InputStreamReader(System.in));

    nativityControl.connect();

    String read = "";
    boolean stop = false;

    try {
      while (!stop) {
        _list = !_list;

        _logger.debug("Loop start...");

        _logger.debug("_enableFileIcons");
        _enableFileIcons(fileIconControl);

        _logger.debug("_registerFileIcon");
        _registerFileIcon(fileIconControl);

        _logger.debug("_setFilterPath");
        _setFilterPath(nativityControl);

        _logger.debug("_setSystemFolder");
        _setSystemFolder(nativityControl);

        _logger.debug("_updateFileIcon");
        _updateFileIcon(fileIconControl);

        _logger.debug("_clearFileIcon");
        _clearFileIcon(fileIconControl);

        _logger.debug("Ready?");

        if (bufferedReader.ready()) {
          _logger.debug("Reading...");

          read = bufferedReader.readLine();

          _logger.debug("Read {}", read);

          if (read.length() > 0) {
            stop = true;
          }

          _logger.debug("Stopping {}", stop);
        }
      }
    }
    catch (IOException e) {
      _logger.error(e.getMessage(), e);
    }

    _logger.debug("Done");
  }

  private static void _clearFileIcon(FileIconControl fileIconControl) {
    if (_list) {
      String[] paths = new String[] { _testFolder, _testFile };

      fileIconControl.removeFileIcons(paths);
    }
    else {
      fileIconControl.removeFileIcon(_testFolder);
    }

    try {
      Thread.sleep(_waitTime);
    }
    catch (InterruptedException e) {
      _logger.error(e.getMessage(), e);
    }
  }

  private static void _enableFileIcons(FileIconControl fileIconControl) {
    fileIconControl.enableFileIcons();

    try {
      Thread.sleep(_waitTime);
    }
    catch (InterruptedException e) {
      _logger.error(e.getMessage(), e);
    }
  }

  private static void _intitializeLogging() {
    File file = new File("java/nativity-log4j.xml");

    if (file.exists()) {
      DOMConfigurator.configure(file.getPath());
    }
  }

  private static void _registerFileIcon(FileIconControl fileIconControl) {
    _fileIconId = fileIconControl.registerIcon(_fileIconPath);

    try {
      Thread.sleep(_waitTime);
    }
    catch (InterruptedException e) {
      _logger.error(e.getMessage(), e);
    }
  }

  private static void _setFilterPath(NativityControl nativityControl) {
    nativityControl.setFilterFolder(_testRootFolder);

    try {
      Thread.sleep(_waitTime);
    }
    catch (InterruptedException e) {
      _logger.error(e.getMessage(), e);
    }
  }

  private static void _setSystemFolder(NativityControl nativityControl) {
    nativityControl.setSystemFolder(_testRootFolder);

    try {
      Thread.sleep(_waitTime);
    }
    catch (InterruptedException e) {
      _logger.error(e.getMessage(), e);
    }
  }

  private static void _updateFileIcon(FileIconControl fileIconControl) {
    if (_list) {
      Map<String, Integer> map = new HashMap<String, Integer>();

      map.put(_testFolder, _fileIconId);
      map.put(_testFile, _fileIconId);

      fileIconControl.setFileIcons(map);
    }
    else {
      fileIconControl.setFileIcon(_testFolder, _fileIconId);
    }

    try {
      Thread.sleep(_waitTime);
    }
    catch (InterruptedException e) {
      _logger.error(e.getMessage(), e);
    }
  }

  private static Logger _logger = LoggerFactory.getLogger(
    TestDriver.class.getName());

  private static int _fileIconId = -1;
  private static String _fileIconPath = "/Users/liferay/Desktop/test.icns";
  private static boolean _list = false;
  private static ObjectMapper _objectMapper =
    new ObjectMapper().configure(
      JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
  private static String _testFile =
    "C:/Users/liferay/Documents/liferay-sync/Sync.pptx";
  private static String _testFolder =
    "C:/Users/liferay/Documents/liferay-sync/My Documents (test)/temp";
  private static String _testRootFolder =
    "C:/Users/liferay/Documents/liferay-sync";
  private static int _waitTime = 1000;

}
TOP

Related Classes of com.liferay.nativity.test.TestDriver

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.