Java Code Examples for java.util.LinkedHashSet#size()

The following examples show how to use java.util.LinkedHashSet#size() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Authenticators.java    From proarc with GNU General Public License v3.0 6 votes vote down vote up
public List<Authenticator> getAuthenticators() {
    List<Object> authenticatorIds = conf.getList(PROPERTY_AUTHENTICATORS);
    LinkedHashSet<Object> ids = new LinkedHashSet<Object>(authenticatorIds);
    // ensure the ProArc authenticator used as a last resort
    ids.remove(TYPE_PROARC);
    ids.add(TYPE_PROARC);
    ArrayList<Authenticator> authenticators = new ArrayList<Authenticator>(ids.size());
    for (Object id : ids) {
        if (TYPE_PROARC.equals(id)) {
            authenticators.add(new ProArcAuthenticator());
        } else if (TYPE_DESA.equals(id)) {
            authenticators.add(new DESAAuthenticator());
        } else {
            LOG.warning("Unknown authenticator: " + id);
        }
    }
    return authenticators;
}
 
Example 2
Source File: LabelEncoder.java    From clust4j with Apache License 2.0 6 votes vote down vote up
public LabelEncoder(int[] labels) {
	VecUtils.checkDims(labels);
	
	final LinkedHashSet<Integer> unique = VecUtils.unique(labels);
	numClasses = unique.size();
	if(numClasses < 2 && !allowSingleClass()) {
		throw new IllegalArgumentException("y has "+numClasses+" unique class" 
			+ (numClasses!=1?"es":"") + " and requires at least two");
	}
	
	this.rawLabels = VecUtils.copy(labels);
	this.n = rawLabels.length;
	
	int idx = 0;
	this.classes = new int[numClasses];
	for(Integer u: unique) classes[idx++] = u.intValue();
	
	// Initialize mappings
	encodedMapping = new TreeMap<>();
	reverseMapping = new TreeMap<>();
	encodedLabels = new int[n];
}
 
Example 3
Source File: Strings.java    From gate-core with GNU Lesser General Public License v3.0 6 votes vote down vote up
/**
 * Get back a Map of String*String from its String representation.
 * Unescape backslashed separator characters.
 * @param string String to convert to a Map
 * @return a Map
 * @see #toString(java.util.Map)
 */
public static Map<String, String> toMap(String string) {
  Map<String, String> map = new HashMap<String, String>();
  if (string == null
   || string.length() < 3) {
    return map;
  }
  Set<String> firstList = toSet(string, ", ");
  for (String element : firstList) {
    LinkedHashSet<String> secondList = toSet("[" + element + "]", "=");
    if (secondList.size() == 2) {
      Iterator<String> iterator = secondList.iterator();
      map.put(iterator.next(), iterator.next());
    } else {
      Err.prln("Ignoring element: [" + element + "]");
      Err.prln("Expecting: [key=value]");
    }
  }
  return map;
}
 
Example 4
Source File: PasswordPolicyManager.java    From pentaho-reporting with GNU Lesser General Public License v2.1 6 votes vote down vote up
private LinkedHashSet<String> getFilesAsList()
  throws BackingStoreException {
  final LinkedHashSet<String> retval = new LinkedHashSet<String>();
  final String[] strings = properties.keys();
  final int maxFiles = Math.min( 10, strings.length );
  for ( int i = 0; i < maxFiles; i++ ) {
    final String key = strings[ i ];
    final String file = properties.get( key, null );

    if ( file == null ) {
      continue;
    }
    retval.add( file );
  }

  if ( retval.size() != strings.length ) {
    // store ..
    store( retval );
  }
  return retval;
}
 
Example 5
Source File: LowestCommonAncestor.java    From Concurnas with MIT License 6 votes vote down vote up
private LinkedHashSet<NamedType> getShortestList(ArrayList<LinkedHashSet<NamedType>> searchLists)
{
	LinkedHashSet<NamedType> shortSoFar = null;
	int shotest = -1;
	
	for(LinkedHashSet<NamedType> s : searchLists)
	{
		if(shotest == -1)
		{
			shortSoFar = s;
			shotest = s.size();
		}
		else
		{
			int ss = s.size();
			if(ss < shotest)
			{
				shortSoFar = s;
				shotest = ss;
			}
		}
		
	}
	
	return shortSoFar;
}
 
Example 6
Source File: ZipkinAutoConfiguration.java    From spring-cloud-sleuth with Apache License 2.0 6 votes vote down vote up
/** Returns one handler for as many reporters as exist. */
@Bean
SpanHandler zipkinSpanHandler(@Nullable List<Reporter<Span>> spanReporters,
		@Nullable Tag<Throwable> errorTag) {
	if (spanReporters == null) {
		return SpanHandler.NOOP;
	}

	LinkedHashSet<Reporter<Span>> reporters = new LinkedHashSet<>(spanReporters);
	reporters.remove(Reporter.NOOP);
	if (spanReporters.isEmpty()) {
		return SpanHandler.NOOP;
	}

	Reporter<Span> spanReporter = reporters.size() == 1 ? reporters.iterator().next()
			: new CompositeSpanReporter(reporters.toArray(new Reporter[0]));

	ZipkinSpanHandler.Builder builder = ZipkinSpanHandler.newBuilder(spanReporter);
	if (errorTag != null) {
		builder.errorTag(errorTag);
	}
	return builder.build();
}
 
Example 7
Source File: Attributes.java    From requery with Apache License 2.0 5 votes vote down vote up
static <E> Attribute<E, ?>[] toArray(Collection<Attribute<E, ?>> attributes,
                                     Predicate<Attribute<E, ?>> filter) {
    LinkedHashSet<Attribute> filtered = new LinkedHashSet<>();
    for (Attribute<E, ?> attribute : attributes) {
        if (filter == null || filter.test(attribute)) {
            filtered.add(attribute);
        }
    }
    Attribute<E, ?>[] array = new Attribute[filtered.size()];
    return filtered.toArray(array);
}
 
Example 8
Source File: InjectionPoint.java    From Mixin with MIT License 5 votes vote down vote up
@Override
public boolean find(String desc, InsnList insns, Collection<AbstractInsnNode> nodes) {
    LinkedHashSet<AbstractInsnNode> allNodes = new LinkedHashSet<AbstractInsnNode>();

    for (int i = 0; i < this.components.length; i++) {
        this.components[i].find(desc, insns, allNodes);
    }

    nodes.addAll(allNodes);

    return allNodes.size() > 0;
}
 
Example 9
Source File: AbstractOrderExecutor.java    From oneops with Apache License 2.0 5 votes vote down vote up
protected LinkedHashSet<String> createCookbookSearchPath(String cookbookRelativePath,
    Map<String, Map<String, CmsCISimple>> cloudServices,
    String cloudName) {
  String cookbookDir = config.getCircuitDir();
  if (!cookbookRelativePath.equals("")) {
    cookbookDir = config.getCircuitDir().replace("packer",
        cookbookRelativePath);
  }

  cookbookDir += "/components/cookbooks";
  String sharedDir = config.getCircuitDir().replace("packer", "shared/cookbooks");

  LinkedHashSet<String> cookbookPaths = new LinkedHashSet<>();
  if (cloudServices != null) {
    for (String serviceName : cloudServices.keySet()) { // for each service
      CmsCISimple serviceCi = cloudServices.get(serviceName).get(cloudName);
      if (serviceCi != null) {
        String serviceClassName = serviceCi.getCiClassName();
        String serviceCookbookCircuit = getCookbookPath(serviceClassName);
        if (!serviceCookbookCircuit.equals(cookbookRelativePath)) {
          cookbookPaths.add(config.getCircuitDir().replace("packer", serviceCookbookCircuit)
              + "/components/cookbooks");
        }
      }
    }
  }
  if (cookbookPaths.size() > 0) {
    //Remove the current component's circuit from the cookbook_path so that we can add it after other circuits
    //This is to make sure the current component's circuit is higher priority in search path
    cookbookPaths.remove(cookbookDir);
  }
  cookbookPaths.add(cookbookDir);
  cookbookPaths.add(sharedDir);
  return cookbookPaths;
}
 
Example 10
Source File: TestSerialization.java    From RoaringBitmap with Apache License 2.0 5 votes vote down vote up
private static int[] toArray(LinkedHashSet<Integer> integers) {
  int[] ints = new int[integers.size()];
  int i = 0;
  for (Integer n : integers) {
    ints[i++] = n;
  }
  return ints;
}
 
Example 11
Source File: IteratorsBenchmark32.java    From RoaringBitmap with Apache License 2.0 5 votes vote down vote up
private int[] toArray(LinkedHashSet<Integer> integers) {
  int[] ints = new int[integers.size()];
  int i = 0;
  for (Integer n : integers) {
    ints[i++] = n;
  }
  return ints;
}
 
Example 12
Source File: PojoSerializer.java    From flink with Apache License 2.0 5 votes vote down vote up
/**
 * Creates an array of serializers for provided list of registered subclasses.
 * Order of returned serializers will correspond to order of provided subclasses.
 */
private static TypeSerializer<?>[] createRegisteredSubclassSerializers(
		LinkedHashSet<Class<?>> registeredSubclasses,
		ExecutionConfig executionConfig) {

	final TypeSerializer<?>[] subclassSerializers = new TypeSerializer[registeredSubclasses.size()];

	int i = 0;
	for (Class<?> registeredClass : registeredSubclasses) {
		subclassSerializers[i] = TypeExtractor.createTypeInfo(registeredClass).createSerializer(executionConfig);
		i++;
	}

	return subclassSerializers;
}
 
Example 13
Source File: SerializationBenchmark.java    From RoaringBitmap with Apache License 2.0 5 votes vote down vote up
private int[] toArray(LinkedHashSet<Integer> integers) {
  int[] ints = new int[integers.size()];
  int i = 0;
  for (Integer n : integers) {
    ints[i++] = n;
  }
  return ints;
}
 
Example 14
Source File: RecentEmojiPageModel.java    From mollyim-android with GNU General Public License v3.0 5 votes vote down vote up
private String[] toReversePrimitiveArray(@NonNull LinkedHashSet<String> emojiSet) {
  String[] emojis = new String[emojiSet.size()];
  int i = emojiSet.size() - 1;
  for (String emoji : emojiSet) {
    emojis[i--] = emoji;
  }
  return emojis;
}
 
Example 15
Source File: OpenSSLCipherConfigurationParser.java    From Tomcat8-Source-Read with MIT License 5 votes vote down vote up
static LinkedHashSet<Cipher> defaultSort(final LinkedHashSet<Cipher> ciphers) {
    final LinkedHashSet<Cipher> result = new LinkedHashSet<>(ciphers.size());
    final LinkedHashSet<Cipher> ecdh = new LinkedHashSet<>(ciphers.size());

    /* Everything else being equal, prefer ephemeral ECDH over other key exchange mechanisms */
    ecdh.addAll(filterByKeyExchange(ciphers, Collections.singleton(KeyExchange.EECDH)));

    /* AES is our preferred symmetric cipher */
    Set<Encryption> aes = new HashSet<>(Arrays.asList(Encryption.AES128, Encryption.AES128CCM,
            Encryption.AES128CCM8, Encryption.AES128GCM, Encryption.AES256,
            Encryption.AES256CCM, Encryption.AES256CCM8, Encryption.AES256GCM));

    /* Now arrange all ciphers by preference: */
    result.addAll(filterByEncryption(ecdh, aes));
    result.addAll(filterByEncryption(ciphers, aes));

    /* Add everything else */
    result.addAll(ecdh);
    result.addAll(ciphers);

    /* Low priority for MD5 */
    moveToEnd(result, filterByMessageDigest(result, Collections.singleton(MessageDigest.MD5)));

    /* Move anonymous ciphers to the end.  Usually, these will remain disabled.
     * (For applications that allow them, they aren't too bad, but we prefer
     * authenticated ciphers.) */
    moveToEnd(result, filterByAuthentication(result, Collections.singleton(Authentication.aNULL)));

    /* Move ciphers without forward secrecy to the end */
    moveToEnd(result, filterByAuthentication(result, Collections.singleton(Authentication.ECDH)));
    moveToEnd(result, filterByKeyExchange(result, Collections.singleton(KeyExchange.RSA)));
    moveToEnd(result, filterByKeyExchange(result, Collections.singleton(KeyExchange.PSK)));

    /* RC4 is sort-of broken -- move the the end */
    moveToEnd(result, filterByEncryption(result, Collections.singleton(Encryption.RC4)));
    return strengthSort(result);
}
 
Example 16
Source File: GoToDecoratorAtCaretAction.java    From netbeans with Apache License 2.0 4 votes vote down vote up
@Override
protected void modelAcessAction( WebBeansModel model,
        final MetadataModel<WebBeansModel> metaModel, Object[] subject,
        final JTextComponent component, FileObject fileObject )
{
    Element element = ((ElementHandle<?>)subject[0]).resolve( 
            model.getCompilationController());
    if (element == null) {
        return;
    }
    Collection<TypeElement> decorators = model.getDecorators((TypeElement)element);
    if (decorators.size() == 0) {
        StatusDisplayer.getDefault().setStatusText(
                NbBundle.getMessage(GoToDecoratorAtCaretAction.class,
                        "LBL_DecoratorsNotFound"),              // NOI18N
                StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT);
        return;
    }
    
    BeansModel beansModel = model.getModelImplementation().getBeansModel();
    final LinkedHashSet<TypeElement> enabledDecorators = WebBeansActionHelper.
            getEnabledDecorators(decorators, beansModel, null, 
                    model.getCompilationController());
    if (enabledDecorators.size() == 0) {
        StatusDisplayer.getDefault().setStatusText(
                NbBundle.getMessage(GoToDecoratorAtCaretAction.class,
                        "LBL_EnabledDecoratorsNotFound"),        // NOI18N
                StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT);
        return;
    }
    
    if (enabledDecorators.size() == 1) {
        final ElementHandle<TypeElement> handle = ElementHandle
                .create(enabledDecorators.iterator().next());
        final ClasspathInfo classpathInfo = model
                .getCompilationController().getClasspathInfo();
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                ElementOpen.open(classpathInfo, handle);
            }
        });
    }
    else  {
        final CompilationController controller = model
                .getCompilationController();
        if (SwingUtilities.isEventDispatchThread()) {
            showPopup(enabledDecorators, controller, metaModel, component);
        }
        else {
            SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {
                    showPopup(enabledDecorators, controller, metaModel, component);
                }
            });
        }
    }
}
 
Example 17
Source File: AnalysisSPILoader.java    From lucene-solr with Apache License 2.0 4 votes vote down vote up
/** 
 * Reloads the internal SPI list from the given {@link ClassLoader}.
 * Changes to the service list are visible after the method ends, all
 * iterators (e.g., from {@link #availableServices()},...) stay consistent. 
 * 
 * <p><b>NOTE:</b> Only new service providers are added, existing ones are
 * never removed or replaced.
 * 
 * <p><em>This method is expensive and should only be called for discovery
 * of new service providers on the given classpath/classloader!</em>
 */
public synchronized void reload(ClassLoader classloader) {
  Objects.requireNonNull(classloader, "classloader");
  final LinkedHashMap<String,Class<? extends S>> services = new LinkedHashMap<>(this.services);
  final LinkedHashSet<String> originalNames = new LinkedHashSet<>(this.originalNames);
  ServiceLoader.load(clazz, classloader).stream().map(ServiceLoader.Provider::type).forEachOrdered(service -> {
    String name = null;
    String originalName = null;
    Throwable cause = null;
    try {
      originalName = lookupSPIName(service);
      name = originalName.toLowerCase(Locale.ROOT);
      if (!isValidName(originalName)) {
        throw new ServiceConfigurationError("The name " + originalName + " for " + service.getName() +
            " is invalid: Allowed characters are (English) alphabet, digits, and underscore. It should be started with an alphabet.");
      }
    } catch (NoSuchFieldException | IllegalAccessException | IllegalStateException e) {
      cause = e;
    }
    if (name == null) {
      throw new ServiceConfigurationError("The class name " + service.getName() +
          " has no service name field: [public static final String NAME]", cause);
    }
    // only add the first one for each name, later services will be ignored
    // this allows to place services before others in classpath to make 
    // them used instead of others
    //
    // TODO: Should we disallow duplicate names here?
    // Allowing it may get confusing on collisions, as different packages
    // could contain same factory class, which is a naming bug!
    // When changing this be careful to allow reload()!
    if (!services.containsKey(name)) {
      services.put(name, service);
      // preserve (case-sensitive) original name for reference
      originalNames.add(originalName);
    }
  });

  // make sure that the number of lookup keys is same to the number of original names.
  // in fact this constraint should be met in existence checks of the lookup map key,
  // so this is more like an assertion rather than a status check.
  if (services.keySet().size() != originalNames.size()) {
    throw new ServiceConfigurationError("Service lookup key set is inconsistent with original name set!");
  }

  this.services = Map.copyOf(services);
  this.originalNames = Set.copyOf(originalNames);
}
 
Example 18
Source File: ConfigExpander.java    From bazel with Apache License 2.0 4 votes vote down vote up
/**
 * @param configAncestorSet is the chain of configs that have led to this one getting expanded.
 *     This should only contain the configs that expanded, recursively, to this one, and should
 *     not contain "siblings," as it is used to detect cycles. {@code build:foo --config=bar},
 *     {@code build:bar --config=foo}, is a cycle, detected because this list will be [foo, bar]
 *     when we find another 'foo' to expand. However, {@code build:foo --config=bar}, {@code
 *     build:foo --config=bar} is not a cycle just because bar is expanded twice, and the 1st bar
 *     should not be in the parents list of the second bar.
 * @param longestChain will be populated with the longest inheritance chain of configs.
 */
private static List<String> getExpansion(
    ListMultimap<String, RcChunkOfArgs> commandToRcArgs,
    List<String> commandsToParse,
    LinkedHashSet<String> configAncestorSet,
    String configToExpand,
    List<String> longestChain,
    Consumer<String> rcFileNotesConsumer)
    throws OptionsParsingException {
  List<String> expansion = new ArrayList<>();
  boolean foundDefinition = false;
  // The expansion order of rc files is first by command priority, and then in the order the
  // rc files were read, respecting import statement placement.
  for (String commandToParse : commandsToParse) {
    String configDef = commandToParse + ":" + configToExpand;
    for (RcChunkOfArgs rcArgs : commandToRcArgs.get(configDef)) {
      foundDefinition = true;
      rcFileNotesConsumer.accept(
          String.format(
              "Found applicable config definition %s in file %s: %s",
              configDef, rcArgs.getRcFile(), String.join(" ", rcArgs.getArgs())));

      // For each arg in the rcARgs chunk, we first check if it is a config, and if so, expand
      // it in place. We avoid cycles by tracking the parents of this config.
      for (String arg : rcArgs.getArgs()) {
        expansion.add(arg);
        if (arg.length() >= 8 && arg.substring(0, 8).equals("--config")) {
          // We have a config. For sanity, because we don't want to worry about formatting,
          // we will only accept --config=value, and will not accept value on a following line.
          int charOfConfigValue = arg.indexOf('=');
          if (charOfConfigValue < 0) {
            throw new OptionsParsingException(
                String.format(
                    "In file %s, the definition of config %s expands to another config "
                        + "that either has no value or is not in the form --config=value. For "
                        + "recursive config definitions, please do not provide the value in a "
                        + "separate token, such as in the form '--config value'.",
                    rcArgs.getRcFile(), configToExpand));
          }
          String newConfigValue = arg.substring(charOfConfigValue + 1);
          LinkedHashSet<String> extendedConfigAncestorSet =
              new LinkedHashSet<>(configAncestorSet);
          if (!extendedConfigAncestorSet.add(newConfigValue)) {
            throw new OptionsParsingException(
                String.format(
                    "Config expansion has a cycle: config value %s expands to itself, "
                        + "see inheritance chain %s",
                    newConfigValue, extendedConfigAncestorSet));
          }
          if (extendedConfigAncestorSet.size() > longestChain.size()) {
            longestChain.clear();
            longestChain.addAll(extendedConfigAncestorSet);
          }

          expansion.addAll(
              getExpansion(
                  commandToRcArgs,
                  commandsToParse,
                  extendedConfigAncestorSet,
                  newConfigValue,
                  longestChain,
                  rcFileNotesConsumer));
        }
      }
    }
  }

  if (!foundDefinition) {
    throw new OptionsParsingException(
        "Config value " + configToExpand + " is not defined in any .rc file");
  }
  return expansion;
}
 
Example 19
Source File: IgniteCachePartitionMapUpdateTest.java    From ignite with Apache License 2.0 3 votes vote down vote up
/**
 * @throws Exception If failed.
 */
@Test
public void testRandom() throws Exception {
    Random rnd = new Random();

    final int NODE_CNT = 10;

    for (int iter = 0; iter < 1; iter++) {
        log.info("Iteration: " + iter);

        for (int i = 0; i < NODE_CNT; i++) {
            cache1 = rnd.nextBoolean();
            cache2 = rnd.nextBoolean();

            log.info("Start node [idx=" + i + ", cache1=" + cache1 + ", cache2=" + cache2 + ']');

            startGrid(i);

            awaitPartitionMapExchange();
        }

        LinkedHashSet<Integer> stopSeq = new LinkedHashSet<>();

        while (stopSeq.size() != NODE_CNT)
            stopSeq.add(rnd.nextInt(NODE_CNT));

        log.info("Stop sequence: " + stopSeq + ", seed=" + U.field(rnd, "seed"));

        for (Integer idx : stopSeq) {
            log.info("Stop node: " + idx);

            stopGrid(idx);

            awaitPartitionMapExchange();
        }
    }
}
 
Example 20
Source File: TestCoregulationPerformance.java    From systemsgenetics with GNU General Public License v3.0 2 votes vote down vote up
public static void testCoreGenePredictionPerformance(Depict2Options options) throws IOException {

		DoubleMatrixDataset<String, String> gwasCoreGenePredictions = DoubleMatrixDataset.loadDoubleBinaryData(options.getGwasZscoreMatrixPath());
		List<PathwayDatabase> pathwayDatabases = options.getPathwayDatabases();

		ArrayList<String> genesWithPrediciton = gwasCoreGenePredictions.getRowObjects();

		for (PathwayDatabase pathwayDatabase : pathwayDatabases) {

			final DoubleMatrixDatasetFastSubsetLoader pathwayMatrixLoader = new DoubleMatrixDatasetFastSubsetLoader(pathwayDatabase.getLocation());

			Set<String> pathwayGenes = pathwayMatrixLoader.getOriginalRowMap().keySet();

			final LinkedHashSet<String> sharedGenes = new LinkedHashSet<>();

			for (String gene : genesWithPrediciton) {
				if (pathwayGenes.contains(gene)) {
					sharedGenes.add(gene);
				}
			}

			final int sharedGenesCount = sharedGenes.size();

			final DoubleMatrixDataset<String, String> pathwayMatrix = pathwayMatrixLoader.loadSubsetOfRowsBinaryDoubleData(sharedGenes);
			final DoubleMatrixDataset<String, String> gwasCoreGenePredictionsMatched = gwasCoreGenePredictions.viewRowSelection(sharedGenes);

			
			final DoubleMatrixDataset<String, String> outputMatrix = new DoubleMatrixDataset<>(pathwayMatrix.getHashCols(), gwasCoreGenePredictionsMatched.getHashCols());

			final ArrayList<String> pathwayNames = pathwayMatrix.getColObjects();
			
			try (ProgressBar pb = new ProgressBar(pathwayDatabase.getName(), pathwayMatrix.columns(), ProgressBarStyle.ASCII)) {

				for (int pathwayI = 0; pathwayI < pathwayMatrix.columns(); ++pathwayI) {

					final DoubleMatrix1D pathwayAnnotation = pathwayMatrix.getCol(pathwayI);
					final int annotatedGenesCount = pathwayAnnotation.cardinality();

					final int pathwayI2 = pathwayI;

					if (annotatedGenesCount < 10) {
						if(LOGGER.isDebugEnabled()){
							LOGGER.debug("Skipping " + pathwayNames.get(pathwayI) + " " + annotatedGenesCount + " genes annotated");
						}
						pb.step();
						continue;
					}
					
					final int pathwayI_2 = pathwayI;

					IntStream.range(0, gwasCoreGenePredictionsMatched.columns()).parallel().forEach(traitI -> {

						final MannWhitneyUTest2 uTest = new MannWhitneyUTest2();

						final DoubleMatrix1D coreGeneScore = gwasCoreGenePredictionsMatched.getCol(traitI);

						final double[] coreGeneScoresAnnotatedGenes = new double[annotatedGenesCount];
						final double[] coreGeneScoresOtherGenes = new double[sharedGenesCount - annotatedGenesCount];

						int x = 0;
						int y = 0;

						for (int g = 0; g < sharedGenesCount; g++) {
							if (pathwayAnnotation.getQuick(g) > 0) {
								coreGeneScoresAnnotatedGenes[x++] = coreGeneScore.get(g);
							} else {
								coreGeneScoresOtherGenes[y++] = coreGeneScore.get(g);
							}
						}

						uTest.setData(coreGeneScoresAnnotatedGenes, coreGeneScoresOtherGenes);

						final double auc = uTest.getAuc();
						
						if(LOGGER.isDebugEnabled() && Double.isNaN(auc)){
							LOGGER.debug(pathwayNames.get(pathwayI_2) + " NaN AUC " + Arrays.toString(coreGeneScoresAnnotatedGenes));
						}
						
						outputMatrix.setElementQuick(pathwayI2, traitI, auc);

					});
					
					pb.step();

				}

				outputMatrix.save(options.getOutputBasePath() + "_" + pathwayDatabase.getName() + ".txt");

			}
		}

	}