Example #1
0
  @Override
  public synchronized void loadFromRemoteFixed(String id, Entry<JsonObject, Long> remoteEntry) {
    if (!Factions.get().isDatabaseInitialized()) {
      super.loadFromRemoteFixed(id, remoteEntry);
      return;
    }

    MPlayer mplayer = null;

    // Before
    String beforeId = null;
    if (mplayer == null) mplayer = this.id2entity.get(id);
    if (mplayer != null) beforeId = mplayer.getFactionId();

    // Super
    super.loadFromRemoteFixed(id, remoteEntry);

    // After
    String afterId = null;
    if (mplayer == null) mplayer = this.id2entity.get(id);
    if (mplayer != null) afterId = mplayer.getFactionId();

    // Perform
    if (mplayer != null) mplayer.updateFactionIndexes(beforeId, afterId);
  }
  public void run() {
    Throwable tr = null;
    try {
      List<Object> cmdArray = ((List<Object>) (new ArrayList<Object>(20)));
      cmdArray.add(((Object) (SettingsAdapter.getInstance().getMPlayerCommand())));
      if (MPlayer.isChangingProcessPrioritySupported()) {
        cmdArray.add("-priority");
        cmdArray.add(((Object) (SettingsAdapter.getInstance().getMPlayerProcessPriority().name())));
      }
      cmdArray.add("-ss");
      cmdArray.add(((Object) (Long.toString(mOffset))));
      cmdArray.add(((Object) (player.mFile.getPath())));
      if (logger.isDebugEnabled()) {
        StringBuilder sb = new StringBuilder();
        String s;
        for (Iterator<Object> iterator = cmdArray.iterator();
            iterator.hasNext();
            sb.append(s).append(' ')) s = (String) iterator.next();

        logger.debug(
            ((Object)
                ((new StringBuilder("Executing ["))
                    .append(((Object) (sb)))
                    .append("]")
                    .toString())));
      }
      mProc =
          Runtime.getRuntime()
              .exec((String[]) cmdArray.toArray(((Object[]) (new String[cmdArray.size()]))));
      logger.debug(
          ((Object) ((new StringBuilder("  as process ")).append(((Object) (mProc))).toString())));
      threadStartupDone = true;
      StreamGobbler errorGobbler = new StreamGobbler("stderr", mProc.getErrorStream());
      errorGobbler.start();
      StreamGobbler outputGobbler = new StreamGobbler("stdout", mProc.getInputStream());
      outputGobbler.start();
      int exitCode = mProc.waitFor();
      logger.debug(
          ((Object)
              ((new StringBuilder())
                  .append(((Object) (mProc)))
                  .append(" finished with exit code ")
                  .append(exitCode)
                  .toString())));
    } catch (Exception e) {
      logger.error("", ((Throwable) (e)));
      tr = ((Throwable) (e));
    } finally {
      threadStartupDone = true;
      terminated = true;
    }
    if (tr != null) player.fireExceptionEvent(tr);
  }
Example #3
0
  public void clean() {
    for (MPlayer mplayer : this.getAll()) {
      String factionId = mplayer.getFactionId();
      if (FactionColl.get().containsId(factionId)) continue;

      mplayer.resetFactionData();

      String message =
          Txt.parse(
              "<i>Reset data for <h>%s <i>. Unknown factionId <h>%s",
              mplayer.getDisplayName(IdUtil.getConsole()), factionId);
      Factions.get().log(message);
    }
  }
Example #4
0
  @Override
  public synchronized MPlayer removeAtLocalFixed(String id) {
    if (!Factions.get().isDatabaseInitialized()) return super.removeAtLocalFixed(id);

    MPlayer mplayer = this.id2entity.get(id);

    if (mplayer != null) {
      String beforeId = mplayer.getFactionId();
      String afterId = null;
      mplayer.updateFactionIndexes(beforeId, afterId);
    }

    return super.removeAtLocalFixed(id);
  }