Java 类org.apache.commons.lang3.tuple.ImmutableTriple 实例源码

项目:smaph    文件:SmaphUtils.java   
public static Triple<Double, Double, Double> getMinMaxAvg(List<Double> values) {
    if (values.isEmpty())
        return new ImmutableTriple<Double, Double, Double>(0.0, 0.0, 0.0);

    double minVal = Double.POSITIVE_INFINITY;
    double maxVal = Double.NEGATIVE_INFINITY;
    double avgVal = 0.0;
    for (double v : values) {
        minVal = Math.min(v, minVal);
        maxVal = Math.max(v, maxVal);
        avgVal += v / values.size();
    }

    return new ImmutableTriple<Double, Double, Double>(minVal, maxVal,
            avgVal);
}
项目:smaph    文件:EntityFeaturePack.java   
private static Triple<Double, Double, Double> getBoldsEDCapitalizedWordcount(String query, int rank, List<Pair<String, Integer>> websearchBolds){
    double minEdDist = 1.0;
    double capitalized = 0;
    double avgNumWords = 0;
    int boldsCount = 0;
    for (Pair<String, Integer> p : websearchBolds)
        if (p.second == rank) {
            boldsCount++;
            minEdDist = Math.min(minEdDist,
                    SmaphUtils.getMinEditDist(query, p.first));
            if (Character.isUpperCase(p.first.charAt(0)))
                capitalized++;
            avgNumWords += p.first.split("\\W+").length;
        }
    if (boldsCount != 0)
        avgNumWords /= boldsCount;
    return new ImmutableTriple<>(minEdDist, capitalized, avgNumWords);
}
项目:smaph    文件:SmaphAnnotator.java   
private List<Triple<Annotation, AnnotationFeaturePack, Boolean>> getAdvancedARToFtrsAndPresence(
        String query, QueryInformation qi,
        HashSet<Annotation> goldStandardAnn,
        MatchRelation<Annotation> annotationMatch) {

    List<Triple<Annotation, AnnotationFeaturePack, Boolean>> annAndFtrsAndPresence = new Vector<>();
    for (Annotation a : IndividualLinkback.getAnnotations(query,
            qi.allCandidates(), anchorMaxED, e2a, wikiApi)) {
        boolean inGold = false;
        for (Annotation goldAnn : goldStandardAnn)
            if (annotationMatch.match(goldAnn, a)) {
                inGold = true;
                break;
            }
        //if (e2a.containsId(a.getConcept())) {
            AnnotationFeaturePack features = new AnnotationFeaturePack(a, query, qi, wikiApi, wikiToFreeb, e2a);
            annAndFtrsAndPresence.add(new ImmutableTriple<Annotation, AnnotationFeaturePack, Boolean>(a, features, inGold));
        //} else
        //  LOG.warn("No anchors found for id={}", a.getConcept());
    }

    return annAndFtrsAndPresence;
}
项目:smaph    文件:SmaphAnnotator.java   
private List<Triple<HashSet<Annotation>, BindingFeaturePack, Double>> getLBBindingToFtrsAndF1(String query,
        QueryInformation qi, HashSet<Annotation> goldStandardAnn, MatchRelation<Annotation> match,
        Set<Tag> acceptedEntities, SmaphDebugger debugger) {

    Collection<Pair<HashSet<Annotation>, BindingFeaturePack>> bindingAndFeaturePacks = CollectiveLinkBack
            .getBindingFeaturePacks(query, acceptedEntities, qi, bg, wikiApi, wikiToFreeb, e2a, debugger);

    List<Triple<HashSet<Annotation>, BindingFeaturePack, Double>> res = new Vector<>();
    for (Pair<HashSet<Annotation>, BindingFeaturePack> bindingAndFeaturePack : bindingAndFeaturePacks) {
        HashSet<Annotation> binding = bindingAndFeaturePack.first;
        BindingFeaturePack bindingFeatures = bindingAndFeaturePack.second;

        Metrics<Annotation> m = new Metrics<>();
        float f1 = m.getSingleF1(goldStandardAnn, binding, match);

        res.add(new ImmutableTriple<HashSet<Annotation>, BindingFeaturePack, Double>(
                binding, bindingFeatures, (double) f1));
    }
    return res;
}
项目:saluki    文件:GrpcHystrixCommand.java   
public GrpcHystrixCommand(String serviceName, String methodName, Boolean isEnabledFallBack) {
  super(Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey(serviceName))//
      .andCommandKey(HystrixCommandKey.Factory.asKey(serviceName + ":" + methodName))//
      .andCommandPropertiesDefaults(
          HystrixCommandProperties.Setter().withCircuitBreakerRequestVolumeThreshold(20)// 10秒钟内至少19此请求失败,熔断器才发挥起作用
              .withCircuitBreakerSleepWindowInMilliseconds(30000)// 熔断器中断请求30秒后会进入半打开状态,放部分流量过去重试
              .withCircuitBreakerErrorThresholdPercentage(50)// 错误率达到50开启熔断保护
              .withExecutionTimeoutEnabled(false)// 禁用这里的超时
              .withFallbackEnabled(isEnabledFallBack))//
      .andThreadPoolPropertiesDefaults(HystrixThreadPoolProperties.Setter().withCoreSize(100)
          .withAllowMaximumSizeToDivergeFromCoreSize(true).withMaximumSize(Integer.MAX_VALUE)));
  this.serviceName = serviceName;
  this.methodName = methodName;
  this.start = System.currentTimeMillis();
  this.rpcContext = new ImmutableTriple<Map<String, String>, Map<String, Object>, Set<Class>>(
      RpcContext.getContext().getAttachments(), RpcContext.getContext().get(),
      RpcContext.getContext().getHoldenGroups());
  RpcContext.removeContext();
}
项目:smarti    文件:PosCollectorAndNegationHandlerTest.java   
@BeforeClass
public static void initClass() throws IOException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException {
    CONTENTS.add(new ImmutableTriple<MsgData[], String[], Hint[]>(new MsgData[]{
            new MsgData(Origin.User, "Ich suche ein ruhiges und romantisches Restaurant in Berlin für heute Abend.")},
            new String[]{"ruhiges", "romantisches"},
            new Hint[]{}));
    CONTENTS.add(new ImmutableTriple<MsgData[], String[], Hint[]>(new MsgData[]{
            new MsgData(Origin.User, "Ich suche ein nettes Restaurant in Berlin für den kommenden Montag.")},
            new String[]{"nettes"}, //NOTE: not kommenden, because this is in the ignored list
            new Hint[]{}));
    CONTENTS.add(new ImmutableTriple<MsgData[], String[], Hint[]>(new MsgData[]{
            new MsgData(Origin.User, "Bitte kein chinesisches oder indisches Restaurant.")},
            new String[]{"chinesisches","indisches"},
            new Hint[]{Hint.negated})); //those attributes are negated

    OpenNlpPosProcessor pos = new OpenNlpPosProcessor(Collections.singleton(new LanguageGerman()));
    NegationProcessor negation = new NegationProcessor(Arrays.asList(new GermanNegationRule()));

    REQUIRED_PREPERATORS = Arrays.asList(pos, negation);

}
项目:main    文件:SearchCommand.java   
@Override
public void execute() {
    ArrayList<TaskAttributes> fullMatches = taskDb.getAll().stream()
            .map(this::constructFullMatchCancidate)
            .filter(this::isValidCandidate)
            .sorted(this::candidateCompare)
            .map(ImmutableTriple::getRight)
            .collect(Collectors.toCollection(ArrayList::new));

    results = new ArrayList<>(fullMatches);

    results.addAll(taskDb.getAll().stream()
            .map(this::constructStemMatchCandidate)
            .filter(this::isValidCandidate)
            .sorted(this::candidateCompare)
            .map(ImmutableTriple::getRight)
            .filter(task -> !fullMatches.contains(task))
            .collect(Collectors.toCollection(ArrayList::new)));

    logger.info(String.format("Search completed. %d results found.", results.size()));

    eventBus.post(new SearchDoneEvent(results, keywords));
}
项目:ml_demo    文件:WDBCAutoencoder.java   
private void evaluate() {
    scoredTest = new ArrayList<>();

    // run through all example chunks
    for(int i = 0; i < featuresTest.size(); i++) {
        INDArray testData = featuresTest.get(i);
        INDArray labels = labelsTest.get(i);
        int nRows = testData.rows();

        // go through each example individually
        for(int j = 0; j < nRows; j++) {
            INDArray example = testData.getRow(j);
            int digit = (int)labels.getDouble(j);
            double score = net.score(new DataSet(example,example));
            scoredTest.add(new ImmutableTriple<Double, Integer, INDArray>(new Double(score), new Integer(digit), example));
        }
    }

    // sort for increasing score
    Collections.sort(scoredTest, new Comparator<Triple<Double, Integer, INDArray>>() {
        @Override
        public int compare(Triple<Double, Integer, INDArray> o1, Triple<Double, Integer, INDArray> o2) {
            return(o1.getLeft().compareTo(o2.getLeft()));
        }
    });
}
项目:httpkit    文件:Router.java   
private ImmutableTriple<String, String, String> findResourcePathFromFreemarkerRouteMap(String uri)
{
    //2.查找不到,则从docRoutesMap中查找  例如
    //uri:       /root/web/page/index.ftl
    //key:       /root/web
    //value:     static/
    for (String key : freemarkerRoutesMap.keySet())
    {
        if (uri.startsWith(key + "/"))
        {
            //uri:       /root/web/page/index.ftl
            //key:       /root/web
            //value:     static/

            //key:       /root/web/
            String subPath = StringUtils.removeStart(uri, key + "/");
            //subPath:   page/index.ftl
            //uri解码,即可完美支持中文
            subPath = URIEncoderDecoder.decode(subPath);
            return new ImmutableTriple<String, String, String>(key + "/", freemarkerRoutesMap.get(key), subPath);
        }
    }
    return null;
}
项目:pravega    文件:PersistentStreamBase.java   
private CompletableFuture<List<Segment>> getSuccessorsForSegment(final int number) {
    return getHistoryTable()
            .thenApply(historyTable -> {
                CompletableFuture<Segment> segmentFuture = getSegment(number);
                CompletableFuture<Data<T>> indexTableFuture = getIndexTable();
                return new ImmutableTriple<>(historyTable, segmentFuture, indexTableFuture);
            })
            .thenCompose(triple -> CompletableFuture.allOf(triple.getMiddle(), triple.getRight())
                    .thenCompose(x -> {
                        final Segment segment = triple.getMiddle().join();
                        List<Integer> candidates = TableHelper.findSegmentSuccessorCandidates(segment,
                                triple.getRight().join().getData(),
                                triple.getLeft().getData());
                        return findOverlapping(segment, candidates);
                    }));
}
项目:fili    文件:RoleDimensionApiFilterRequestMapper.java   
/**
 * For a set of ApiFilters collect by dimension, field and operation, and union their value sets.
 *
 * @param filterStream  Stream of ApiFilters whose values are to be unioned
 *
 * @return A set of filters with the same operations but values unioned
 */
protected static Set<ApiFilter> unionMergeFilterValues(Stream<ApiFilter> filterStream) {

    Function<ApiFilter, Triple<Dimension, DimensionField, FilterOperation>> filterGroupingIdentity = filter ->
        new ImmutableTriple<>(filter.getDimension(), filter.getDimensionField(), filter.getOperation());

    Map<Triple<Dimension, DimensionField, FilterOperation>, Set<String>> filterMap =
            filterStream.collect(Collectors.groupingBy(
                    filterGroupingIdentity::apply,
                    Collectors.mapping(
                            ApiFilter::getValues,
                            Collectors.reducing(Collections.emptySet(), StreamUtils::setMerge)
                    )
            ));

    return filterMap.entrySet().stream()
            .map(it -> new ApiFilter(
                    it.getKey().getLeft(),
                    it.getKey().getMiddle(),
                    it.getKey().getRight(),
                    it.getValue()
            ))
            .collect(Collectors.toSet());
}
项目:cqrs    文件:CustomerOverview.java   
/**
 * Prints an overview of customers and their orders.
 */
public void print() {
  System.out.println("Customer Overview:");
  System.out.println(StringUtils.rightPad("", 80, "-"));
  System.out.print("| ");
  System.out.print(StringUtils.rightPad("customer", 15));
  System.out.print(" | ");
  System.out.print(StringUtils.rightPad("#orders", 7));
  System.out.print(" | ");
  System.out.println("order ids");
  System.out.println(StringUtils.rightPad("", 80, "-"));

  ordersByCustomer.entrySet().stream().sequential()
      .map(e -> new ImmutableTriple<>(e.getKey(), e.getValue().size(),
          StringUtils.join(e.getValue(), ',')))
      .sorted((lhs, rhs) -> Long.compare(rhs.getMiddle(), lhs.getMiddle()))
      .forEachOrdered(e -> System.out
          .println(String.format("| %s | %s | %s", StringUtils.rightPad(e.getLeft(), 15),
              StringUtils.center(e.getMiddle().toString(), 7), e.getRight())));
  System.out.println();
}
项目:cognition    文件:LineRegexReplaceInRegionBolt.java   
void configureRegexRegions(Configuration conf) throws ConfigurationException {
  List<String> regexRegionGroupList = conf.getList(REGEX_REGION_GROUP).stream().map(o -> o.toString()).collect(Collectors.toList());
  List<String> regexRegionSearchList = conf.getList(REGEX_REGION_SEARCH).stream().map(o -> o.toString()).collect(Collectors.toList());
  List<String> regexRegionReplaceList = conf.getList(REGEX_REGION_REPLACE).stream().map(o -> o.toString()).collect(Collectors.toList());

  int groupListSize = regexRegionGroupList.size();
  int searchListSize = regexRegionSearchList.size();
  int replaceListSize = regexRegionReplaceList.size();
  if (!(groupListSize == searchListSize && searchListSize == replaceListSize)) {
    // all lists must be the same size
    throw new ConfigurationException("Error initializing class. All regexRegion lists must be the same size");
  }

  groupSearchReplaceList = new ArrayList<>(groupListSize);
  for (int index = 0; index < regexRegionGroupList.size(); index++) {
    Pattern pattern = Pattern.compile(regexRegionGroupList.get(index));
    String regex = regexRegionSearchList.get(index);
    String replacement = regexRegionReplaceList.get(index);

    ImmutableTriple<Pattern, String, String> triple = new ImmutableTriple<>(pattern, regex, replacement);
    groupSearchReplaceList.add(triple);
  }
}
项目:syncope    文件:ResourceLogic.java   
private Triple<ExternalResource, AnyType, Provision> connObjectInit(
        final String resourceKey, final String anyTypeKey) {

    ExternalResource resource = resourceDAO.authFind(resourceKey);
    if (resource == null) {
        throw new NotFoundException("Resource '" + resourceKey + "'");
    }
    AnyType anyType = anyTypeDAO.find(anyTypeKey);
    if (anyType == null) {
        throw new NotFoundException("AnyType '" + anyTypeKey + "'");
    }
    Optional<? extends Provision> provision = resource.getProvision(anyType);
    if (!provision.isPresent()) {
        throw new NotFoundException("Provision on resource '" + resourceKey + "' for type '" + anyTypeKey + "'");
    }

    return ImmutableTriple.of(resource, anyType, provision.get());
}
项目:olingo-odata4    文件:PrimitiveCollectionInvocationHandler.java   
@Override
@SuppressWarnings("unchecked")
public Triple<List<T>, URI, List<ClientAnnotation>> fetchPartial(final URI uri, final Class<T> typeRef) {
  final ODataPropertyRequest<ClientProperty> req =
          getClient().getRetrieveRequestFactory().getPropertyRequest(uri);
    req.setPrefer(getClient().newPreferences().includeAnnotations("*"));

  final ODataRetrieveResponse<ClientProperty> res = req.execute();

  final List<T> resItems = new ArrayList<T>();

  final ClientProperty property = res.getBody();
  if (property != null && !property.hasNullValue()) {
    for (ClientValue item : property.getCollectionValue()) {
      resItems.add((T) item.asPrimitive().toValue());
    }
  }

  return new ImmutableTriple<List<T>, URI, List<ClientAnnotation>>(
          resItems, null, Collections.<ClientAnnotation>emptyList());
}
项目:calcite    文件:DruidRules.java   
/**
 * Given a list of conditions that contain Druid valid operations and
 * a list that contains those that contain any non-supported operation,
 * it outputs a triple with three different categories:
 * 1-l) condition filters on the timestamp column,
 * 2-m) condition filters that can be pushed to Druid,
 * 3-r) condition filters that cannot be pushed to Druid.
 */
private static Triple<List<RexNode>, List<RexNode>, List<RexNode>> splitFilters(
    final RexBuilder rexBuilder, final DruidQuery input, final List<RexNode> validPreds,
    final List<RexNode> nonValidPreds, final int timestampFieldIdx) {
  final List<RexNode> timeRangeNodes = new ArrayList<>();
  final List<RexNode> pushableNodes = new ArrayList<>();
  final List<RexNode> nonPushableNodes = new ArrayList<>(nonValidPreds);
  // Number of columns with the dimensions and timestamp
  for (RexNode conj : validPreds) {
    final RelOptUtil.InputReferencedVisitor visitor = new RelOptUtil.InputReferencedVisitor();
    conj.accept(visitor);
    if (visitor.inputPosReferenced.contains(timestampFieldIdx)) {
      if (visitor.inputPosReferenced.size() != 1) {
        // Complex predicate, transformation currently not supported
        nonPushableNodes.add(conj);
      } else {
        timeRangeNodes.add(conj);
      }
    } else {
      pushableNodes.add(conj);
    }
  }
  return ImmutableTriple.of(timeRangeNodes, pushableNodes, nonPushableNodes);
}
项目:calcite    文件:DruidRules.java   
public void onMatch(RelOptRuleCall call) {
  final Aggregate aggregate = call.rel(0);
  final DruidQuery query = call.rel(1);
  if (!DruidQuery.isValidSignature(query.signature() + 'a')) {
    return;
  }

  if (aggregate.indicator
          || aggregate.getGroupSets().size() != 1
          || BAD_AGG.apply(ImmutableTriple.of(aggregate, (RelNode) aggregate, query))
          || !validAggregate(aggregate, query)) {
    return;
  }
  final RelNode newAggregate = aggregate.copy(aggregate.getTraitSet(),
          ImmutableList.of(Util.last(query.rels)));
  call.transformTo(DruidQuery.extendQuery(query, newAggregate));
}
项目:crowly    文件:GeoLocationServiceImpl.java   
@Override
public Map<String, Triple<Double, Double, Double>> getLocationsAsMap(List<String> regionNames) {
    Map<String, Triple<Double, Double, Double>> result = new HashMap<>();
    try {
        for (String regionName : regionNames) {
            HttpResponse<JsonNode> request = Unirest.get(geoAPIURL)
                    .field("sensor", true)
                    .field("key", geoAPICode)
                    .field("address", regionName)
                    .asJson();
            JSONObject response = request.getBody().getObject().getJSONArray(RESULTS).getJSONObject(0).getJSONObject(GEOMETRY);
            JSONObject location = response.getJSONObject(LOCATION);
            JSONObject bounds = response.getJSONObject(BOUNDS);
            Point center = getCenter(location);
            Double distance = getDistance(bounds);
            result.put(regionName, new ImmutableTriple<>(center.getX(), center.getY(), distance));
        }
    } catch (UnirestException | JSONException e) {
        logger.error(e.getMessage(), e);
    }
    return result;
}
项目:poc-play-rest-backend    文件:QueryServiceRestImpl.java   
@NotNull
@Override
public RestServiceResult query(
        @NotNull Class<? extends DaoObject> clazz, int page, int itemPerPage, @NotNull String filters
) throws ServiceException {

    List<ImmutableTriple<String,String,String>> filterList;

    try {
        filterList = filterParserService.parse(filters);
    } catch (FilterParserServiceException e) {

        throw new ServiceException(
                QueryServiceRestImpl.class.getName(), BAD_REQUEST, ExceptionUtils.getStackTrace(e),
                Messages.get("java.service.result.generic.error.msg")
        );
    }

    JavaServiceResult jsr = queryServiceJava.load(clazz, page, itemPerPage, filterList);

    if(jsr.getHttpStatus() == NO_CONTENT) {
        return RestServiceResult.buildServiceResult(NO_CONTENT);
    }

    return RestServiceResult.buildServiceResult(OK, Json.toJson(jsr.getListContent()));
}
项目:poc-play-rest-backend    文件:QueryServiceJavaImpl.java   
@NotNull
@Override
public JavaServiceResult load(
        @NotNull Class<? extends DaoObject> clazz, int page, int itemPerPage,
        @NotNull String filters
) throws ServiceException {

    List< ImmutableTriple<String, String, String> > filterList = null;

    if(!filters.isEmpty()) {
        try {
            filterList = filterParserService.parse(filters);
        } catch (FilterParserServiceException e) {

            throw new ServiceException(
                    QueryServiceJavaImpl.class.getName(), BAD_REQUEST, ExceptionUtils.getStackTrace(e),
                    Messages.get("java.service.result.generic.error.msg")
            );
        }
    }

    return load(clazz, page, itemPerPage, filterList);
}
项目:poc-play-rest-backend    文件:QueryServiceJavaImpl.java   
@NotNull
@Override
public JavaServiceResult load(
        @NotNull Class<? extends DaoObject> clazz, int page, int itemPerPage,
        @Nullable List<ImmutableTriple<String,String,String>> filterList
) throws ServiceException {

    List<? extends DaoObject> entityList;

    try {
        entityList = dao.load(clazz, page, itemPerPage, filterList);
    } catch (IllegalArgumentException | DaoException e) {

        throw new ServiceException(
                QueryServiceJavaImpl.class.getName(), BAD_REQUEST, ExceptionUtils.getStackTrace(e),
                Messages.get("java.service.result.generic.error.msg")
        );
    }

    if(entityList == null || entityList.size() == 0) {
        return JavaServiceResult.buildServiceResult(NO_CONTENT);
    } else {
        return JavaServiceResult.buildServiceResult(OK, entityList);
    }
}
项目:poc-play-rest-backend    文件:GetServiceJavaImpl.java   
@NotNull
@Override
public JavaServiceResult count(@NotNull Class<? extends DaoObject> clazz, @NotNull String filters)
        throws ServiceException {

    List< ImmutableTriple<String, String, String> > filterList = null;

    if(!filters.isEmpty()) {
        try {
            filterList = filterParserService.parse(filters);
        } catch (FilterParserServiceException e) {

            throw new ServiceException(
                    GetServiceJavaImpl.class.getName(), BAD_REQUEST, ExceptionUtils.getStackTrace(e),
                    Messages.get("java.service.result.generic.error.msg")
            );
        }
    }

    return count(clazz, filterList);
}
项目:poc-play-rest-backend    文件:FilterParserServiceImplTest.java   
@Test
public void parse_invalidRestFilter() {
    String invalidRestFilter = "name{like]lot|code[eq4";

    FilterParserServiceImpl service = new FilterParserServiceImpl();
    List<ImmutableTriple<String, String, String>> res = new ArrayList<>();
    boolean exceptionThrown = false;

    try {
        res = service.parse(invalidRestFilter);
    } catch (FilterParserServiceException e) {
        Assert.assertNotNull(e);
        exceptionThrown = true;
    }

    Assert.assertTrue(exceptionThrown);
    Assert.assertTrue("res.size() should be equal to 0", (res.size() == 0));
}
项目:smaph    文件:SmaphDebugger.java   
private ImmutableTriple<Integer, HashMap<String, Double>, Boolean> addEntityFeatures(
        HashMap<String, List<Triple<Integer, HashMap<String, Double>, Boolean>>> source,
        String query, int wid, HashMap<String, Double> features,
        boolean accepted) {
    if (!source.containsKey(query))
        source.put(
                query,
                new Vector<Triple<Integer, HashMap<String, Double>, Boolean>>());
    ImmutableTriple<Integer, HashMap<String, Double>, Boolean> ftrTriple = new ImmutableTriple<>(
            wid, features, accepted);
    source.get(query).add(ftrTriple);
    return ftrTriple;
}
项目:smaph    文件:SmaphDebugger.java   
private void addSourceSearchResult(
        HashMap<String, List<Triple<Integer, String, Integer>>> source,
        String query, HashMap<Integer, Integer> rankToIdNS,
        List<String> urls) {
    if (!source.containsKey(query))
        source.put(query, new Vector<Triple<Integer, String, Integer>>());
    for (int i = 0; i < urls.size(); i++)
        source.get(query).add(
                new ImmutableTriple<>(i, urls.get(i), rankToIdNS
                        .containsKey(i) ? rankToIdNS.get(i) : -1));
}
项目:saluki    文件:ConsulRegistryRepository.java   
/**
 * ==============help method=============
 */
private Triple<String, String, String> getmachineInfo(String providerAndConsumerKv, String groupService) {
    String thralUrl = consulClient.getKVValue(providerAndConsumerKv).getValue().getDecodedValue();
    GrpcURL url = GrpcURL.valueOf(thralUrl);
    String flagAndIp = StringUtils.remove(providerAndConsumerKv, groupService + "/");
    String[] serverInfos = StringUtils.split(flagAndIp, "/");
    String machineFlag = serverInfos[1];
    return new ImmutableTriple<String, String, String>(machineFlag, url.getAddress(),
                                                       url.getParameter(Constants.HTTP_PORT_KEY));
}
项目:saluki    文件:ConsulRegistryRepository.java   
private Triple<String, String, String> getPortHostService(String serviceId) {
    String[] args = StringUtils.split(serviceId, "-");
    String hostRpcPort = args[0];
    String service = args[1];
    String version = "1.0.0";
    if (args.length > 2) {
        version = args[2];
    }
    return new ImmutableTriple<String, String, String>(hostRpcPort, service, version);
}
项目:saluki    文件:DatabaseUserDetailService.java   
public Triple<Long, String, Long> loadClientByToken(String tokenId) {
  String clientId = accessTokenRepository.findOneByTokenId(tokenId)//
      .map(accessTokenEntity -> accessTokenEntity.getClientId())//
      .orElseThrow(() -> new UsernameNotFoundException(
          "Token " + tokenId + " was not found in the database"));
  ClientDetailsEntity details = clientDetailsRepository.findOneByClientId(clientId).get();
  ClientDetailsLimitEntity clientLimit = details.getClientLimit();

  return new ImmutableTriple<Long, String, Long>(clientLimit.getIntervalInMills(), clientId,
      clientLimit.getLimits());

}
项目:datax    文件:DBUtil.java   
/**
 * @return Left:ColumnName Middle:ColumnType Right:ColumnTypeName
 */
public static Triple<List<String>, List<Integer>, List<String>> getColumnMetaData(
        Connection conn, String tableName, String column) {
    Statement statement = null;
    ResultSet rs = null;

    Triple<List<String>, List<Integer>, List<String>> columnMetaData = new ImmutableTriple<List<String>, List<Integer>, List<String>>(
            new ArrayList<String>(), new ArrayList<Integer>(),
            new ArrayList<String>());
    try {
        statement = conn.createStatement();
        String queryColumnSql = "select " + column + " from " + tableName
                + " where 1=2";

        rs = statement.executeQuery(queryColumnSql);
        ResultSetMetaData rsMetaData = rs.getMetaData();
        for (int i = 0, len = rsMetaData.getColumnCount(); i < len; i++) {

            columnMetaData.getLeft().add(rsMetaData.getColumnName(i + 1));
            columnMetaData.getMiddle().add(rsMetaData.getColumnType(i + 1));
            columnMetaData.getRight().add(
                    rsMetaData.getColumnTypeName(i + 1));
        }
        return columnMetaData;

    } catch (SQLException e) {
        throw DataXException
                .asDataXException(DBUtilErrorCode.GET_COLUMN_INFO_FAILED,
                        String.format("获取表:%s 的字段的元信息时失败. 请联系 DBA 核查该库、表信息.", tableName), e);
    } finally {
        DBUtil.closeDBResources(rs, statement, null);
    }
}
项目:main    文件:SearchCommand.java   
private ImmutableTriple<Long, Integer, TaskAttributes> constructFullMatchCancidate(TaskAttributes task) {
    String[] parts = task.getDescription().split("\\s+");
    int wordCount = parts.length;

    long rank = Arrays.stream(parts)
        .filter(this::isFullMatch)
        .count();

    return new ImmutableTriple<Long, Integer, TaskAttributes>(rank, wordCount, task);
}
项目:main    文件:SearchCommand.java   
private ImmutableTriple<Long, Integer, TaskAttributes> constructStemMatchCandidate(TaskAttributes task) {
    String[] parts = task.getDescription().split("\\s+");
    int wordCount = parts.length;

    long rank = Arrays.stream(parts)
            .map(stemmer::stem)
            .filter(this::isStemMatch)
            .count();

    return new ImmutableTriple<Long, Integer, TaskAttributes>(rank, wordCount, task);
}
项目:main    文件:SearchCommand.java   
private int candidateCompare(ImmutableTriple<Long, Integer, TaskAttributes> left,
                             ImmutableTriple<Long, Integer, TaskAttributes> right) {

    if (left.getLeft() > right.getLeft()) {
        return -1;
    } else if (left.getLeft() < right.getLeft()) {
        return 1;
    } else {
        return left.getMiddle() - right.getMiddle();
    }
}
项目:AwesomeJavaLibraryExamples    文件:ExampleTriple.java   
private static Triple<String, String, String> buildATriple()
{
   Triple<String, String, String> toReturn = new ImmutableTriple<>(
      "Left",
      "Middle",
      "Right"
   );

   return toReturn;
}
项目:SnowGraph    文件:TransE.java   
private void bfgs() {
    System.out.println("BFGS:");
    res = 0;
    int nbatches = 100;
    int nepoch = 1000;
    int batchsize = fb_h.size() / nbatches;
    for (int epoch = 0; epoch < nepoch; epoch++) {
        res = 0;
        for (int batch = 0; batch < nbatches; batch++) {
            relation_tmp = relation_vec.clone();
            entity_tmp = entity_vec.clone();
            for (int k = 0; k < batchsize; k++) {
                int i = rand_max(fb_h.size());
                int j = rand_max(entity_num);
                double pr = 1000.0 * right_num.get(fb_r.get(i))
                        / (right_num.get(fb_r.get(i)) + left_num.get(fb_r.get(i)));
                if (method == 0)
                    pr = 500;
                if (rand_max(1000) < pr) {
                    while (ok.contains(new ImmutableTriple<>(fb_h.get(i), fb_r.get(i), j)))
                        j = rand_max(entity_num);
                    train_kb(fb_h.get(i), fb_l.get(i), fb_r.get(i), fb_h.get(i), j, fb_r.get(i));
                } else {
                    while (ok.contains(new ImmutableTriple<>(j, fb_r.get(i), fb_l.get(i))))
                        j = rand_max(entity_num);
                    train_kb(fb_h.get(i), fb_l.get(i), fb_r.get(i), j, fb_l.get(i), fb_r.get(i));
                }
                norm(relation_tmp[fb_r.get(i)]);
                norm(entity_tmp[fb_h.get(i)]);
                norm(entity_tmp[fb_l.get(i)]);
                norm(entity_tmp[j]);
            }
            relation_vec = relation_tmp;
            entity_vec = entity_tmp;
        }
        System.out.println("epoch:" + epoch + ' ' + res);
    }
}
项目:SnowGraph    文件:TransE.java   
private void add(int e1, int e2, int r) {
    fb_h.add(e1);
    fb_r.add(r);
    fb_l.add(e2);
    Triple<Integer, Integer, Integer> triple = new ImmutableTriple<>(e1, r, e2);
    ok.add(triple);
}
项目:SnowGraph    文件:TransExtractor.java   
private void prepare() {
    List<String> entities = new ArrayList<>();
    List<String> relations = new ArrayList<>();
    List<Triple<String, String, String>> triples = new ArrayList<>();
    try (Transaction tx = db.beginTx()) {
        for (Node node : db.getAllNodes()) {
            if (!node.hasLabel(Label.label(JavaCodeExtractor.CLASS)) &&
                    !node.hasLabel(Label.label(JavaCodeExtractor.INTERFACE)) &&
                    !node.hasLabel(Label.label(JavaCodeExtractor.METHOD)) &&
                    !node.hasLabel(Label.label(JavaCodeExtractor.FIELD)))
                continue;
            entities.add("" + node.getId());
        }

        for (Relationship rel : db.getAllRelationships()) {
            Node node1 = rel.getStartNode();
            if (!node1.hasLabel(Label.label(JavaCodeExtractor.CLASS)) &&
                    !node1.hasLabel(Label.label(JavaCodeExtractor.INTERFACE)) &&
                    !node1.hasLabel(Label.label(JavaCodeExtractor.METHOD)) &&
                    !node1.hasLabel(Label.label(JavaCodeExtractor.FIELD)))
                continue;
            Node node2 = rel.getEndNode();
            if (!node2.hasLabel(Label.label(JavaCodeExtractor.CLASS)) &&
                    !node2.hasLabel(Label.label(JavaCodeExtractor.INTERFACE)) &&
                    !node2.hasLabel(Label.label(JavaCodeExtractor.METHOD)) &&
                    !node2.hasLabel(Label.label(JavaCodeExtractor.FIELD)))
                continue;
            triples.add(new ImmutableTriple<>("" + node1.getId(), "" + node2.getId(), rel.getType().name()));
            if (!relations.contains(rel.getType().name()))
                relations.add(rel.getType().name());
        }
        tx.success();
    }
    transE.prepare(entities, relations, triples);
}
项目:cineast    文件:EvaluationResult.java   
/**
 * Registers a new document from the resultset alongside with the information whether it was a hit or not.
 * Updates the retrieval statistics.
 *
 * @param docID ID of the document that was retrieved.
 * @param k The rank of the retrieved document.
 * @param relevant Boolean that indicates whether the document was relevant (true) or not (false).
 */
public final void documentAvailable(String docID, int k, boolean relevant) {
    if (k < 1) {
      throw new IllegalArgumentException(String.format("The value k must be greater than 0 (is: %d).", k));
    }
    if (k < this.pk.size()) {
      throw new IllegalArgumentException(String.format("The provided rank %d has already been evaluated.", k));
    }
    if (relevant) {
      this.intersection += 1;
    }
    this.retrieved += 1;
    Triple<String,Float,Float> triple = new ImmutableTriple<>(docID, (float)this.intersection/(float)k,  (float)this.intersection/(float)this.relevant);
    this.pk.add(triple);
}
项目:Rapture    文件:PluginSandboxItem.java   
/**
 * Split the path of a filename into the extensionless path (for URI construction) and the URI scheme (based on the file extension)
 * 
 * @param path
 *            The relative path within the contents directory
 * @return a triple of the path (left), the attribute(middle), and the URI scheme (right)
 */
public static Triple<String, String, Scheme> extractScheme(String path) {
    int chop = path.lastIndexOf('.');
    if (chop < 0) return null;
    String schemeName = path.substring(chop);

    String attr = null;
    Scheme scheme = ext2scheme.get(schemeName);
    if (scheme == null) {
        scheme = raw2scheme.get(schemeName);
        if (scheme == null) {
            scheme = BLOB; // Oooerr - unmatched extensions will be blobs (THIS IS GOOD, BELIEVE ME)
        } else {
            path = path.substring(0, chop);
        }
        switch (scheme) {
        case BLOB:
            attr = getResolver().getMimeTypeFromPath(path);
            break;
        case SCRIPT:
            attr = schemeName.equals(".jjs") ? "jjs" : "raw";
            break;
        default:
            throw new Error("Severe: Unhandled scheme in raw2scheme map"); // can only happen if a bad checkin is made
        }
    } else {
        path = path.substring(0, chop);
    }
    return ImmutableTriple.of(path, attr, scheme);
}
项目:diceH2020-space4cloudsWS    文件:CoarseGrainedOptimizer.java   
private List<Triple<Integer, Optional<Double>, Boolean>>
alterUntilBreakPoint(SolutionPerJob solPerJob, Function<Integer, Integer> updateFunction,
                     Function<Double, Double> fromResult, Predicate<Double> feasibilityCheck,
                     Predicate<Double> stoppingCondition, BiPredicate<Double, Double> incrementCheck,
                     Predicate<Integer> vmCheck) {
    List<Triple<Integer, Optional<Double>, Boolean>> lst = new ArrayList<>();
    Optional<Double> previous = Optional.empty();
    boolean shouldKeepGoing = true;

    while (shouldKeepGoing) {
        Pair<Optional<Double>, Long> simulatorResult = dataProcessor.simulateClass(solPerJob);
        Optional<Double> maybeResult = simulatorResult.getLeft();
        Optional<Double> interestingMetric = maybeResult.map(fromResult);

        Integer nVM = solPerJob.getNumberVM();
        lst.add(new ImmutableTriple<>(nVM, maybeResult,
                interestingMetric.filter(feasibilityCheck).isPresent ()));

        boolean terminationCriterion = ! checkState() || vmCheck.test(nVM) ||
                interestingMetric.filter(stoppingCondition).isPresent ();
        if (previous.isPresent() && interestingMetric.isPresent()) {
            terminationCriterion |= incrementCheck.test(previous.get(), interestingMetric.get());
        }
        shouldKeepGoing = ! terminationCriterion;
        previous = interestingMetric;

        if (shouldKeepGoing) {
            String message = String.format("class %s -> num VM: %d, simulator result: %f, metric: %f",
                    solPerJob.getId(), nVM, maybeResult.orElse(Double.NaN),
                    interestingMetric.orElse(Double.NaN));
            logger.info(message);
            solPerJob.updateNumberVM(updateFunction.apply(nVM));
        }
    }

    return lst;
}
项目:maker    文件:Enums.java   
public static void main(final String[] args) {
  ImmutableTriple<String, String, String> _immutableTriple = new ImmutableTriple<String, String, String>("NOT_CHECK", "0", "未审核");
  ImmutableTriple<String, String, String> _immutableTriple_1 = new ImmutableTriple<String, String, String>("OK", "1", "通过");
  ImmutableTriple<String, String, String> _immutableTriple_2 = new ImmutableTriple<String, String, String>("NO", "2", "不通过");
  ArrayList<Triple<String, String, String>> _newArrayList = CollectionLiterals.<Triple<String, String, String>>newArrayList(_immutableTriple, _immutableTriple_1, _immutableTriple_2);
  String _enumKlass = Enums.enumKlass("BgStatus", _newArrayList);
  InputOutput.<String>println(_enumKlass);
}