List of usage examples for java.text Collator NO_DECOMPOSITION
int NO_DECOMPOSITION
To view the source code for java.text Collator NO_DECOMPOSITION.
Click Source Link
From source file:Decomposition.java
public void compare(Collator c, String a, String b) { switch (c.getDecomposition()) { case Collator.NO_DECOMPOSITION: System.out.print(" NO DECOMPOSITION: "); break;// w ww . j a v a2s . c o m case Collator.CANONICAL_DECOMPOSITION: System.out.print(" CANONICAL DECOMPOSITION: "); break; case Collator.FULL_DECOMPOSITION: System.out.print(" FULL DECOMPOSITION: "); break; default: System.out.print(" UNKNOWN DECOMPOSITION: "); } if (c.equals(a, b)) System.out.println("The strings are equal."); else System.out.println("The strings are NOT equal."); }
From source file:Decomposition.java
public Decomposition() { String pairs[][] = new String[3][3]; pairs[0][0] = "Half-Width and full-width A"; pairs[0][1] = "A"; pairs[0][2] = "\uFF21"; // full-width A pairs[1][0] = "A with Ring and Angstrom Sign"; pairs[1][1] = "\u00c5"; // A with ring pairs[1][2] = "\u212b"; // Angstrom pairs[2][0] = "a + umlaut and precomposed a-umlaut"; pairs[2][1] = "a\u0308"; pairs[2][2] = "\u00e4"; for (int i = 0; i < 3; i++) { Collator collate = Collator.getInstance(Locale.US); collate.setStrength(Collator.IDENTICAL); System.out.println("Comparing " + pairs[i][0]); collate.setDecomposition(Collator.NO_DECOMPOSITION); compare(collate, pairs[i][1], pairs[i][2]); collate.setDecomposition(Collator.CANONICAL_DECOMPOSITION); compare(collate, pairs[i][1], pairs[i][2]); collate.setDecomposition(Collator.FULL_DECOMPOSITION); compare(collate, pairs[i][1], pairs[i][2]); System.out.println(""); }//from ww w.ja v a2 s.c o m }
From source file:io.gravitee.gateway.services.sync.SyncManager.java
private boolean hasMatchingTags(Api api) { final Optional<List<String>> optTagList = gatewayConfiguration.shardingTags(); if (optTagList.isPresent()) { List<String> tagList = optTagList.get(); if (api.getTags() != null) { final List<String> inclusionTags = tagList.stream().map(String::trim) .filter(tag -> !tag.startsWith("!")).collect(Collectors.toList()); final List<String> exclusionTags = tagList.stream().map(String::trim) .filter(tag -> tag.startsWith("!")).map(tag -> tag.substring(1)) .collect(Collectors.toList()); if (inclusionTags.stream().filter(exclusionTags::contains).count() > 0) { throw new IllegalArgumentException("You must not configure a tag to be included and excluded"); }/* w w w. j av a2s .c o m*/ final boolean hasMatchingTags = inclusionTags.stream() .anyMatch(tag -> api.getTags().stream().anyMatch(apiTag -> { final Collator collator = Collator.getInstance(); collator.setStrength(Collator.NO_DECOMPOSITION); return collator.compare(tag, apiTag) == 0; })) || (!exclusionTags.isEmpty() && exclusionTags.stream() .noneMatch(tag -> api.getTags().stream().anyMatch(apiTag -> { final Collator collator = Collator.getInstance(); collator.setStrength(Collator.NO_DECOMPOSITION); return collator.compare(tag, apiTag) == 0; }))); if (!hasMatchingTags) { logger.info("The API {} has been ignored because not in configured tags {}", api.getName(), tagList); } return hasMatchingTags; } logger.info("Tags {} are configured on gateway instance but not found on the API {}", tagList, api.getName()); return false; } // no tags configured on this gateway instance return true; }
From source file:org.apache.solr.analysis.CollationKeyFilterFactory.java
public void inform(ResourceLoader loader) { String custom = args.get("custom"); String language = args.get("language"); String country = args.get("country"); String variant = args.get("variant"); String strength = args.get("strength"); String decomposition = args.get("decomposition"); if (custom == null && language == null) throw new SolrException(ErrorCode.SERVER_ERROR, "Either custom or language is required."); if (custom != null && (language != null || country != null || variant != null)) throw new SolrException(ErrorCode.SERVER_ERROR, "Cannot specify both language and custom. " + "To tailor rules for a built-in language, see the javadocs for RuleBasedCollator. " + "Then save the entire customized ruleset to a file, and use with the custom parameter"); if (language != null) { // create from a system collator, based on Locale. collator = createFromLocale(language, country, variant); } else {/*from ww w . j ava 2 s . c o m*/ // create from a custom ruleset collator = createFromRules(custom, loader); } // set the strength flag, otherwise it will be the default. if (strength != null) { if (strength.equalsIgnoreCase("primary")) collator.setStrength(Collator.PRIMARY); else if (strength.equalsIgnoreCase("secondary")) collator.setStrength(Collator.SECONDARY); else if (strength.equalsIgnoreCase("tertiary")) collator.setStrength(Collator.TERTIARY); else if (strength.equalsIgnoreCase("identical")) collator.setStrength(Collator.IDENTICAL); else throw new SolrException(ErrorCode.SERVER_ERROR, "Invalid strength: " + strength); } // set the decomposition flag, otherwise it will be the default. if (decomposition != null) { if (decomposition.equalsIgnoreCase("no")) collator.setDecomposition(Collator.NO_DECOMPOSITION); else if (decomposition.equalsIgnoreCase("canonical")) collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); else if (decomposition.equalsIgnoreCase("full")) collator.setDecomposition(Collator.FULL_DECOMPOSITION); else throw new SolrException(ErrorCode.SERVER_ERROR, "Invalid decomposition: " + decomposition); } }
From source file:org.apache.solr.schema.CollationField.java
/** * Setup the field according to the provided parameters *//*from www.j av a 2 s . com*/ private void setup(ResourceLoader loader, Map<String, String> args) { String custom = args.remove("custom"); String language = args.remove("language"); String country = args.remove("country"); String variant = args.remove("variant"); String strength = args.remove("strength"); String decomposition = args.remove("decomposition"); final Collator collator; if (custom == null && language == null) throw new SolrException(ErrorCode.SERVER_ERROR, "Either custom or language is required."); if (custom != null && (language != null || country != null || variant != null)) throw new SolrException(ErrorCode.SERVER_ERROR, "Cannot specify both language and custom. " + "To tailor rules for a built-in language, see the javadocs for RuleBasedCollator. " + "Then save the entire customized ruleset to a file, and use with the custom parameter"); if (language != null) { // create from a system collator, based on Locale. collator = createFromLocale(language, country, variant); } else { // create from a custom ruleset collator = createFromRules(custom, loader); } // set the strength flag, otherwise it will be the default. if (strength != null) { if (strength.equalsIgnoreCase("primary")) collator.setStrength(Collator.PRIMARY); else if (strength.equalsIgnoreCase("secondary")) collator.setStrength(Collator.SECONDARY); else if (strength.equalsIgnoreCase("tertiary")) collator.setStrength(Collator.TERTIARY); else if (strength.equalsIgnoreCase("identical")) collator.setStrength(Collator.IDENTICAL); else throw new SolrException(ErrorCode.SERVER_ERROR, "Invalid strength: " + strength); } // set the decomposition flag, otherwise it will be the default. if (decomposition != null) { if (decomposition.equalsIgnoreCase("no")) collator.setDecomposition(Collator.NO_DECOMPOSITION); else if (decomposition.equalsIgnoreCase("canonical")) collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); else if (decomposition.equalsIgnoreCase("full")) collator.setDecomposition(Collator.FULL_DECOMPOSITION); else throw new SolrException(ErrorCode.SERVER_ERROR, "Invalid decomposition: " + decomposition); } analyzer = new CollationKeyAnalyzer(collator); }