/** @tests java.net.URI#compareTo(java.net.URI) */ public void test_compareToLjava_net_URI() throws URISyntaxException { URI uri1, uri2; // URIs whose host names have different casing uri1 = new URI("http://MixedCaseHost/path/resource"); uri2 = new URI("http://mixedcasehost/path/resource"); assertEquals("Assert 0: host name equality failure", 0, uri1.compareTo(uri2)); assertEquals("Assert 1: host name equality failure", 0, uri1.compareTo(uri2)); // URIs with one undefined component (port) uri1 = new URI("http://*****:*****@anyhost/path/resource"); uri2 = new URI("http://anyhost/path/resource"); assertTrue("Assert 4: comparison failure", uri1.compareTo(uri2) > 0); assertTrue("Assert 5: comparison failure", uri2.compareTo(uri1) < 0); }
/** * @param v1 The first explicit dimension value. * @param v2 The second explicit dimension value. * @return a negative integer, zero, or a positive integer as the first argument is less than, * equal to, or greater than the second. * @throws XBRLException */ private int compareExplicitDimensionValues(DimensionValue v1, DimensionValue v2) throws XBRLException { Concept v1m = (Concept) v1.getValue(); Concept v2m = (Concept) v2.getValue(); URI v1ns = v1m.getTargetNamespace(); URI v2ns = v2m.getTargetNamespace(); int result = v1ns.compareTo(v2ns); if (result != 0) return result; String v1ln = v1m.getName(); String v2ln = v2m.getName(); return v1ln.compareTo(v2ln); }
/** * Do a comparison of the dimensions themselves. This covers the dimensions but not the values of * those dimensions. * * @param v1 The first typed dimension value. * @param v2 The second typed dimension value. * @return a negative integer, zero, or a positive integer as the first argument is less than, * equal to, or greater than the second. * @throws XBRLException */ protected int compareDimensions(DimensionValue v1, DimensionValue v2) throws XBRLException { if (v1.isTypedDimensionValue() && v2.isExplicitDimensionValue()) return 1; if (v1.isExplicitDimensionValue() && v2.isTypedDimensionValue()) return -1; Dimension v1d = v1.getDimension(); Dimension v2d = v2.getDimension(); URI d1ns = v1d.getTargetNamespace(); URI d2ns = v2d.getTargetNamespace(); int result = d1ns.compareTo(d2ns); if (result != 0) return result; String d1ln = v1d.getName(); String d2ln = v2d.getName(); return d1ln.compareTo(d2ln); }
/** * Get the source part URI from a specified relationships part. * * @param relationshipPartUri The relationship part use to retrieve the source part. * @return The source part URI from the specified relationships part. */ public static URI getSourcePartUriFromRelationshipPartUri(URI relationshipPartUri) { if (relationshipPartUri == null) throw new IllegalArgumentException("Must not be null"); if (!isRelationshipPartURI(relationshipPartUri)) throw new IllegalArgumentException("Must be a relationship part"); if (relationshipPartUri.compareTo(PACKAGE_RELATIONSHIPS_ROOT_URI) == 0) return PACKAGE_ROOT_URI; String filename = relationshipPartUri.getPath(); String filenameWithoutExtension = getFilenameWithoutExtension(relationshipPartUri); filename = filename.substring( 0, ((filename.length() - filenameWithoutExtension.length()) - RELATIONSHIP_PART_EXTENSION_NAME.length())); filename = filename.substring(0, filename.length() - RELATIONSHIP_PART_SEGMENT_NAME.length() - 1); filename = combine(filename, filenameWithoutExtension); return getURIFromPath(filename); }
@Override public int compareTo(TachyonURI other) { return mUri.compareTo(other.mUri); }