Package forestry.api.genetics

Examples of forestry.api.genetics.IClassification


  }

  private void createAlleles() {

    // Divisions
    IClassification angiosperms = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.DIVISION, "angiosperms", "Angiosperms");
    AlleleManager.alleleRegistry.getClassification("kingdom.plantae").addMemberGroup(
        angiosperms);
    IClassification pinophyta = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.DIVISION, "pinophyta", "Pinophyta");
    AlleleManager.alleleRegistry.getClassification("kingdom.plantae").addMemberGroup(pinophyta);
    IClassification magnoliophyta = AlleleManager.alleleRegistry
        .createAndRegisterClassification(EnumClassLevel.DIVISION, "magnoliophyta",
            "Magnoliophyta");
    AlleleManager.alleleRegistry.getClassification("kingdom.plantae").addMemberGroup(
        magnoliophyta);

    // Classes
    IClassification rosids = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.CLASS, "rosids", "Rosids");
    angiosperms.addMemberGroup(rosids);
    IClassification asterids = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.CLASS, "asterids", "Asterids");
    angiosperms.addMemberGroup(asterids);
    IClassification pinopsida = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.CLASS, "pinopsida", "Pinopsida");
    pinophyta.addMemberGroup(pinopsida);
    IClassification magnoliopsida = AlleleManager.alleleRegistry
        .createAndRegisterClassification(EnumClassLevel.CLASS, "magnoliopsida",
            "Magnoliopsida");
    pinophyta.addMemberGroup(magnoliopsida);

    // Orders
    IClassification fabales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "fabales", "Fabales");
    rosids.addMemberGroup(fabales);
    IClassification rosales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "rosales", "Rosales");
    rosids.addMemberGroup(rosales);
    IClassification fagales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "fagales", "Fagales");
    rosids.addMemberGroup(fagales);
    IClassification malvales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "malvales", "Malvales");
    rosids.addMemberGroup(malvales);
    IClassification malpighiales = AlleleManager.alleleRegistry
        .createAndRegisterClassification(EnumClassLevel.ORDER, "malpighiales",
            "Malpighiales");
    rosids.addMemberGroup(malpighiales);

    IClassification ericales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "ericales", "Ericales");
    asterids.addMemberGroup(ericales);
    IClassification lamiales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "lamiales", "Lamiales");
    asterids.addMemberGroup(lamiales);

    IClassification pinales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "pinales", "Pinales");
    pinopsida.addMemberGroup(pinales);

    IClassification laurales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "laurales", "Laurales");
    rosids.addMemberGroup(laurales);
    IClassification sapindales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "sapindales", "Sapindales");
    rosids.addMemberGroup(sapindales);
    IClassification brassicales = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.ORDER, "brassicales", "Brassicales");
    rosids.addMemberGroup(brassicales);

    // Families
    IClassification betulaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "betulaceae", "Betulaceae");
    fagales.addMemberGroup(betulaceae);
    IClassification fagaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "fagaceae", "Fagaceae");
    fagales.addMemberGroup(fagaceae);
    IClassification juglandaceae = AlleleManager.alleleRegistry
        .createAndRegisterClassification(EnumClassLevel.FAMILY, "juglandaceae",
            "Juglandaceae");
    fagales.addMemberGroup(juglandaceae);

    IClassification malvaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "malvaceae", "Malvaceae");
    malvales.addMemberGroup(malvaceae);
    IClassification dipterocarpaceae = AlleleManager.alleleRegistry
        .createAndRegisterClassification(EnumClassLevel.FAMILY, "dipterocarpaceae",
            "Dipterocarpaceae");
    malvales.addMemberGroup(dipterocarpaceae);

    IClassification pinaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "pinaceae", "Pinaceae");
    pinales.addMemberGroup(pinaceae);
    IClassification cupressaceae = AlleleManager.alleleRegistry
        .createAndRegisterClassification(EnumClassLevel.FAMILY, "cupressaceae",
            "Cupressaceae");
    pinales.addMemberGroup(cupressaceae);

    IClassification lamiaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "lamiaceae", "Lamiaceae");
    lamiales.addMemberGroup(lamiaceae);

    IClassification ebenaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "ebenaceae", "Ebenaceae");
    ericales.addMemberGroup(ebenaceae);

    IClassification fabaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "fabaceae", "Fabaceae");
    ericales.addMemberGroup(fabaceae);

    IClassification rosaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "rosaceae", "Rosaceae");
    rosales.addMemberGroup(rosaceae);

    IClassification salicaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "salicaceae", "Salicaceae");
    malpighiales.addMemberGroup(salicaceae);

    IClassification lauraceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "lauraceae", "Lauraceae");
    malpighiales.addMemberGroup(lauraceae);

    IClassification rutaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "rutaceae", "Rutaceae");
    sapindales.addMemberGroup(rutaceae);
    IClassification sapindaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "sapindaceae", "Sapindaceae");
    sapindales.addMemberGroup(sapindaceae);

    IClassification caricaceae = AlleleManager.alleleRegistry.createAndRegisterClassification(
        EnumClassLevel.FAMILY, "caricaceae", "Caricaceae");
    brassicales.addMemberGroup(caricaceae);

    // Genii
    IClassification quercus = new BranchTrees("quercus", "Quercus");
    fagaceae.addMemberGroup(quercus);
    IClassification castanea = new BranchTrees("castanea", "Castanea");
    fagaceae.addMemberGroup(castanea);

    IClassification betula = new BranchTrees("betula", "Betula");
    betulaceae.addMemberGroup(betula);

    IClassification tilia = new BranchTrees("tilia", "Tilia");
    malvaceae.addMemberGroup(tilia);
    IClassification ceiba = new BranchTrees("ceiba", "Ceiba");
    malvaceae.addMemberGroup(ceiba);
    IClassification adansonia = new BranchTrees("adansonia", "Adansonia");
    malvaceae.addMemberGroup(adansonia);

    IClassification picea = new BranchTrees("picea", "Picea");
    pinaceae.addMemberGroup(picea);
    IClassification pinus = new BranchTrees("pinus", "Pinus");
    pinaceae.addMemberGroup(pinus);
    IClassification larix = new BranchTrees("larix", "Larix");
    pinaceae.addMemberGroup(larix);

    IClassification juglans = new BranchTrees("juglans", "Juglans");
    juglandaceae.addMemberGroup(juglans);

    IClassification sequoia = new BranchTrees("sequoia", "Sequoia");
    cupressaceae.addMemberGroup(sequoia);
    IClassification sequoiadendron = new BranchTrees("sequoiadendron", "Sequoiadendron");
    cupressaceae.addMemberGroup(sequoiadendron);

    IClassification tectona = new BranchTrees("tectona", "Tectona");
    lamiaceae.addMemberGroup(tectona);

    IClassification diospyros = new BranchTrees("ebony", "Diospyros");
    ebenaceae.addMemberGroup(diospyros);

    IClassification shorea = new BranchTrees("mahogany", "Shorea");
    dipterocarpaceae.addMemberGroup(shorea);

    IClassification acacia = new BranchTrees("acacia", "Acacia");
    fabaceae.addMemberGroup(acacia);
    IClassification millettia = new BranchTrees("millettia", "Millettia");
    fabaceae.addMemberGroup(millettia);

    IClassification ochroma = new BranchTrees("ochroma", "Ochroma");
    malvaceae.addMemberGroup(ochroma);

    IClassification prunus = new BranchTrees("prunus", "Prunus");
    rosaceae.addMemberGroup(prunus);

    IClassification salix = new BranchTrees("salix", "Salix");
    salicaceae.addMemberGroup(salix);

    IClassification chlorocardium = new BranchTrees("chlorocardium", "Chlorocardium");
    salicaceae.addMemberGroup(chlorocardium);

    IClassification talipariti = new BranchTrees("talipariti", "Talipariti");
    malvaceae.addMemberGroup(talipariti);

    IClassification populus = new BranchTrees("populus", "Populus");
    salicaceae.addMemberGroup(populus);

    IClassification citrus = new BranchTrees("citrus", "Citrus");
    rutaceae.addMemberGroup(citrus);
    IClassification acer = new BranchTrees("acer", "Acer");
    sapindaceae.addMemberGroup(acer);

    IClassification tropical = new BranchTrees("Tropical", "");

    IClassification carica = new BranchTrees("carica", "Carica");

    IFruitFamily prunes = new FruitFamily("prunes", "Prunus domestica");
    IFruitFamily pomes = new FruitFamily("pomes", "Pomum");
    IFruitFamily jungle = new FruitFamily("jungle", "Tropicus");
    IFruitFamily nux = new FruitFamily("nuts", "Nux");
View Full Code Here


    drawLine(StringUtil.localize("gui.alyzer.classification") + ":", 12);
    newLine();

    Stack<IClassification> hierarchy = new Stack<IClassification>();
    IClassification classification = individual.getGenome().getPrimary().getBranch();
    while (classification != null) {

      if (classification.getScientific() != null && !classification.getScientific().isEmpty())
        hierarchy.push(classification);
      classification = classification.getParent();
    }

    boolean overcrowded = hierarchy.size() > 5;
    int x = 12;
    IClassification group = null;

    while (!hierarchy.isEmpty()) {

      group = hierarchy.pop();
      if (overcrowded && group.getLevel().isDroppable())
        continue;

      drawLine(group.getScientific(), x, group.getLevel().getColour());
      drawLine(group.getLevel().name(), 155, group.getLevel().getColour());
      newLine();
      x += 10;
    }

    // Add the species name
    String binomial = individual.getGenome().getPrimary().getBinomial();
    if (group != null && group.getLevel() == EnumClassLevel.GENUS)
      binomial = group.getScientific().substring(0, 1) + ". " + binomial.toLowerCase(Locale.ENGLISH);

    drawLine(binomial, x, 0xebae85);
    drawLine("SPECIES", 155, 0xebae85);

    newLine();
View Full Code Here

      hive.addDrop(drop);
  }

  private void createAlleles() {

    IClassification hymnoptera = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.ORDER, "hymnoptera", "Hymnoptera");
    AlleleManager.alleleRegistry.getClassification("class.insecta").addMemberGroup(hymnoptera);

    IClassification apidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "apidae", "Apidae");
    hymnoptera.addMemberGroup(apidae);

    IClassification honey = new BranchBees("honey", "Apis");
    apidae.addMemberGroup(honey);
    IClassification noble = new BranchBees("noble", "Probapis");
    apidae.addMemberGroup(noble);
    IClassification industrious = new BranchBees("industrious", "Industrapis");
    apidae.addMemberGroup(industrious);
    IClassification heroic = new BranchBees("heroic", "Herapis");
    apidae.addMemberGroup(heroic);
    IClassification infernal = new BranchBees("infernal", "Diapis");
    apidae.addMemberGroup(infernal);
    IClassification austere = new BranchBees("austere", "Modapis");
    apidae.addMemberGroup(austere);
    IClassification end = new BranchBees("end", "Finapis");
    apidae.addMemberGroup(end);
    IClassification vengeful = new BranchBees("vengeful", "Punapis");
    apidae.addMemberGroup(vengeful);
    IClassification tropical = new BranchBees("tropical", "Caldapis");
    apidae.addMemberGroup(tropical);
    IClassification frozen = new BranchBees("frozen", "Coagapis");
    apidae.addMemberGroup(frozen);
    IClassification reddened = new BranchBees("reddened", "Rubapis");
    apidae.addMemberGroup(reddened);
    IClassification festive = new BranchBees("festive", "Festapis");
    apidae.addMemberGroup(festive);
    IClassification agrarian = new BranchBees("agrarian", "Rustapis");
    apidae.addMemberGroup(agrarian);
    IClassification boggy = new BranchBees("boggy", "Paludapis");
    apidae.addMemberGroup(boggy);
    IClassification monastic = new BranchBees("monastic", "Monapis");
    apidae.addMemberGroup(monastic);

    // / BEES // SPECIES
    // Common Branch
    Allele.speciesForest = new AlleleBeeSpecies("speciesForest", true, "bees.species.forest", honey, "nigrocincta", 0x19d0ec, 0xffdc16).addProduct(
View Full Code Here

          Items.redstone, Character.valueOf('D'), Items.diamond});
  }

  private void createAlleles() {

    IClassification lepidoptera = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.ORDER, "lepidoptera", "Lepidoptera");
    AlleleManager.alleleRegistry.getClassification("class.insecta").addMemberGroup(lepidoptera);

    geometridae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "geometridae", "Geometridae");
    lepidoptera.addMemberGroup(geometridae);
    saturniidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "saturniidae", "Saturniidae");
    lepidoptera.addMemberGroup(saturniidae);

    pieridae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "pieridae", "Pieridae");
    lepidoptera.addMemberGroup(pieridae);
    nymphalidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "nymphalidae", "Nymphalidae");
    lepidoptera.addMemberGroup(nymphalidae);
    lycaenidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "lycaenidae", "Lycaenidae");
    lepidoptera.addMemberGroup(lycaenidae);
    papilionidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "papilionidae", "Papilionidae");
    lepidoptera.addMemberGroup(papilionidae);
    notchidae = AlleleManager.alleleRegistry.createAndRegisterClassification(EnumClassLevel.FAMILY, "notchidae", "Notchidae");
    lepidoptera.addMemberGroup(notchidae);

    /* GEOMETRIDAE */
    IClassification opisthograptis = createButterflyBranch(geometridae, "Opisthograptis");
    IClassification chiasmia = createButterflyBranch(geometridae, "Chiasmia");

    Allele.mothBrimstone = new AlleleButterflySpecies("mothBrimstone", true, "brimstone", opisthograptis, "luteolata", 0xffea40).setNocturnal(true).setRarity(1.0f);
    Allele.mothLatticedHeath = new AlleleButterflySpecies("mothLatticedHeath", true, "latticedHeath", chiasmia, "clathrata", 0xf2f0be).setNocturnal(true).setRarity(0.5f);

    /* SATURNIIDAE */
    IClassification attacus = createButterflyBranch(saturniidae, "Attacus");

    Allele.mothAtlas = new AlleleButterflySpecies("mothAtlas", false, "atlas", attacus, "atlas", 0xd96e3d).setNocturnal(true);

    /* PIERIDAE */
    IClassification pieris = createButterflyBranch(pieridae, "Pieris");
    IClassification gonepteryx = createButterflyBranch(pieridae, "Gonepteryx");
    IClassification anthocharis = createButterflyBranch(pieridae, "Anthocharis");
    IClassification colias = createButterflyBranch(pieridae, "Colias");
    IClassification pontia = createButterflyBranch(pieridae, "Pontia");
    IClassification celastrina = createButterflyBranch(pieridae, "Celastrina");

    Allele.lepiCabbageWhite = new AlleleButterflySpecies("lepiCabbageWhite", true, "cabbageWhite", pieris, "rapae", 0xccffee).setRarity(1.0f);
    Allele.lepiBrimstone = new AlleleButterflySpecies("lepiBrimstone", true, "brimstone", gonepteryx, "rhamni", 0xf0ee38).setRarity(1.0f);
    Allele.lepiAurora = new AlleleButterflySpecies("lepiAurora", true, "orangeTip", anthocharis, "cardamines", 0xe34f05).setRarity(0.5f);
    Allele.lepiPostillion = new AlleleButterflySpecies("lepiPostillion", true, "postillion", colias, "croceus", 0xd77e04).setRarity(0.5f);
    Allele.lepiPalaenoSulphur = new AlleleButterflySpecies("lepiPalaenoSulphur", true, "palaenoSulphur", colias, "palaeno", 0xf8fba3).setRarity(0.4f);
    Allele.lepiReseda = new AlleleButterflySpecies("lepiReseda", true, "reseda", pontia, "edusa", 0x747d48).setRarity(0.3f);

    Allele.lepiSpringAzure = new AlleleButterflySpecies("lepiSpringAzure", true, "springAzure", celastrina, "argiolus", 0xb8cae2).setRarity(0.3f);
    Allele.lepiGozoraAzure = new AlleleButterflySpecies("lepiGozoraAzure", true, "gozoraAzure", celastrina, "gozora", 0x6870e7).setRarity(0.2f);

    /* PAPILIONIDAE */
    IClassification papilio = createButterflyBranch(papilionidae, "Papilio");
    IClassification protographium = createButterflyBranch(papilionidae, "Protographium");

    Allele.lepiCitrusSwallow = new AlleleButterflySpecies("lepiCitrusSwallow", false, "swallowtailC", papilio, "demodocus", 0xeae389).setRarity(1.0f)
        .setTemperature(EnumTemperature.WARM).setHumidity(EnumHumidity.DAMP);
    Allele.lepiEmeraldPeacock = new AlleleButterflySpecies("lepiEmeraldPeacock", true, "emeraldPeacock", papilio, "palinurus", 0x7cfe80)
        .setTemperature(EnumTemperature.WARM).setHumidity(EnumHumidity.DAMP);
    Allele.lepiThoasSwallow = new AlleleButterflySpecies("lepiThoasSwallow", false, "swallowtailT", papilio, "thoas", 0xeac783).setRarity(0.2f)
        .setTemperature(EnumTemperature.WARM).setHumidity(EnumHumidity.DAMP);
    Allele.lepiSpicebush = new AlleleButterflySpecies("lepiSpicebush", true, "swallowtailS", papilio, "troilus", 0xeefeff).setRarity(0.5f);
    Allele.lepiBlackSwallow = new AlleleButterflySpecies("lepiBlackSwallow", true, "swallowtailB", papilio, "polyxenes", 0xeac783).setRarity(1.0f);

    Allele.lepiZebraSwallow = new AlleleButterflySpecies("lepiZebraSwallow", true, "swallowtailZ", protographium, "marcellus", 0xeafeff).setRarity(0.5f);

    /* NYMPHALIDAE */
    IClassification pararge = createButterflyBranch(nymphalidae, "Pararge");
    IClassification polygonia = createButterflyBranch(nymphalidae, "Polygonia");
    IClassification morpho = createButterflyBranch(nymphalidae, "Morpho");
    IClassification greta = createButterflyBranch(nymphalidae, "Greta");
    IClassification batesia = createButterflyBranch(nymphalidae, "Batesia");
    IClassification myscelia = createButterflyBranch(nymphalidae, "Myscelia");
    IClassification danaus = createButterflyBranch(nymphalidae, "Danaus");
    IClassification bassarona = createButterflyBranch(nymphalidae, "Bassarona");
    IClassification parantica = createButterflyBranch(nymphalidae, "Parantica");
    IClassification heliconius = createButterflyBranch(nymphalidae, "Heliconius");
    IClassification siproeta = createButterflyBranch(nymphalidae, "Siproeta");
    IClassification cethosia = createButterflyBranch(nymphalidae, "Cethosia");
    IClassification speyeria = createButterflyBranch(nymphalidae, "Speyeria");

    Allele.lepiGlasswing = new AlleleButterflySpecies("lepiGlasswing", true, "glasswing", greta, "oto", 0x583732)
        .setTemperature(EnumTemperature.WARM);

    Allele.lepiSpeckledWood = new AlleleButterflySpecies("lepiSpeckledWood", true, "speckledWood", pararge, "aegeria", 0x947245).setRarity(1.0f);
View Full Code Here

    butterflyInterface.registerTemplate(ButterflyTemplates.getLeopardLacewingTemplate());

  }

  private IClassification createButterflyBranch(IClassification family, String scientific) {
    IClassification branch = new Branch("moth." + scientific.toLowerCase(Locale.ENGLISH), scientific);
    branch.setParent(family);
    return branch;
  }
View Full Code Here

  public void initialize() {

    createAndRegisterClassification(EnumClassLevel.DOMAIN, "archaea", "Archaea");
    createAndRegisterClassification(EnumClassLevel.DOMAIN, "bacteria", "Bacteria");
    IClassification eukarya = createAndRegisterClassification(EnumClassLevel.DOMAIN, "eukarya", "Eukarya");

    eukarya.addMemberGroup(createAndRegisterClassification(EnumClassLevel.KINGDOM, "animalia", "Animalia"));
    eukarya.addMemberGroup(createAndRegisterClassification(EnumClassLevel.KINGDOM, "plantae", "Plantae"));
    eukarya.addMemberGroup(createAndRegisterClassification(EnumClassLevel.KINGDOM, "fungi", "Fungi"));
    eukarya.addMemberGroup(createAndRegisterClassification(EnumClassLevel.KINGDOM, "protista", "Protista"));

    getClassification("kingdom.animalia").addMemberGroup(createAndRegisterClassification(EnumClassLevel.PHYLUM, "arthropoda", "Arthropoda"));

    // Animalia
    getClassification("phylum.arthropoda").addMemberGroup(createAndRegisterClassification(EnumClassLevel.CLASS, "insecta", "Insecta"));
View Full Code Here

  @Override
  public void registerAllele(IAllele allele) {
    alleleMap.put(allele.getUID(), allele);
    if (allele instanceof IAlleleSpecies) {
      IClassification branch = ((IAlleleSpecies) allele).getBranch();
      if (branch != null)
        branch.addMemberSpecies((IAlleleSpecies) allele);
    }
    for (IAlleleHandler handler : this.alleleHandlers)
      handler.onRegisterAllele(allele);
  }
View Full Code Here

TOP

Related Classes of forestry.api.genetics.IClassification

Copyright © 2018 www.massapicom. 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.