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


Java Message.getCause方法代码示例

本文整理汇总了Java中com.google.inject.spi.Message.getCause方法的典型用法代码示例。如果您正苦于以下问题:Java Message.getCause方法的具体用法?Java Message.getCause怎么用?Java Message.getCause使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.inject.spi.Message的用法示例。


在下文中一共展示了Message.getCause方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getOnlyCause

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/**
 * Returns the cause throwable if there is exactly one cause in
 * {@code messages}. If there are zero or multiple messages with causes,
 * null is returned.
 */
public static Throwable getOnlyCause(Collection<Message> messages) {
    Throwable onlyCause = null;
    for (Message message : messages) {
        Throwable messageCause = message.getCause();
        if (messageCause == null) {
            continue;
        }

        if (onlyCause != null) {
            return null;
        }

        onlyCause = messageCause;
    }

    return onlyCause;
}
 
开发者ID:ruediste,项目名称:salta,代码行数:23,代码来源:Errors.java

示例2: mergeSources

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/** Prepends the list of sources to the given {@link Message} */
static Message mergeSources(List<Object> sources, Message message) {
  List<Object> messageSources = message.getSources();
  // It is possible that the end of getSources() and the beginning of message.getSources() are
  // equivalent, in this case we should drop the repeated source when joining the lists.  The
  // most likely scenario where this would happen is when a scoped binding throws an exception,
  // due to the fact that InternalFactoryToProviderAdapter applies the binding source when
  // merging errors.
  if (!sources.isEmpty()
      && !messageSources.isEmpty()
      && Objects.equal(messageSources.get(0), sources.get(sources.size() - 1))) {
    messageSources = messageSources.subList(1, messageSources.size());
  }
  return new Message(
      ImmutableList.builder().addAll(sources).addAll(messageSources).build(),
      message.getMessage(),
      message.getCause());
}
 
开发者ID:google,项目名称:guice,代码行数:19,代码来源:Messages.java

示例3: getOnlyCause

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/**
 * Returns the cause throwable if there is exactly one cause in {@code messages}. If there are
 * zero or multiple messages with causes, null is returned.
 */
public static Throwable getOnlyCause(Collection<Message> messages) {
  Throwable onlyCause = null;
  for (Message message : messages) {
    Throwable messageCause = message.getCause();
    if (messageCause == null) {
      continue;
    }

    if (onlyCause != null && !ThrowableEquivalence.INSTANCE.equivalent(onlyCause, messageCause)) {
      return null;
    }

    onlyCause = messageCause;
  }

  return onlyCause;
}
 
开发者ID:google,项目名称:guice,代码行数:22,代码来源:Messages.java

示例4: getOnlyCause

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/**
 * Returns the cause throwable if there is exactly one cause in {@code messages}. If there are
 * zero or multiple messages with causes, null is returned.
 */
public static Throwable getOnlyCause(Collection<Message> messages) {
  Throwable onlyCause = null;
  for (Message message : messages) {
    Throwable messageCause = message.getCause();
    if (messageCause == null) {
      continue;
    }

    if (onlyCause != null) {
      return null;
    }

    onlyCause = messageCause;
  }

  return onlyCause;
}
 
开发者ID:cgruber,项目名称:guice-old,代码行数:22,代码来源:Errors.java

示例5: format

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/**
 * Returns the formatted message for an exception with the specified
 * messages.
 */
public static String format(String heading,
        Collection<Message> errorMessages) {
    Formatter fmt = new Formatter().format(heading).format(":%n%n");
    int index = 1;
    boolean displayCauses = getOnlyCause(errorMessages) == null;

    for (Message errorMessage : errorMessages) {
        fmt.format("%s) %s%n", index++, errorMessage.getMessage());

        Throwable cause = errorMessage.getCause();
        if (displayCauses && cause != null) {
            StringWriter writer = new StringWriter();
            cause.printStackTrace(new PrintWriter(writer));
            fmt.format("Caused by: %s", writer.getBuffer());
        }

        fmt.format("%n");
    }

    if (errorMessages.size() == 1) {
        fmt.format("1 error");
    } else {
        fmt.format("%s errors", errorMessages.size());
    }

    return fmt.toString();
}
 
开发者ID:ruediste,项目名称:salta,代码行数:32,代码来源:Errors.java

示例6: visit

import com.google.inject.spi.Message; //导入方法依赖的package包/类
@Override
public Boolean visit(Message message) {
  if (message.getCause() != null) {
    String rootMessage = getRootMessage(message.getCause());
    logger.log(
        Level.INFO,
        "An exception was caught and reported. Message: " + rootMessage,
        message.getCause());
  }

  errors.addMessage(message);
  return true;
}
 
开发者ID:google,项目名称:guice,代码行数:14,代码来源:MessageProcessor.java

示例7: visit

import com.google.inject.spi.Message; //导入方法依赖的package包/类
@Override public Boolean visit(Message message) {
  if (message.getCause() != null) {
    String rootMessage = getRootMessage(message.getCause());
    logger.log(Level.INFO,
        "An exception was caught and reported. Message: " + rootMessage,
        message.getCause());
  }

  errors.addMessage(message);
  return true;
}
 
开发者ID:cgruber,项目名称:guice-old,代码行数:12,代码来源:MessageProcessor.java

示例8: format

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/** Returns the formatted message for an exception with the specified messages. */
public static String format(String heading, Collection<Message> errorMessages) {
  Formatter fmt = new Formatter().format(heading).format(":%n%n");
  int index = 1;
  boolean displayCauses = getOnlyCause(errorMessages) == null;

  for (Message errorMessage : errorMessages) {
    fmt.format("%s) %s%n", index++, errorMessage.getMessage());

    List<Object> dependencies = errorMessage.getSources();
    for (int i = dependencies.size() - 1; i >= 0; i--) {
      Object source = dependencies.get(i);
      formatSource(fmt, source);
    }

    Throwable cause = errorMessage.getCause();
    if (displayCauses && cause != null) {
      StringWriter writer = new StringWriter();
      cause.printStackTrace(new PrintWriter(writer));
      fmt.format("Caused by: %s", writer.getBuffer());
    }

    fmt.format("%n");
  }

  if (errorMessages.size() == 1) {
    fmt.format("1 error");
  } else {
    fmt.format("%s errors", errorMessages.size());
  }

  return fmt.toString();
}
 
开发者ID:cgruber,项目名称:guice-old,代码行数:34,代码来源:Errors.java

示例9: merge

import com.google.inject.spi.Message; //导入方法依赖的package包/类
private Message merge(Message message) {
    List<Object> sources = Lists.newArrayList();
    sources.addAll(getSources());
    sources.addAll(message.getSources());
    return new Message(sources, message.getMessage(), message.getCause());
}
 
开发者ID:ruediste,项目名称:salta,代码行数:7,代码来源:Errors.java

示例10: createSiteInit

import com.google.inject.spi.Message; //导入方法依赖的package包/类
private SiteInit createSiteInit() {
  final ConsoleUI ui = getConsoleUI();
  final Path sitePath = getSitePath();
  final List<Module> m = new ArrayList<>();
  final SecureStoreInitData secureStoreInitData = discoverSecureStoreClass();
  final String currentSecureStoreClassName = getConfiguredSecureStoreClass();

  if (secureStoreInitData != null
      && currentSecureStoreClassName != null
      && !currentSecureStoreClassName.equals(secureStoreInitData.className)) {
    String err =
        String.format(
            "Different secure store was previously configured: %s. "
                + "Use SwitchSecureStore program to switch between implementations.",
            currentSecureStoreClassName);
    throw die(err);
  }

  m.add(new GerritServerConfigModule());
  m.add(new InitModule(standalone, initDb));
  m.add(
      new AbstractModule() {
        @Override
        protected void configure() {
          bind(ConsoleUI.class).toInstance(ui);
          bind(Path.class).annotatedWith(SitePath.class).toInstance(sitePath);
          List<String> plugins =
              MoreObjects.firstNonNull(getInstallPlugins(), new ArrayList<String>());
          bind(new TypeLiteral<List<String>>() {})
              .annotatedWith(InstallPlugins.class)
              .toInstance(plugins);
          bind(new TypeLiteral<Boolean>() {})
              .annotatedWith(InstallAllPlugins.class)
              .toInstance(installAllPlugins());
          bind(PluginsDistribution.class).toInstance(pluginsDistribution);

          String secureStoreClassName;
          if (secureStoreInitData != null) {
            secureStoreClassName = secureStoreInitData.className;
          } else {
            secureStoreClassName = currentSecureStoreClassName;
          }
          if (secureStoreClassName != null) {
            ui.message("Using secure store: %s\n", secureStoreClassName);
          }
          bind(SecureStoreInitData.class).toProvider(Providers.of(secureStoreInitData));
          bind(String.class)
              .annotatedWith(SecureStoreClassName.class)
              .toProvider(Providers.of(secureStoreClassName));
          bind(SecureStore.class).toProvider(SecureStoreProvider.class).in(SINGLETON);
          bind(new TypeLiteral<List<String>>() {})
              .annotatedWith(LibraryDownload.class)
              .toInstance(getSkippedDownloads());
          bind(Boolean.class).annotatedWith(LibraryDownload.class).toInstance(skipAllDownloads());

          bind(MetricMaker.class).to(DisabledMetricMaker.class);
        }
      });

  try {
    return Guice.createInjector(PRODUCTION, m).getInstance(SiteInit.class);
  } catch (CreationException ce) {
    final Message first = ce.getErrorMessages().iterator().next();
    Throwable why = first.getCause();

    if (why instanceof Die) {
      throw (Die) why;
    }

    final StringBuilder buf = new StringBuilder(ce.getMessage());
    while (why != null) {
      buf.append("\n");
      buf.append(why.getMessage());
      why = why.getCause();
      if (why != null) {
        buf.append("\n  caused by ");
      }
    }
    throw die(buf.toString(), new RuntimeException("InitInjector failed", ce));
  }
}
 
开发者ID:gerrit-review,项目名称:gerrit,代码行数:82,代码来源:BaseInit.java

示例11: formatMessages

import com.google.inject.spi.Message; //导入方法依赖的package包/类
/** Returns the formatted message for an exception with the specified messages. */
public static String formatMessages(String heading, Collection<Message> errorMessages) {
  Formatter fmt = new Formatter().format(heading).format(":%n%n");
  int index = 1;
  boolean displayCauses = getOnlyCause(errorMessages) == null;

  Map<Equivalence.Wrapper<Throwable>, Integer> causes = Maps.newHashMap();
  for (Message errorMessage : errorMessages) {
    int thisIdx = index++;
    fmt.format("%s) %s%n", thisIdx, errorMessage.getMessage());

    List<Object> dependencies = errorMessage.getSources();
    for (int i = dependencies.size() - 1; i >= 0; i--) {
      Object source = dependencies.get(i);
      formatSource(fmt, source);
    }

    Throwable cause = errorMessage.getCause();
    if (displayCauses && cause != null) {
      Equivalence.Wrapper<Throwable> causeEquivalence = ThrowableEquivalence.INSTANCE.wrap(cause);
      if (!causes.containsKey(causeEquivalence)) {
        causes.put(causeEquivalence, thisIdx);
        fmt.format("Caused by: %s", Throwables.getStackTraceAsString(cause));
      } else {
        int causeIdx = causes.get(causeEquivalence);
        fmt.format(
            "Caused by: %s (same stack trace as error #%s)",
            cause.getClass().getName(), causeIdx);
      }
    }

    fmt.format("%n");
  }

  if (errorMessages.size() == 1) {
    fmt.format("1 error");
  } else {
    fmt.format("%s errors", errorMessages.size());
  }

  return fmt.toString();
}
 
开发者ID:google,项目名称:guice,代码行数:43,代码来源:Messages.java

示例12: merge

import com.google.inject.spi.Message; //导入方法依赖的package包/类
private Message merge(Message message) {
  List<Object> sources = Lists.newArrayList();
  sources.addAll(getSources());
  sources.addAll(message.getSources());
  return new Message(sources, message.getMessage(), message.getCause());
}
 
开发者ID:cgruber,项目名称:guice-old,代码行数:7,代码来源:Errors.java


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