Java 类org.apache.commons.lang3.SystemUtils 实例源码

项目:hygene    文件:NodeDrawingToolkit.java   
/**
 * Sets the node height used for drawing.
 * <p>
 * Also updates the font size used for drawing sequences within nodes.
 *
 * @param nodeHeight the node height
 */
public final void setNodeHeight(final double nodeHeight) {
    this.nodeHeight = nodeHeight;
    this.snpHeight = nodeHeight * SNP_HEIGHT_FACTOR;

    final Text text = new Text("X");
    text.setFont(new Font(DEFAULT_NODE_FONT, 1));

    final double font1PHeight = text.getLayoutBounds().getHeight();

    final String font;

    if (SystemUtils.IS_OS_MAC) {
        font = DEFAULT_MAC_NODE_FONT;
    } else {
        font = DEFAULT_NODE_FONT;
    }

    final double fontSize = DEFAULT_NODE_FONT_HEIGHT_SCALAR * nodeHeight / font1PHeight;
    this.nodeFont = new Font(font, fontSize);
    text.setFont(nodeFont);

    this.charWidth = text.getLayoutBounds().getWidth();
    this.charHeight = text.getLayoutBounds().getHeight();
}
项目:LogMonitor    文件:LogMonitorSimple.java   
private void doStart() {
    try {
        String[] command;
        if (SystemUtils.IS_OS_WINDOWS) {
            // for windows test
            command = new String[] { "C:/Program Files/Java/jdk1.8.0_91/bin/java", "-version" };
        } else {
            // real use
            Assert.notNull(file);
            command = new String[] { this.command, argf, calculateFileName() };
        }
        process = new ProcessBuilder(command).redirectErrorStream(true).start();
        BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line = null;
        while ((line = input.readLine()) != null) {
            content.add(String.format("%s : %s", name, line));
            this.checkForEviction();
        }
        int exitVal = process.waitFor();
        log.info("Exited with error code " + exitVal);
    } catch (Exception e) {
        log.error("Error", e);
        throw new RuntimeException(e);
    }
}
项目:aceql-http    文件:DefaultDatabaseConfigurator.java   
/**
 * Creates a static {@code Logger} instance.
 * 
 * @return a static {@code Logger} with properties:
 *         <ul>
 *         <li>Name: {@code "DefaultDatabaseConfigurator"}.</li>
 *         <li>Output file pattern:
 *         {@code user.home/.kawansoft/log/AceQL.log}.</li>
 *         <li>Formatter: {@code SimpleFormatter}.</li>
 *         <li>Limit: 200Mb.</li>
 *         <li>Count (number of files to use): 2.</li>
 *         </ul>
 */
@Override
public Logger getLogger() throws IOException {
    if (ACEQL_LOGGER != null) {
        return ACEQL_LOGGER;
    }

    File logDir = new File(SystemUtils.USER_HOME + File.separator + ".kawansoft" + File.separator + "log");
    logDir.mkdirs();

    String pattern = logDir.toString() + File.separator + "AceQL.log";

    ACEQL_LOGGER = Logger.getLogger(DefaultDatabaseConfigurator.class.getName());
    Handler fh = new FileHandler(pattern, 200 * 1024 * 1024, 2, true);
    fh.setFormatter(new SimpleFormatter());
    ACEQL_LOGGER.addHandler(fh);
    return ACEQL_LOGGER;

}
项目:aceql-http    文件:UserPrefManager.java   
/**
    * 
    * @return the product file that contains the product name
    */
   private static File getProductFile() {
// Use absolute directory: client side and Tomcat side don'ts have same
// user.home value!
String exchangeDir = null;

if (SystemUtils.IS_OS_WINDOWS) {
    exchangeDir = "c:\\temp\\";
} else {
    if (FrameworkSystemUtil.isAndroid()) {
    // exchangeDir = "/sdcard/";
    exchangeDir = System.getProperty("java.io.tmpdir");
    if (!exchangeDir.endsWith(System.getProperty("file.separator"))) {
        exchangeDir += System.getProperty("file.separator");
    }
    } else {
    exchangeDir = "/tmp/";
    }

}

File productFile = new File(exchangeDir + "aceql-database-to-use.txt");
return productFile;
   }
项目:tapir    文件:GzipFileReader.java   
public static void read(File file, Consumer<File> handle) throws IOException {
    Path temp;
    if (SystemUtils.IS_OS_LINUX) {
        temp = Files.createTempFile(SHARED_MEMORY, TEMP_PREFIX, null);
    } else {
        temp = Files.createTempFile(TEMP_PREFIX, null);
    }

    try (
            InputStream is = new FileInputStream(file);
            GZIPInputStream gis = new GZIPInputStream(is);
            OutputStream os = Files.newOutputStream(temp);
    ) {
        byte[] buffer = new byte[1024];
        int length;
        while ((length = gis.read(buffer, 0, 1024)) != -1) {
            os.write(buffer, 0, length);
        }

        handle.accept(temp.toFile());
    } finally {
        Files.delete(temp);
    }
}
项目:spark_deep    文件:JavaUtils.java   
/**
 * Delete a file or directory and its contents recursively.
 * Don't follow directories if they are symlinks.
 *
 * @param file Input file / dir to be deleted
 * @throws IOException if deletion is unsuccessful
 */
public static void deleteRecursively(File file) throws IOException {
  if (file == null) { return; }

  // On Unix systems, use operating system command to run faster
  // If that does not work out, fallback to the Java IO way
  if (SystemUtils.IS_OS_UNIX) {
    try {
      deleteRecursivelyUsingUnixNative(file);
      return;
    } catch (IOException e) {
      logger.warn("Attempt to delete using native Unix OS command failed for path = {}. " +
                      "Falling back to Java IO way", file.getAbsolutePath(), e);
    }
  }

  deleteRecursivelyUsingJavaIO(file);
}
项目:carnotzet    文件:Carnotzet.java   
public List<CarnotzetModule> getModules() {
    if (modules == null) {
        modules = resolver.resolve(config.getTopLevelModuleId(), failOnDependencyCycle);
        if (SystemUtils.IS_OS_LINUX || !getResourcesFolder().resolve("expanded-jars").toFile().exists()) {
            resourceManager.extractResources(modules);
            modules = computeServiceIds(modules);
            resourceManager.resolveResources(modules);
        }
        log.debug("configuring modules");
        modules = configureModules(modules);

        if (config.getExtensions() != null) {
            for (CarnotzetExtension feature : config.getExtensions()) {
                log.debug("Extension [{}] enabled", feature.getClass().getSimpleName());
                modules = feature.apply(this);
            }
        }
        assertNoDuplicateArtifactId(modules);
        modules = selectModulesForUniqueServiceId(modules);
    }
    return modules;
}
项目:JavaGridControl    文件:SensorFactory.java   
public static Sensor getSensor() {
    if (SystemUtils.IS_OS_WINDOWS) {
        return new WindowsSensor();
    } else if (SystemUtils.IS_OS_LINUX) {
        return new LMSensor();
    } else {
        System.err.println(SystemUtils.OS_NAME + " is not a supported operating system.");
        return new Sensor() {

            @Override
            public void poll() throws IOException {
                temperatures.put("Fake 0", 0d);
                temperatures.put("Fake 100", 100d);
            }
        };
    }
}
项目:brick-pop-solver    文件:SerialSolutionService.java   
@Override
public Solution solve(final Board board, final Configuration configuration) throws SolutionException {
    LOG.traceEntry("solve(board={}, configuration={})", board, configuration);

    LOG.debug("Attempting serial solve for board:{}{}", SystemUtils.LINE_SEPARATOR, board);

    for (final Move move : board.getAvailableMoves()) {
        try {
            final Solution solution = new SolutionSearch(configuration, move).search();

            LOG.debug("Found solution:{}{}", SystemUtils.LINE_SEPARATOR, solution);

            return LOG.traceExit(solution);
        } catch (SolutionException e) {
            // Ignore failed solution
        }
    }

    LOG.debug("No solution found");

    return LOG.traceExit(new Solution(configuration));
}
项目:brick-pop-solver    文件:BrickPopSolver.java   
public Solution solve(final Board board) throws BrickPopSolverException {
    LOG.traceEntry("solve(board={})", board);

    Objects.requireNonNull(board, "board");

    LOG.info("Solving board: {}", board);

    final SolutionService solutionService = configuration.getSolutionService();
    final Instant start = Instant.now();
    final Solution solution = solutionService.solve(board, configuration);
    final Instant end = Instant.now();

    if (solution.isEmpty()) {
        throw new SolutionException("No solution could be found");
    }

    LOG.info("Found a solution in {} seconds:{}{}", () -> Duration.between(start, end).getSeconds(), () -> SystemUtils.LINE_SEPARATOR, () -> solution);

    return LOG.traceExit(solution);
}
项目:pathological-reports    文件:ImagePathProperties.java   
@PostConstruct
public void init() {

    if (SystemUtils.IS_OS_LINUX) {
        usersPath = environment.getProperty("image.path.linux.users");
        formsPath = environment.getProperty("image.path.linux.forms");

    } else if (SystemUtils.IS_OS_MAC) {
        usersPath = environment.getProperty("image.path.mac.users");
        formsPath = environment.getProperty("image.path.mac.forms");

    } else if (SystemUtils.IS_OS_WINDOWS) {
        usersPath = environment.getProperty("image.path.windows.users");
        formsPath = environment.getProperty("image.path.windows.forms");
    }

    userContext = environment.getProperty("image.context.user");
    formContext = environment.getProperty("image.context.form");
}
项目:DeskChan    文件:MouseEventNotificator.java   
/**
 * Enables handling of scroll and mouse wheel events for the node.
 * This type of events has a peculiarity on Windows. See the javadoc of notifyScrollEvents for more information.
 * @see #notifyScrollEvent
 * @param intersectionTestFunc a function that takes an event object and must return boolean
 * @return itself to let you use a chain of calls
 */
MouseEventNotificator setOnScrollListener(Function<NativeMouseWheelEvent, Boolean> intersectionTestFunc) {
    if (SystemUtils.IS_OS_WINDOWS) {
        if (!GlobalScreen.isNativeHookRegistered()) {
            try {
                GlobalScreen.registerNativeHook();
            } catch (NativeHookException | UnsatisfiedLinkError e) {
                e.printStackTrace();
                Main.log("Failed to initialize the native hooking. Rolling back to using JavaFX events...");
                sender.addEventFilter(ScrollEvent.SCROLL, this::notifyScrollEvent);
                return this;
            }
        }
        mouseWheelListener = event -> notifyScrollEvent(event, intersectionTestFunc);
        GlobalScreen.addNativeMouseWheelListener(mouseWheelListener);
    } else {
        sender.addEventFilter(ScrollEvent.SCROLL, this::notifyScrollEvent);
    }

    return this;
}
项目:Mod-Tools    文件:DirectoryLookup.java   
public static File getSteamDir() throws RegistryException, IOException {
    if (null == steamDir) {
        if(SystemUtils.IS_OS_WINDOWS) {
            steamDir = test(new File(WindowsRegistry.getInstance().readString(HKey.HKCU, "Software\\Valve\\Steam", "SteamPath")));
        } else if(SystemUtils.IS_OS_MAC) {
            steamDir = test(new File(SystemUtils.getUserHome()+"/Library/Application Support/Steam"));
        } else if(SystemUtils.IS_OS_LINUX) {
            ArrayList<File> fl = new ArrayList<>();
            fl.add(new File(SystemUtils.getUserHome()+"/.steam/steam"));
            fl.add(new File(SystemUtils.getUserHome()+"/.steam/Steam"));
            fl.add(new File(SystemUtils.getUserHome()+"/.local/share/steam"));
            fl.add(new File(SystemUtils.getUserHome()+"/.local/share/Steam"));
            steamDir = test(fl);
        }
    }
    return steamDir;
}
项目:pm-home-station    文件:Station.java   
private void diaplayWarnForDetach(JFrame parent) {
    if (Config.instance().to().getBoolean(Config.Entry.WARN_ON_OSX_TO_DETACH.key(), SystemUtils.IS_OS_MAC_OSX)) {
        if (planTowerSensor.isConnected()) {
            JOptionPane.showMessageDialog(parent,
                    "<html>The sensor is still attached.<br><br>" +
                    "This instance or the next start of the application may <b>hang</b><br>" +
                    "when the device is still attached while app or port is being closed.<br>" +
                    "<b>In such a case only reboot helps.</b><br><br>" +
                    "This behavior is being observed when using some cheap PL2303<br>" +
                    "uart-to-usb and their drivers.<br><br>" +
                    "You can now forcibly detach the device now.<br><br>" +
                    "Press OK to continue closing.</html>",
                    "Warning", JOptionPane.WARNING_MESSAGE);
        }
    }

}
项目:pm-home-station    文件:Start.java   
private static void setLookAndFeel() {
    if (SystemUtils.IS_OS_MAC_OSX) {
        // must be before any AWT interaction
        System.setProperty("apple.laf.useScreenMenuBar", "true"); // place menubar (if any) in native menu bar
        System.setProperty("apple.awt.application.name", Constants.PROJECT_NAME);
        if (Config.instance().to().getBoolean(Config.Entry.SYSTEM_TRAY.key(), Constants.SYSTEM_TRAY)) {
            logger.debug("Hiding dock icon since system-tray integration is enabled");
            System.setProperty("apple.awt.UIElement", "true");
        }
    }
    try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
            | UnsupportedLookAndFeelException e) {
        logger.error("Ooops, problem setting system L&F", e);
    }
}
项目:LunaticSMTP    文件:MainWindowController.java   
private void initControlPanel(Config config) {
    portField.setTextFormatter(new TextFormatter<>(change -> {
        change.setText(change.getText().replaceAll("[^0-9.,]", ""));
        return change;
    }));

    if (SystemUtils.IS_OS_UNIX) {
        // change web-cache dir
        // from: $HOME/.com.gitlab.anlar.lunatic.gui.LunaticApplication/webview
        // to:   $HOME/.cache/lunatic-smtp/webview/
        this.emailText.getEngine().setUserDataDirectory(new File(
                SystemUtils.USER_HOME + File.separator + ".cache" + File.separator + "lunatic-smtp",
                "webview"));
    }

    portField.setText(String.valueOf(config.getPort()));
    messagesField.setText("0");
    setStartButtonText(false);

    dirField.setText(config.getDirectory());
    saveDirCheck.setSelected(config.isWrite());
}
项目:egradle    文件:EGradleIdePreferenceInitializer.java   
public void initializeDefaultPreferences() {
    IPreferenceStore store = IDEUtil.getPreferences().getPreferenceStore();
    EGradleCallType defaultCallType = null; 
    if (SystemUtils.IS_OS_WINDOWS){
        defaultCallType = EGradleCallType.WINDOWS_GRADLE_WRAPPER;   
    }else{
        defaultCallType = EGradleCallType.LINUX_GRADLE_WRAPPER;         
    }
    store.setDefault(P_OUTPUT_VALIDATION_ENABLED.getId(), true);

    store.setDefault(P_FILEHANDLING_AUTOMATICALLY_DERIVE_BUILDFOLDERS.getId(), false);

    store.setDefault(P_IMPORT__EXECUTE_ASSEMBLE_TASK.getId(), true);
    store.setDefault(P_IMPORT__DO_CLEAN_PROJECTS.getId(),true);

    store.setDefault(P_SHOW_CONSOLE_VIEW_ON_BUILD_FAILED_ENABLED.getId(), true);
    store.setDefault(P_DECORATION_SUBPROJECTS_WITH_ICON_ENABLED.getId(), true);

    store.setDefault(P_GRADLE_CALL_TYPE.getId(),defaultCallType.getId());
    store.setDefault(P_GRADLE_SHELL.getId(), defaultCallType.getDefaultShell().getId());
    store.setDefault(P_GRADLE_INSTALL_BIN_FOLDER.getId(), defaultCallType.getDefaultGradleBinFolder());
    store.setDefault(P_GRADLE_CALL_COMMAND.getId(), defaultCallType.getDefaultGradleCommand());

    store.setDefault(P_MIGRATE_IDE_STATE.getId(), MigrationState.NOT_MIGRATED.name());
}
项目:processrunner    文件:ProcessProcessRunnerFactoryTest.java   
@SuppressFBWarnings("PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS")
@Test
public void searchContent()
    throws ProcessConfigurationException, IOException, InterruptedException,
        JsonArrayReaderException {

  final Output response =
      ProcessRunnerFactory.startProcess(
          new ConfigurationBuilder(getDefaultInterpreter(), getInterPreterVersion())
              .setWorkigDir(Constants.DEFAULT_CURRENT_DIR_PATH)
              .setMasterLogFile(Utilities.createTempLogDump(), true)
              .build());
  assertThat("Validating process return code : ", response.getReturnCode(), is(0));

  if (SystemUtils.IS_OS_LINUX) {
    assertThat(
        "Validating searchMasterLog result for content in the output in UNIX : ",
        response.searchMasterLog(".*GNU.*"),
        is(true));
  } else if (SystemUtils.IS_OS_WINDOWS) {
    assertThat(
        "Validating searchMasterLog result for content in the output in Windows : ",
        response.searchMasterLog("Microsoft Windows.*"),
        is(true));
  }
}
项目:mvn-golang    文件:AbstractGolangMojo.java   
@Nonnull
public String getOs() {
  String result = this.os;
  if (isSafeEmpty(result)) {
    if (SystemUtils.IS_OS_WINDOWS) {
      result = "windows";
    } else if (SystemUtils.IS_OS_LINUX) {
      result = "linux";
    } else if (SystemUtils.IS_OS_FREE_BSD) {
      result = "freebsd";
    } else {
      result = "darwin";
    }
  }
  return result;
}
项目:asglogic    文件:LogicRunner.java   
private List<String> buildCmd() {
    List<String> cmd = new ArrayList<>();
    File logicbin = null;
    if(SystemUtils.IS_OS_WINDOWS) {
        logicbin = LogicRunMain.LOGIC_BIN_WIN;
    } else if(SystemUtils.IS_OS_UNIX) {
        logicbin = LogicRunMain.LOGIC_BIN_UNIX;
    }
    if(logicbin == null) {
        logger.error("Unsupported operating system");
        return null;
    }
    cmd.add(logicbin.getAbsolutePath());

    addGeneralParams(cmd);
    addAdvancedParams(cmd);
    addDebugParams(cmd);

    cmd.add(params.getTextValue(TextParam.GFile));

    return cmd;
}
项目:spring-boot    文件:MyPdfUtils.java   
/**
 * 获得自定义的空心字体 STCAIYUN.TTF,该字体已经制成为 jar,需要加入项目的 classpath
 * 经过测试,该空心字体作为 pdf 的水印,不会遮挡 pdf 原文,支持中文
 * 需要注意的是,空心字体不能太小,否则会看不清楚
 *
 * @return
 * @throws IOException
 */
private static PdfFont getPdfFont() throws IOException {

    //空心字体
    String fontName = "/STCAIYUN.TTF";
    String fontPath =
            SystemUtils.getJavaIoTmpDir()
                    + File.separator + MyConstants.JarTempDir + File.separator
                    + fontName;

    //如果已经拷贝过,就不用再拷贝了
    if (!Files.exists(Paths.get(fontPath))) {
        MyFileUtils.copyResourceFileFromJarLibToTmpDir(fontName);
    }
    return PdfFontFactory.createFont(fontPath, PdfEncodings.IDENTITY_H);
}
项目:spring-boot    文件:MyPdfUtils.java   
/**
 * 获取 pdfdecrypt.exe 文件路径
 *
 * @return
 * @throws IOException
 */
private static String getPdfPdfdecryptExec() {

    //命令行模式,只需要两个文件即可
    String exec1 = "/pdfdecrypt.exe";
    String exec2 = "/license.dat";

    String tempPath =
            SystemUtils.getJavaIoTmpDir()
                    + File.separator + MyConstants.JarTempDir + File.separator;

    String exec1Path = tempPath + exec1;
    String exec2Path = tempPath + exec2;

    //如果已经拷贝过,就不用再拷贝了
    if (!Files.exists(Paths.get(exec1Path)))
        MyFileUtils.copyResourceFileFromJarLibToTmpDir(exec1);

    if (!Files.exists(Paths.get(exec2Path)))
        MyFileUtils.copyResourceFileFromJarLibToTmpDir(exec2);


    return exec1Path;
}
项目:kit    文件:FileKit.java   
/**
 * 获得全平台的基础路径<br>
 * 真正的跨平台!
 * @author Administrator
 * @return
 */
public static String getConfigBasePathForAll()
{
    String ret = "";
    //根据操作系统决定真正的配置路径
    if (SystemUtils.IS_OS_WINDOWS)
    {
        ret = FileKit.getMyConfigBasePathForWindows();
    }
    else if (SystemUtils.IS_OS_LINUX)
    {
        ret = CONFIG_BASEPATH_LINUX;
    }
    else if (SystemUtils.IS_OS_MAC)
    {
        ret = CONFIG_BASEPATH_MAC;
    }
    else
    {
        //其他情况下,都是类Unix的系统,因此均采用Linux的路径设置
        ret = CONFIG_BASEPATH_LINUX;
    }
    return ret;
}
项目:OpenModLoader    文件:OpenModLoader.java   
/**
 * Initializes the API and starts mod loading. Called from
 * {@link Minecraft#startGame()} and {@link DedicatedServer#startServer()}.
 *
 * @param sidedHandler the sided handler
 */
public static void minecraftConstruction(SidedHandler sidedHandler) {
    OpenModLoader.sidedHandler = sidedHandler;
    getLogger().info("Loading OpenModLoader " + getVersion());
    getLogger().info("Running Minecraft %s on %s using Java %s", mcversion, SystemUtils.OS_NAME, SystemUtils.JAVA_VERSION);
    GameRegistry.init();
    Dictionaries.init();
    ModLoader.loadMods();
    UpdateManager.checkForUpdates();
    getSidedHandler().onInitialize();
    channel = ChannelManager.create("oml")
            .createPacket("snackbar")
            .with("component", DataTypes.TEXT_COMPONENT)
            .handle((context, packet) -> getSidedHandler().openSnackbar(packet.get("component", DataTypes.TEXT_COMPONENT)))
            .build();
}
项目:rug-cli    文件:VersionUtils.java   
public static void validateJdkVersion() {
    boolean warn = false;
    if (SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8)) {
        // We need 1.8.0_111 at least
        String version = SystemUtils.JAVA_VERSION;
        int ix = version.lastIndexOf('_');
        if (ix > 0) {
            int patch = Integer.valueOf(version.substring(ix + 1));
            if (patch < 111) {
                warn = true;
            }
        }
    }
    else {
        // Not even Java 1.8
        warn = true;
    }

    if (warn) {
        new Log(VersionUtils.class).info(Style.yellow(
                "Please update your Java™ Runtime Environment (JRE) from %s to version 1.8.0_111 or newer.",
                SystemUtils.JAVA_VERSION));
    }
}
项目:rug-cli    文件:ShellCommandRunner.java   
private String prompt(ArtifactDescriptor artifact) {
    if (artifact != null && !(artifact.group().equals(Constants.GROUP)
            && artifact.artifact().equals(Constants.RUG_ARTIFACT))) {
        log.info(Style.yellow("%s:%s", artifact.group(), artifact.artifact())
                + Style.gray(" (%s%s%s%s%s)", artifact.version(), Constants.DOT,
                        (artifact instanceof LocalArtifactDescriptor ? "local"
                                : artifact.extension().toString().toLowerCase()),
                        Constants.DOT, rugVersion));
    }
    else {
        log.info(Style.yellow("%s", FileUtils.relativize(SystemUtils.getUserDir()))
                + Style.gray(" (%s)", rugVersion));
    }
    // reset interrupt signal
    interrupt = false;
    return ShellUtils.DEFAULT_PROMPT;
}
项目:LiteGraph    文件:GremlinServer.java   
/**
 * Construct a Gremlin Server instance from the {@link ServerGremlinExecutor} which internally carries some
 * pre-constructed objects used by the server as well as the {@link Settings} object itself.  This constructor
 * is useful when Gremlin Server is being used in an embedded style and there is a need to share thread pools
 * with the hosting application.
 *
 * @deprecated As of release 3.1.1-incubating, not replaced.
 * @see <a href="https://issues.apache.org/jira/browse/TINKERPOP-912">TINKERPOP-912</a>
 */
@Deprecated
public GremlinServer(final ServerGremlinExecutor<EventLoopGroup> serverGremlinExecutor) {
    this.serverGremlinExecutor = serverGremlinExecutor;
    this.settings = serverGremlinExecutor.getSettings();
    this.isEpollEnabled = settings.useEpollEventLoop && SystemUtils.IS_OS_LINUX;
    if(settings.useEpollEventLoop && !SystemUtils.IS_OS_LINUX){
        logger.warn("cannot use epoll in non-linux env, falling back to NIO");
    }

    Runtime.getRuntime().addShutdownHook(new Thread(() -> this.stop().join(), SERVER_THREAD_PREFIX + "shutdown"));

    final ThreadFactory threadFactoryBoss = ThreadFactoryUtil.create("boss-%d");
    if(isEpollEnabled) {
        bossGroup = new EpollEventLoopGroup(settings.threadPoolBoss, threadFactoryBoss);
    } else{
        bossGroup = new NioEventLoopGroup(settings.threadPoolBoss, threadFactoryBoss);
    }
    workerGroup = serverGremlinExecutor.getScheduledExecutorService();
    gremlinExecutorService = serverGremlinExecutor.getGremlinExecutorService();
}
项目:java-jotasync    文件:TabCloser.java   
public TabCloser(final TabHolder pane) {
    super(new FlowLayout(FlowLayout.LEFT, 0, 0));
    setOpaque(false);

    JLabel label = new JLabel() {
        @Override
        public String getText() {
            int i = pane.indexOfTabComponent(TabCloser.this);
            if (i != -1) {
                setText(pane.getTitleAt(i));
                return super.getText();
            }
            return null;
        }
    };

    add(label);
    label.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 5));
    mButton = new TabButton();
    int buttonPos = SystemUtils.IS_OS_WINDOWS ? 1 : 0;
    add(mButton, buttonPos);
    setBorder(BorderFactory.createEmptyBorder(2, 0, 0, 0));
}
项目:monitoring-center    文件:JvmInfo.java   
public static JvmInfo create() {
    JvmInfo jvmInfo = new JvmInfo();

    jvmInfo.specVersion = SystemUtils.JAVA_SPECIFICATION_VERSION;
    jvmInfo.classVersion = SystemUtils.JAVA_CLASS_VERSION;
    jvmInfo.jreVersion = SystemUtils.JAVA_VERSION;
    jvmInfo.jreVendor = SystemUtils.JAVA_VENDOR;
    jvmInfo.vmName = SystemUtils.JAVA_VM_NAME;
    jvmInfo.vmVendor = SystemUtils.JAVA_VM_VENDOR;
    jvmInfo.vmVersion = SystemUtils.JAVA_VM_VERSION;

    RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
    jvmInfo.inputArguments = new ArrayList<>(runtimeMXBean.getInputArguments());
    jvmInfo.startedTimestamp = new Date(runtimeMXBean.getStartTime());

    jvmInfo.defaultTimeZone = TimeZone.getDefault().getID();
    jvmInfo.defaultCharset = Charset.defaultCharset().displayName();

    return jvmInfo;
}
项目:Net2Plan    文件:HTMLUtils.java   
/**
 * Opens a browser for the given {@code URI}. It is supposed to avoid issues with KDE systems.
 *
 * @param uri URI to browse
 */
public static void browse(URI uri)
{
    try
    {
        if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE))
        {
            Desktop.getDesktop().browse(uri);
            return;
        }
        else if (SystemUtils.IS_OS_UNIX && (new File("/usr/bin/xdg-open").exists() || new File("/usr/local/bin/xdg-open").exists()))
        {
            new ProcessBuilder("xdg-open", uri.toString()).start();
            return;
        }

        throw new UnsupportedOperationException("Your operating system does not support launching browser from Net2Plan");
    }
    catch (IOException | UnsupportedOperationException e)
    {
        throw new RuntimeException(e);
    }
}
项目:docker-compose-rule    文件:HostNetworkedPortsIntegrationTest.java   
@Test public void
can_access_host_networked_ports() throws Exception {
    // On linux the docker host is running on localhost, so host ports are accessible through localhost.
    // On Windows and Mac however, docker is being run in a linux VM. As such the docker host is the running
    // VM, not localhost, and the ports are inaccessible from outside the VM.
    // As such, this test will only run on linux.
    assumeTrue("Host ports are only accessible on linux", SystemUtils.IS_OS_LINUX);

    DockerComposeRule docker = DockerComposeRule.builder()
            .file("src/test/resources/host-networked-docker-compose.yaml")
            .waitingForHostNetworkedPort(5432, toBeOpen())
            .build();
    try {
        docker.before();
        assertThat(docker.hostNetworkedPort(5432).getInternalPort(), is(5432));
        assertThat(docker.hostNetworkedPort(5432).getExternalPort(), is(5432));
    } finally {
        docker.after();
    }
}
项目:imf-conversion    文件:ITunesFormatBuilder.java   
@Override
protected void doBuildDestContext() {
    DestTemplateParameterContext destContext = contextProvider.getDestContext();

    // set interlaced to false if not specified
    String interlaced = destContext.getParameterValue(INTERLACED);
    destContext.addParameter(INTERLACED, interlaced == null ? Boolean.FALSE.toString() : interlaced);

    // define is dar provided
    destContext.addParameter(DEST_PARAM_VIDEO_IS_DAR_SPECIFIED, Boolean.toString(destContext.getParameterValue(DAR) != null));

    // set frame rate for interlaced scan
    // for ffmpeg iFrameRate=frameRate*2
    // for prenc iFrameRate=frameRate
    BigFraction iFrameRate = ConversionHelper.parseEditRate(destContext.getParameterValue(FRAME_RATE));
    if (!SystemUtils.IS_OS_MAC_OSX) {
        iFrameRate = iFrameRate.multiply(2);
    }
    destContext.addParameter(DEST_PARAM_VIDEO_IFRAME_RATE, ConversionHelper.toREditRate(iFrameRate));
}
项目:warp10-platform    文件:NOTBEFORE.java   
@Override
public Object apply(WarpScriptStack stack) throws WarpScriptException {
  Object top = stack.pop();

  long instant;

  if (top instanceof String) {
    if (SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8)) {
      instant = io.warp10.script.unary.TOTIMESTAMP.parseTimestamp(top.toString());
    } else {
      instant = fmt.parseDateTime((String) top).getMillis() * Constants.TIME_UNITS_PER_MS;
    }
  } else if (!(top instanceof Long)) {
    throw new WarpScriptException(getName() + " expects a timestamp or ISO8601 datetime string on top of the stack.");
  } else {
    instant = ((Number) top).longValue();
  }

  long now = TimeSource.getTime();

  if (now < instant) {
    throw new WarpScriptException("Current time is before '" + top + "'");
  }

  return stack;
}
项目:warp10-platform    文件:NOTAFTER.java   
@Override
public Object apply(WarpScriptStack stack) throws WarpScriptException {
  Object top = stack.pop();

  long instant;

  if (top instanceof String) {
    if (SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_8)) {
      instant = io.warp10.script.unary.TOTIMESTAMP.parseTimestamp(top.toString());
    } else {
      instant = fmt.parseDateTime((String) top).getMillis() * Constants.TIME_UNITS_PER_MS;
    }
  } else if (!(top instanceof Long)) {
    throw new WarpScriptException(getName() + " expects a timestamp or ISO8601 datetime string on top of the stack.");
  } else {
    instant = ((Number) top).longValue();
  }

  long now = TimeSource.getTime();

  if (now > instant) {
    throw new WarpScriptException("Current time is after '" + top + "'");
  }

  return stack;
}
项目:beam    文件:LocalResourceId.java   
@Override
public LocalResourceId resolve(String other, ResolveOptions resolveOptions) {
  checkState(
      isDirectory,
      "Expected the path is a directory, but had [%s].",
      pathString);
  checkArgument(
      resolveOptions.equals(StandardResolveOptions.RESOLVE_FILE)
          || resolveOptions.equals(StandardResolveOptions.RESOLVE_DIRECTORY),
      "ResolveOptions: [%s] is not supported.", resolveOptions);
  checkArgument(
      !(resolveOptions.equals(StandardResolveOptions.RESOLVE_FILE)
          && other.endsWith("/")),
      "The resolved file: [%s] should not end with '/'.", other);
  if (SystemUtils.IS_OS_WINDOWS) {
    return resolveLocalPathWindowsOS(other, resolveOptions);
  } else {
    return resolveLocalPath(other, resolveOptions);
  }
}
项目:beam    文件:LocalFileSystemTest.java   
@Test
public void testMatchInDirectory() throws Exception {
  List<String> expected = ImmutableList.of(temporaryFolder.newFile("a").toString());
  temporaryFolder.newFile("aa");
  temporaryFolder.newFile("ab");

  String expectedFile = expected.get(0);
  int slashIndex = expectedFile.lastIndexOf('/');
  if (SystemUtils.IS_OS_WINDOWS) {
      slashIndex = expectedFile.lastIndexOf('\\');
  }
  String directory = expectedFile.substring(0, slashIndex);
  String relative = expectedFile.substring(slashIndex + 1);
  System.setProperty("user.dir", directory);
  List<MatchResult> results = localFileSystem.match(ImmutableList.of(relative));
  assertThat(
      toFilenames(results),
      containsInAnyOrder(expected.toArray(new String[expected.size()])));
}
项目:beam    文件:LocalResourceIdTest.java   
@Test
public void testResolveInWindowsOS() throws Exception {
  if (!SystemUtils.IS_OS_WINDOWS) {
    // Skip tests
    return;
  }
  assertEquals(
      toResourceIdentifier("C:\\my home\\out put"),
      toResourceIdentifier("C:\\my home\\")
          .resolve("out put", StandardResolveOptions.RESOLVE_FILE));

  assertEquals(
      toResourceIdentifier("C:\\out put"),
      toResourceIdentifier("C:\\my home\\")
          .resolve("..", StandardResolveOptions.RESOLVE_DIRECTORY)
          .resolve(".", StandardResolveOptions.RESOLVE_DIRECTORY)
          .resolve("out put", StandardResolveOptions.RESOLVE_FILE));

  assertEquals(
      toResourceIdentifier("C:\\my home\\**\\*"),
      toResourceIdentifier("C:\\my home\\")
          .resolve("**", StandardResolveOptions.RESOLVE_DIRECTORY)
          .resolve("*", StandardResolveOptions.RESOLVE_FILE));
}
项目:JOpt    文件:LPSolveMIPSolver.java   
private static void initLocalLpSolve() throws Exception {
    // Find or create the jopt-lib-lpsolve directory in temp
    File lpSolveTempDir = NativeUtils.createTempDir("jopt-lib-lpsolve");
    lpSolveTempDir.deleteOnExit();

    // Add this directory to the java library path
    NativeUtils.addLibraryPath(lpSolveTempDir.getAbsolutePath());

    // Add the right files to this directory
    if (SystemUtils.IS_OS_WINDOWS) {
        if (SystemUtils.OS_ARCH.contains("64")) {
            NativeUtils.loadLibraryFromJar("/lib/64_lpsolve55.dll", lpSolveTempDir);
            NativeUtils.loadLibraryFromJar("/lib/64_lpsolve55j.dll", lpSolveTempDir);
        } else {
            NativeUtils.loadLibraryFromJar("/lib/32_lpsolve55.dll", lpSolveTempDir);
            NativeUtils.loadLibraryFromJar("/lib/32_lpsolve55j.dll", lpSolveTempDir);
        }
    } else if (SystemUtils.IS_OS_UNIX) {
        if (SystemUtils.OS_ARCH.contains("64")) {
            NativeUtils.loadLibraryFromJar("/lib/64_liblpsolve55.so", lpSolveTempDir);
            NativeUtils.loadLibraryFromJar("/lib/64_liblpsolve55j.so", lpSolveTempDir);
        } else {
            NativeUtils.loadLibraryFromJar("/lib/32_liblpsolve55.so", lpSolveTempDir);
            NativeUtils.loadLibraryFromJar("/lib/32_liblpsolve55j.so", lpSolveTempDir);
        }
    }
}
项目:hygene    文件:AppData.java   
/**
 * Returns a {@link File} instance for the given data file name.
 *
 * @param fileName the file name
 * @return the application data {@link File} object
 */
public static File getFile(final String fileName) {
    String baseDirectory = System.getProperty("user.home");

    // Use the AppData directory if on Windows
    if (SystemUtils.IS_OS_WINDOWS) {
        baseDirectory = System.getenv("AppData");
    }

    return new File(String.format("%s/%s", baseDirectory, APPLICATION_FOLDER_NAME), fileName);
}
项目:powsybl-core    文件:LocalComputationManager.java   
private static LocalCommandExecutor getLocalCommandExecutor() {
    if (SystemUtils.IS_OS_WINDOWS) {
        return new WindowsLocalCommandExecutor();
    } else if (SystemUtils.IS_OS_UNIX) {
        return new UnixLocalCommandExecutor();
    } else {
        throw new UnsupportedOperationException("OS not supported for local execution");
    }
}