@Override public String[] segments() { return internalUri.segments(); }
@Override public String[] segments() { return uri.segments(); }
@Override public String[] segments() { return base.segments(); }
protected Integer _compare(IResourceDescription rd0, IResourceDescription rd1) { String[] segments0 = rd0.getURI().segments(); String[] segments1 = rd1.getURI().segments(); for(int i=0; i<Math.min(segments0.length, segments1.length); ++i) { int compareToIgnoreCase = segments0[i].compareToIgnoreCase(segments1[i]); if(compareToIgnoreCase != 0) return compareToIgnoreCase; } return segments0.length - segments1.length; }
@Nonnull @Override public URI createRemoteUri(InetAddress host, int port, URI model) { checkNotNull(model, "model"); checkNotNull(model.segments(), "model.segments"); checkArgument(model.segments().length == 1, "model.segments must contains only one occurence"); return createRemoteUri(host, port, model.segments()[0]); }
@Nonnull @Override public URI createRemoteUri(String host, int port, URI model) { checkNotNull(model, "model"); checkNotNull(model.segments(), "model.segments"); checkArgument(model.segments().length == 1, "model.segments must contains only one occurence"); return createRemoteUri(host, port, model.segments()[0]); }
protected boolean isPrefix(URI prefix, URI uri) { if (prefix.scheme() == null || !prefix.scheme().equals(uri.scheme())) return false; String[] prefixSeg = prefix.segments(); String[] uriSeg = uri.segments(); if (prefixSeg.length == 0 || uriSeg.length == 0) return false; if (!"".equals(prefixSeg[prefixSeg.length - 1])) // this is true when the URI has a trailing slash ("/"). return false; if (uriSeg.length < prefixSeg.length - 1) return false; for (int i = 0; i < prefixSeg.length - 1; i++) if (!uriSeg[i].equals(prefixSeg[i])) return false; return true; } }
public static String getResourcePath (Resource resource) { String fileName = ""; //$NON-NLS-1$ if (resource == null || resource.getURI() == null) { return null; } String [] segments = resource.getURI().segments(); for (int j = 1, n = segments.length; j < n ; j++) { fileName += (segments[j].indexOf(File.separator) != -1)? segments[j] : File.separator + segments[j]; } return fileName; }
private Resolvable<?, Resolvable<?, ?>> getOrCreateParent(ProjectLocale projectLocale, URI childURI) { Resolvable<?, Resolvable<?, ?>> currentParent = projectLocale; String[] segments = childURI.segments(); for (int i = 0; i < segments.length - 1; i++) { currentParent = getOrCreate(currentParent, URI.decode(segments[i])); } return currentParent; }
/** * A URI is a prefix of another URI if: * <br/> * <ul> * <li>Both have the same scheme</li> * <li>The prefix ends with a trailing separator</li> * <li>The segments of both URIs match up to the prefix's length</li> * </ul> */ public static boolean isPrefixOf(URI prefix, URI uri) { if (prefix.scheme() == null || !prefix.scheme().equals(uri.scheme())) return false; String[] prefixSeg = prefix.segments(); String[] uriSeg = uri.segments(); if (prefixSeg.length == 0 || uriSeg.length == 0) return false; if (!prefix.hasTrailingPathSeparator()) return false; if (uriSeg.length < prefixSeg.length - 1) return false; for (int i = 0; i < prefixSeg.length - 1; i++) if (!uriSeg[i].equals(prefixSeg[i])) return false; return true; }
@Override protected void doPut(final HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { URI uri = URI.createURI(req.getPathInfo()); String[] segmentArray = uri.segments(); if (segmentArray.length == 1) putProject(req, uri, resp); else if (segmentArray.length == 2) putVersion(req, uri, resp); else if (segmentArray.length == 3 && uri.hasTrailingPathSeparator()) putLocale(req, uri, resp); else putPropertyFile(req, uri, resp); }
protected URI normalizePluginURI(URI uri, String fragment) { if (uri.segmentCount() < 2) return uri; // Invalid, just let it go on. // See if already normalized. int u_scoreNdx = uri.segment(1).lastIndexOf('_'); if (u_scoreNdx != -1) { // Not normalized. Remove the version to make it normalized. String[] segments = uri.segments(); segments[1] = segments[1].substring(0, u_scoreNdx); return URI.createHierarchicalURI(uri.scheme(), uri.authority(), uri.device(), segments, uri.query(), fragment); } else return uri; }
@Test void testCreateRemoteUriWithIPAddr() throws UnknownHostException { final URI uri = factory.createRemoteUri(InetAddress.getByName("192.168.0.1"), 1234, "test"); assertThat(uri.isHierarchical()).isTrue(); assertThat(uri.scheme()).isEqualTo(SCHEME); assertThat(uri.host()).isEqualTo("192.168.0.1"); assertThat(uri.port()).isEqualTo(Integer.toString(1234)); assertThat(uri.segments()).containsExactly("test"); }
@Test void testCreateRemoteUriWithStringAddr() { final URI uri = factory.createRemoteUri("192.168.0.1", 1234, "test"); assertThat(uri.isHierarchical()).isTrue(); assertThat(uri.scheme()).isEqualTo(SCHEME); assertThat(uri.host()).isEqualTo("192.168.0.1"); assertThat(uri.port()).isEqualTo(Integer.toString(1234)); assertThat(uri.segments()).containsExactly("test"); }
@Test void testCreateRemoteUriWithStringLocal() { final URI uri = factory.createRemoteUri("localhost", 1234, "test"); assertThat(uri.isHierarchical()).isTrue(); assertThat(uri.scheme()).isEqualTo(SCHEME); assertThat(uri.host()).isEqualTo("127.0.0.1"); assertThat(uri.port()).isEqualTo(Integer.toString(1234)); assertThat(uri.segments()).containsExactly("test"); }
@Nonnull @Override public URI createLocalUri(File file) { checkNotNull(file, "file"); final URI fileUri = URI.createFileURI(file.getAbsolutePath()); final URI uri = URI.createHierarchicalURI(scheme(), fileUri.authority(), fileUri.device(), fileUri.segments(), fileUri.query(), fileUri.fragment()); return createLocalUri(uri); }
@Override public String toFileString() { URI uri = URI.createHierarchicalURI( FILE_SCHEME, internalUri.authority(), internalUri.device(), internalUri.segments(), internalUri.query(), internalUri.fragment()); return uri.toFileString(); }
@Override public String toFileString() { return URI.createHierarchicalURI( SCHEME, base.authority(), base.device(), base.segments(), base.query(), base.fragment() ).toFileString(); }
/** * converts the file URIs with an absent authority to one with an empty */ public URI withEmptyAuthority(final URI uri) { URI _xifexpression = null; if ((uri.isFile() && (uri.authority() == null))) { _xifexpression = URI.createHierarchicalURI(uri.scheme(), "", uri.device(), uri.segments(), uri.query(), uri.fragment()); } else { _xifexpression = uri; } return _xifexpression; } }
private static void createMissingChildren(ProjectLocale template, ProjectLocale other) { EList<PropertyFileDescriptor> descriptors = template.getDescriptors(); for (PropertyFileDescriptor descriptor : descriptors) { URI derivedLocation = computeLocaleResourceLocation(other.getLocale(), other.getParent(), descriptor.getLocation()); Resolvable<?, ?> child = other.resolveChild(derivedLocation); if(child==null){ Resolvable<?, ?> folder = getOrCreateFolder(other, derivedLocation.trimSegments(1).segments()); PropertyFileDescriptor localeDescriptor = PropertiesFactory.eINSTANCE.createPropertyFileDescriptor(); localeDescriptor.setMaster(descriptor); localeDescriptor.setVariant(other.getLocale()); localeDescriptor.setLocation(derivedLocation); localeDescriptor.setProjectLocale(other); localeDescriptor.setParent(folder); localeDescriptor.setName(URI.decode(derivedLocation.lastSegment())); } } }