Examples of URL

Some strange example below:

@author william.liangf @author ding.lid @see java.net.URL @see java.net.URI
  • com.bleujin.framework.valid.validator.Url
  • com.borland.primetime.vfs.Url
  • com.cloudhopper.commons.util.URL
    rname [: password ]@] host [: port ][/path][?query_string][#anchor] The best method for creating a URL is to use the URLParser class. While this utility class doesn't provide any more features yet than the internal Java URL class, the plan is to add those in the future. Also, this class and its associated parser internally use the modern StringBuilder class vs. the StringBuffer class and avoid any synchronization overhead. @author joelauer (twitter: @jjlauer or http://twitter.com/jjlauer)
  • com.colorfulsoftware.rss.URL
    .law.harvard.edu/rss/rss.html">RSS 2.0 specification...

    This class models a <url> element in an rss feed.

    @author Bill Brown
  • com.cosmo.net.URL
    ycompany.com/?para1=aaa¶m2=bbb#myanchor}

    @author Gerard Llort
  • com.ctlok.springframework.web.servlet.view.rythm.tag.Url
    @author Lawrence Cheung
  • com.dianping.cat.home.heavy.entity.Url
  • com.github.jsonldjava.utils.URL
  • com.github.restdriver.serverdriver.http.Url
    Class to help with building of URLs.
  • com.google.api.gwt.samples.urlshortener.shared.Url
    Definition of a "URL" object. @author jasonhall@google.com (Jason Hall)
  • com.google.api.services.urlshortener.model.Url
    google.com/p/google-http-java-client/wiki/JSON">http://code.google.com/p/google-http-java-client/wiki/JSON

    @author Google, Inc.
  • com.google.speedtracer.client.util.Url
    Utility class for extracting parts of a URL String.
  • com.intellij.util.Url
  • com.jada.xml.sitemap.Url
  • com.mastfrog.url.URL
  • com.mockey.model.Url
    A Url is the specific http url of a Service.
  • com.ocpsoft.pretty.faces.url.URL
  • com.restfb.types.Url
    com">Mark Allen @deprecated As of 1.6.10, this type is deprecated and will be removed in a future release.
  • com.rosaloves.bitlyj.Url
  • com.sun.grizzly.util.net.URL
  • com.sun.star.util.URL
  • cosc561.searchengine.entities.Url
    @author jraymond
  • etch.util.URL
    password@host:port/uri;parms?terms#fragment
  • io.mola.galimatias.URL
    A parsed URL. Immutable.
  • java.net.URL
    ocs.uts.edu.au/MosaicDocs-old/url-primer.html"> http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html

    In general, a URL can be broken into several parts. The previous example of a URL indicates that the protocol to use is http (HyperText Transfer Protocol) and that the information resides on a host machine named www.socs.uts.edu.au. The information on that host machine is named /MosaicDocs-old/url-primer.html. The exact meaning of this name on the host machine is both protocol dependent and host dependent. The information normally resides in a file, but it could be generated on the fly. This component of the URL is called the path component.

    A URL can optionally specify a "port", which is the port number to which the TCP connection is made on the remote host machine. If the port is not specified, the default port for the protocol is used instead. For example, the default port for http is 80. An alternative port could be specified as:

     http://www.socs.uts.edu.au:80/MosaicDocs-old/url-primer.html 

    The syntax of URL is defined by RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax, amended by RFC 2732: Format for Literal IPv6 Addresses in URLs. The Literal IPv6 address format also supports scope_ids. The syntax and usage of scope_ids is described here.

    A URL may have appended to it a "fragment", also known as a "ref" or a "reference". The fragment is indicated by the sharp sign character "#" followed by more characters. For example,

     http://java.sun.com/index.html#chapter1 

    This fragment is not technically part of the URL. Rather, it indicates that after the specified resource is retrieved, the application is specifically interested in that part of the document that has the tag chapter1 attached to it. The meaning of a tag is resource specific.

    An application can also specify a "relative URL", which contains only enough information to reach the resource relative to another URL. Relative URLs are frequently used within HTML pages. For example, if the contents of the URL:

     http://java.sun.com/index.html 
    contained within it the relative URL:
     FAQ.html 
    it would be a shorthand for:
     http://java.sun.com/FAQ.html 

    The relative URL need not specify all the components of a URL. If the protocol, host name, or port number is missing, the value is inherited from the fully specified URL. The file component must be specified. The optional fragment is not inherited.

    The URL class does not itself encode or decode any URL components according to the escaping mechanism defined in RFC2396. It is the responsibility of the caller to encode any fields, which need to be escaped prior to calling URL, and also to decode any escaped fields, that are returned from URL. Furthermore, because URL has no knowledge of URL escaping, it does not recognise equivalence between the encoded or decoded form of the same URL. For example, the two URLs:

        http://foo.com/hello world/ and http://foo.com/hello%20world
    would be considered not equal to each other.

    Note, the {@link java.net.URI} class does perform escaping of itscomponent fields in certain circumstances. The recommended way to manage the encoding and decoding of URLs is to use {@link java.net.URI}, and to convert between these two classes using {@link #toURI()} and{@link URI#toURL()}.

    The {@link URLEncoder} and {@link URLDecoder} classes can also beused, but only for HTML form encoding, which is not the same as the encoding scheme defined in RFC2396. @author James Gosling @version 1.136, 04/30/09 @since JDK1.0

  • net.csdn.common.path.Url
    BlogInfo: william Date: 11-9-26 Time: 上午10:31
  • net.fortuna.ical4j.model.property.Url
  • net.vidageek.crawler.Url
    @author jonasabreu
  • org.apache.abdera.ext.opensearch.model.Url
    Open Search 1.1 Url element: describes an interface by which a search client can make search requests.
    This supports all parts of the Open Search 1.1 Url specification.
  • org.apache.axis2.util.URL
  • org.apache.catalina.util.URL
    uthority><path>?<query>#<fragment>

    FIXME - This class really ought to end up in a Commons package someplace.

    @author Craig R. McClanahan @version $Revision: 466595 $ $Date: 2006-10-21 23:24:41 +0100 (Sat, 21 Oct 2006) $
  • org.apache.directory.ldapstudio.browser.core.model.URL
    An URL represents a LDAP URL. @author Apache Directory Project @version $Rev$, $Date$
  • org.apache.directory.studio.ldapbrowser.core.model.URL
    An URL represents a LDAP URL. @author Apache Directory Project @version $Rev$, $Date$
  • org.apache.etch.util.URL
    password@host:port/uri;parms?terms#fragment
  • org.apache.hadoop.yarn.api.records.URL

    URL represents a serializable {@link java.net.URL}.

  • org.apache.shindig.social.opensocial.model.Url
    The base interface of all Url objects.
  • org.apache.struts2.components.URL
    ost>:<port>/<context>/editUser.action?id=3333&name=John the generated url will be http://<host>:<port>/<context>/editUser.action?id=22&name=John because the parameter defined in the param tag will take precedence.

    Examples

      <-- Example 1 --> <s:url value="editGadget.action"> <s:param name="id" value="%{selected}" /> </s:url> <-- Example 2 --> <s:url action="editGadget"> <s:param name="id" value="%{selected}" /> </s:url> <-- Example 3--> <s:url includeParams="get"> <s:param name="id" value="%{'22'}" /> </s:url>  
    @see Param
  • org.apache.tomcat.util.net.URL
    uthority><path>?<query>#<fragment>

    FIXME - This class really ought to end up in a Commons package someplace.

    @author Craig R. McClanahan @version $Revision: 466585 $ $Date: 2006-10-21 23:16:34 +0100 (Sat, 21 Oct 2006) $
  • org.apache.wicket.ng.request.Url
  • org.apache.wicket.request.Url
    ame:1234/foo/bar?a=b - protocol: http, host: hostname, port: 1234, segments: ["foo","bar"]
  • //hostname:1234/foo/bar?a=b - protocol: null, host: hostname, port: 1234, segments: ["foo","bar"]
  • foo/bar/baz?a=1&b=5 - segments: ["foo","bar","baz"], query parameters: ["a"="1", "b"="5"]
  • foo/bar//baz?=4&6 - segments: ["foo", "bar", "", "baz"], query parameters: [""="4", "6"=""]
  • /foo/bar/ - segments: ["", "foo", "bar", ""]
  • foo/bar// - segments: ["foo", "bar", "", ""]
  • ?a=b - segments: [ ], query parameters: ["a"="b"]
  • The Url class takes care of encoding and decoding of the segments and parameters. @author Matej Knopp @author Igor Vaynberg
  • org.b3log.solo.model.sitemap.URL
    3log.org">Liang Ding @version 1.1.0.0, Sep 22, 2011 @since 0.3.1
  • org.hibernate.validator.constraints.URL
  • org.jboss.as.controller.descriptions.ModelDescriptionConstants.URL
  • org.jboss.as.security.Constants.URL
  • org.qi4j.test.indexing.model.URL
    JAVADOC Add JavaDoc.
  • org.rhq.plugins.netservices.HTTPNetServiceComponent.ConfigKeys.URL
  • org.wso2.carbon.registry.social.api.people.userprofile.model.Url
  • org.xrace.desjardins.reponse.Url
    Class Url. @version $Revision$ $Date$
  • org.xrace.desjardins.request.Url
    Class Url. @version $Revision$ $Date$
  • org.xrace.desjardins.trx.Url
    Class Url. @version $Revision$ $Date$
  • org.xtext.httprouting.route.URL
    A representation of the model object 'URL'.

    The following features are supported:

    @see org.xtext.httprouting.route.RoutePackage#getURL() @model @generated
  • org.yinwang.pysonar.ast.Url
    virtual-AST node used to represent virtual source locations for builtins as external urls.
  • railo.runtime.type.scope.URL
    inteface for the url scope
  • smartrics.rest.fitnesse.fixture.support.Url
    Facade to {@link java.net.URL}. Just to offer a REST oriented interface. @author smartrics

  • Examples of java.net.URL

       * will only be called on startup !
       */
      private void updateDialogFromRobot() {

        // start URL
        URL u = jobobase.getRobot().getStartURL();
        if (u != null) {
          urlField.setText(u.toString());
        } else {
          urlField.setText("");
        }

      }
    View Full Code Here

    Examples of java.net.URL

       ***********************************************************************
       ***********************************************************************/

      public void setHttpToolDocUrl(String url) {
        try {
          currentUrlField.setText(urlToString(new URL(url)));
        } catch (MalformedURLException e) {}
      }
    View Full Code Here

    Examples of java.net.URL

      this.referer=referer;
     
     
      public URL getUrl() {
      try {
        return new URL(urlString);
      } catch (MalformedURLException e) {
        e.printStackTrace();
        return null;
      }
      }
    View Full Code Here

    Examples of java.net.URL

        if (opt.getOptionBoolean("?")) {
          printUsage();
          return;
        }
       
        URL u = new URL(argv[argv.length-1]);

        HttpDocToFile docStore=new HttpDocToFile(basedir);
        docStore.setMinFileSize(minSize);

        SystemOutHttpToolCallback statusInfo = new SystemOutHttpToolCallback();
    View Full Code Here

    Examples of java.net.URL

                throws IOException {
           
            List<T> providers = new LinkedList<T>();
            String providerClassName = providerClass.getName();
            providerClassName = providerClassName.substring(providerClassName.indexOf('.')+1);
            URL servicesURL = loader.findResource("META-INF/services/" + providerClass.getName());
            if (servicesURL != null) {
                BufferedReader in
                    = new BufferedReader(new InputStreamReader(servicesURL.openStream()));
                try {
                    String className;
                    while ((className = in.readLine()) != null) {
                        log.info("Loading the " + providerClassName + " implementation: " + className);
                        try {
    View Full Code Here

    Examples of java.net.URL

            {
              try
              {
                WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
                Definition def = wsdlReader.readWSDL(f.toURL().toExternalForm());
                URL url = new WSDLParser(def).getServiceLocationURL(serviceName, portName);
                if(url!=null && (def.getTargetNamespace().equals(serviceName.getNamespaceURI())))
                {
                  targetWsdlFile = f;
                  log.debug("Matching "+processId + " to WSDL file "+targetWsdlFile);
                  break;
    View Full Code Here

    Examples of java.net.URL

            } catch(IllegalStateException ise) {
              // Ignore for now - endpoint may not exist if first version
            }
          }
         
          URL serviceUrl = new WSDLParser(wsdlRef.getDefinition()).getServiceLocationURL(metaData.getServiceName(), metaData.getPortName());

          ServiceEndpointReference ref = JBossDSPFactory.getServiceDeployer().deploy(metaData, providerImpl.getClass(),
                        serviceUrl, classLoader, warArchive, serverConfig);
         
          /*
     
    View Full Code Here

    Examples of java.net.URL

      private String getDefaultWebServiceBaseUrl() {
        try {   
          ServerConfig serverConfig=JBossDSPFactory.getServerConfig();
          String webServiceHost = serverConfig.getWebServiceHost();
          int webServicePort = serverConfig.getWebServicePort();
          URL theURL = new URL("http://" + webServiceHost + ":" + webServicePort);
          if (Boolean.valueOf(properties.getProperty(BPELEngineImpl.BPEL_WEBSERVICE_SECURE, "false"))) {
            int secureWebServicePort = serverConfig.getWebServicePort();
            theURL = new URL("https://" + webServiceHost + ":" + secureWebServicePort);
          }
          return theURL.toExternalForm();
        } catch (MalformedURLException e) {
          log.error("Error in constructing the webservice base url.", e);
          return null;
        }
      }
    View Full Code Here

    Examples of java.net.URL

                                                                      String address) {
            // URL rewrite
            if (transport.equals("http") || transport.equals("https")) {
                if (address.indexOf(":") != -1) {
                    try {
                        address = new URL(address).getPath();
                    } catch (MalformedURLException e) {
                        String msg = "URL " + address + " is malformed";
                        log.error(msg, e);
                        throw new SynapseException(msg, e);
                    }
    View Full Code Here

    Examples of java.net.URL

       
        long now = System.currentTimeMillis();

        updateProgressInfo();

        URL u = task.getUrl();
        String urlString = u.toString();
        String referer = task.getReferer();
        int depth = task.getMaxDepth();

        if (depth < 0) {
          log.info("Max search depth reached");
          return;
        }

        // we may need this additional check even if we
        // tested it during adding to the tasks list
        if (!isAllowed(u)) {
          log.info("Url '" + u + "' filtered out.");
          return;
        }

        if (u.getFile().equals("")) {
          try {
            urlString = urlString + "/";
            u = new URL(urlString);
            // fix for double retrieved files
            task.setUrl(u);
          } catch (MalformedURLException e) {
            log.error("URL not well formed: " + e.toString());
            // use exception handler to handle exception
            exceptionHandler.handleException(this, u, e);
            return;
          }
        }

        log.info("retrieving " + urlString);
        httpTool.setReferer(referer);

        HttpDoc doc = null;
        Vector links = null;
        boolean cached = false;

        // look in the cache first, but only for static pages
        boolean reScan = true;
        if ((docManager != null && allowCaching)
          && (task.getMethod() == HttpConstants.GET)
          && (task.getParamString() == null)) {
          doc = docManager.retrieveFromCache(u);
    /*      if (doc != null) {
            try {
              links = ((UrlCollector) docManager).retrieveLinks(doc);
            } catch (IOException e) {
              log.info("Could not get links for " + u + ": " + e.getMessage());
              links = null;
            }
          }*/
         
          if (doc != null) {
            countCache++;
            long lastRetrieved = doc.getDateAsMilliSeconds();
            double ageInSeconds = (now - lastRetrieved) / 1000;
            if (ageInSeconds < 0) {
              log.warn("DocumentAge < 0!");
            }
            reScan = maxDocumentAge >= 0 && ageInSeconds > maxDocumentAge;
            if (reScan) {
              long lastModified = doc.getLastModifiedAsMilliSeconds();
              Date lastModifiedDate = new Date(lastModified);
              httpTool.setIfModifiedSince(lastModifiedDate);
            }
          } else {
            httpTool.setIfModifiedSince(null);
          }
        }

        // if not found in cache, retrieve from the web page
        if (reScan) {
          HttpDoc newDoc;
          boolean error = false;
          try {
            if (u.getProtocol().equalsIgnoreCase("file")) {
              // retrieve from file
              newDoc = retrieveFileURL(u, httpTool.getIfModifiedSince());
            } else {
              // retrieve from Web
              newDoc = httpTool.retrieveDocument(u, task.getMethod(), task.getParamString());
              if (newDoc != null) {
                newDoc.setDate(now);
              }
              sleepNow();
            }
           
            if (newDoc!= null && !newDoc.isNotModified()) {
              if (!(newDoc.isOk() || newDoc.isRedirect())) {
                error = true;
              }
            } else {
              // (newDoc == null || newDoc.isNotModified()) && doc != null
              // -> Not modified
              // -> refresh time stamp
              if (doc != null) {
                doc.setDate(now);
                doc.setCached(false);
                newDoc = null;
              }
            }
          } catch (HttpException hex) {
            error = true; newDoc = null;
          }
          if (error) {
            int retry = task.retry();
            if (retry <= maxRetries) {
              synchronized(visited) {
                todo.add(task);
                visited.remove(task);
              }
              log.info("Adding " + u + " for retry no. " + retry);
              return;
            } else {
              doc = docManager.retrieveFromCache(u);
              if (doc == null) {
                log.warn("Unsuccessfull retries for " + u);
                return;
              } else {
                long docDate = doc.getDateAsMilliSeconds();
                long age = (now - docDate);
                age /= 1000;
                if (expirationAge < 0 || age < expirationAge) {
                  newDoc = doc;
                  cached = true;
                  log.info("Cached document not expired: " + u);
                } else {
                  log.warn("Cached document expired: " + u);
                  docManager.removeDocument(u);
                  return;
                }
              }
            }
          }
         
          if (newDoc != null) {
            countWeb++;
            doc = newDoc;
            links = null; // force recalculation of links
            countRefresh++;
          } else {
            cached = true;
            countNoRefresh++;
          }
        } else {
          cached = true;
          log.debug("Page " + u + " retrieved from cache");
        }

        // Add it to the visited vector
        // needs to be synchronized with todo-list
    //    visited.add(task);
       
        // got a NULL document, that doc was not retrieved
        // usually, it was not downloaded because a rule didn't allow
        // to download it
        if (doc == null) {
          log.info("not downloaded " + u);
          return;
        }

        // Duplicate check
        String duplicate=null;
        if (duplicateCheck) {
          duplicate = getContentVisitedURL(doc);
          if (duplicate != null) {
            log.info("URLs with same content found: " + urlString + " = " + duplicate);
          } else
            try {
              duplicate = docManager.findDuplicate(doc);
              if (duplicate != null) {
                log.info("URLs with same content found in cache: " + urlString + " = " + duplicate);
              }
            } catch (IOException e) {
              e.printStackTrace();
            }
          }
         
          if (duplicate != null) {
            String pureDuplicate = removeParameters(duplicate);
            String pureUrl = removeParameters(urlString);
            if (!pureUrl.equals(pureDuplicate) && !cached) {
              // different url not yet stored -> store it
              try {
                // retrieve links from original
                HttpDoc linksDoc = docManager.retrieveFromCache(new URL(duplicate));
                if (linksDoc != null) {   
                  doc.setLinks(linksDoc.getLinks());
                }
                docManager.storeDocument(doc);
              } catch (Exception e) {
                e.printStackTrace();
              }
            }
            RobotTask newTask;
            try {
              newTask = createRobotTask(new URL(duplicate), depth, referer);
              // check already here for visited tasks to save memory
              if (!visited.contains(newTask)) {
                addTask(newTask);
              }
            } catch (MalformedURLException e) {
              e.printStackTrace(); // Can�t happen
            }
            return;
          }
        }

        // was it an UnAuthorized document ?
        if (doc.isUnauthorized()) {
          log.info("got HTTP Unauthorized for URL " + u);
        }

        if (doc.isOk() || cached) {
          // callback
          if (webRobotCallback != null) {
            int contentLength=0;
            if (doc.getContent() != null) { contentLength=doc.getContent().length; }
            webRobotCallback.webRobotRetrievedDoc(urlString, contentLength);
          }

          // extract links
          try {
            if (doc.isHTML() && (depth > 0)) {
              // solving encoding problem
              // HtmlDocument htmlDoc = new HtmlDocument(u, doc.getContent());
              HtmlDocument htmlDoc = null;
              HttpHeader contentTypeHeader = doc.getHeader("Content-type");
              if (contentTypeHeader != null) {
                String contentType = contentTypeHeader.getValue();
                int index = contentType.toLowerCase().indexOf("charset=");
                if (index > 0) {
                  htmlDoc = new HtmlDocument(u, doc.getContent(), contentType.substring(index+8));
                } else {
                  htmlDoc = new HtmlDocument(u, doc.getContent());
                }
              } else {
                htmlDoc = new HtmlDocument(u, doc.getContent());
              }
     
              // add links
             
              // this depth-check is critical!
              // otherwise far too many RobotTasks will be created
              // this will cause a premature OutOfMemoryException!
              if (depth > 0) {
                if (duplicate != null) {
                  HttpDoc linksDoc = docManager.retrieveFromCache(new URL(duplicate));
                  doc.setLinks(linksDoc.getLinks());
                } else if (cached) {
                }
                if (links == null) {
                  links = htmlDoc.getLinks();
                  doc.setLinks(links);
                }
                if (duplicate == null) {
                  HashSet checkedLinks = new HashSet();
                  for (int i = 0; i < links.size(); i++) {
                    URL link = (URL) links.elementAt(i);
                    log.info("Link: "+link);
                    // check already here for duplicate links to avoid expensive
                    // creation of RobotTasks
                    if (!checkedLinks.contains(link)) {
                      checkedLinks.add(link);
                      String myReferer = u.toString();
                      if (u.getUserInfo() != null) {
                        // remove userinfo from referer
                        int endindex = myReferer.indexOf("@")+1;
                        myReferer = "http://"+ myReferer.substring(endindex);
                      }
                     
                      RobotTask newTask = createRobotTask((URL) links.elementAt(i), depth - 1, myReferer);
                      // check already here for visited tasks to save memory
                      if (!visited.contains(newTask)) {
                        // bad workaround to retrieve images first
                        if (newTask.urlString.endsWith(".jpg")) {
                          addTaskAtStart(newTask);
                        } else {
                          addTask(newTask);
                        }
                      }
                    }
                  }
                }
              }
             
              if (hasFormHandlers) {
                // add forms
                Vector forms = htmlDoc.getElements("form");
                for (int i = 0; i < forms.size(); i++) {
                  ExtendedURL eurl = formFiller.fillForm(u, (Element) forms.elementAt(i));
                  if (eurl != null) {
                    RobotTask newTask = createRobotTask(eurl.getURL(), depth - 1, u.toString());
                    newTask.setParamString(eurl.getParams());
                    newTask.setMethod(eurl.getRequestMethod());
                    addTask(newTask);
                  }
                }
              }
     
            }
          // catch any occuring error to keep on processing
          } catch (OutOfMemoryError e) {
            throw e;
          } catch (Throwable e){
            log.error("Unexpected error while extraction links from url '" + u + "':"+e);
            e.printStackTrace();
            // continue processing
          }

          // filter and store the document
          if ((docManager != null)) {
            try {
              if (filters != null) {
                doc = filters.process(doc);
              } else {
                log.debug("No filters defined");
              }
             
              if (isProcessingAllowed(doc)) {
                docManager.processDocument(doc);
              } else  {
                String md5 = doc.getHeaderValue(HttpHeader.CONTENT_MD5);
                doc.setContent("Not for indexing".getBytes());
                doc.setHeaderValue(HttpHeader.CONTENT_MD5, md5);
              }
             
              try {
                docManager.storeDocument(doc);
              } catch (Exception e) {
                log.warn("could not store (not for indexing) " + urlString + ": " + e.getMessage());
              }
              if (activatedContentHistory && duplicate==null) {
                setContentVisitedURL(doc, urlString);
              }
            } catch (DocManagerException e1) {
              log.error("could not process document: " + e1.getMessage());
              exceptionHandler.handleException(this, u, e1);
            } catch (FilterException e2) {
              log.error(e2.getMessage());
            }
          }

        } else {
          // it was NOT a 200 return code !

          if (doc.isRedirect()) {
            String ref = doc.getLocation();
            log.info("Got redirect to " + ref);

            try {
              URL u2 = new URL(u, ref);
              // is it on another host ?

              // On a redirect, browsers use the old Referer instead of the
              // URL that got this redirect
              // Therefore we do not use u.toString as Referer but the old Referer
    View Full Code Here
    TOP
    Copyright © 2018 www.massapi.com. All rights reserved.
    All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.