Author: reschke
Date: Tue Feb 17 11:26:08 2015
New Revision: 1660352

URL: http://svn.apache.org/r1660352
Log:
OAK-2506 - port RDB support back to Oak 1.0

Part 4: backport oak-run support for RDB

Modified:
    jackrabbit/oak/branches/1.0/   (props changed)
    jackrabbit/oak/branches/1.0/oak-run/README.md
    
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
    
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
    
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java

Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Feb 17 11:26:08 2015
@@ -1,2 +1,2 @@
-/jackrabbit/oak/trunk:1584578,1584602,1584614,1584616,1584709,1584781,1584937,1585297,1585304-1585305,1585420,1585424,1585427,1585448,1585465,1585468,1585486,1585497,1585509,1585647,1585655-1585656,1585661,1585665-1585666,1585669-1585670,1585673,1585680,1585719,1585763,1585770,1585896,1585904,1585907,1585940,1585949,1585951,1585956,1585962-1585963,1586287,1586320,1586364,1586372,1586655,1586836,1587130,1587224,1587399,1587408,1587472,1587485,1587488,1587538,1587580,1587807,1588033,1588042,1588046,1588066,1588201,1589025,1589101,1589137,1589141,1589263,1589440,1589442,1589484,1589488,1589661,1589664,1589682,1589708,1589741,1589748,1589789,1589794,1589850,1589864,1590628,1590660,1590684,1590697,1590701,1590980,1590988,1591101,1591226,1591229,1591293,1591314,1591317,1591362,1591374,1591381,1591438,1591467,1591552,1591704,1591713,1591715,1591723,1591874,1592487,1592512,1592658,1592665,1592677,1592742,1592744,1592787,1592809,1592955,1593036,1593048,1593061,1593133,1593210-1593211,1593231
 
,1593245,1593250,1593294,1593304,1593317,1593342,1593554,1594158-1594164,1594166-1594167,1594169,1594237,1594800,1594808,1594835,1594888,1595147,1595457,1595856,1596241,1596474,1596534,1596844,1597569,1597795,1597854,1597860,1598292,1598302,1598352,1598369,1598595,1598631,1598696,1598732,1598797-1598798,1599299,1599332,1599416,1599434,1599671,1600088,1600935,1601309,1601388,1601578,1601676,1601757,1601768,1601814,1601833,1601838,1601853,1601878,1601888,1601922,1602156,1602174,1602179,1602183,1602207,1602227,1602256,1602261,1602342,1602796-1602797,1602800,1602809,1602853,1602872,1602914,1603155,1603307,1603401,1603441,1603748,1604166,1605030,1605036,1605038,1605292,1605447,1605526,1605670,1605725,1605831,1605852,1606077,1606079,1606087,1606638,1606641,1606644,1606708,1606711,1607031-1607032,1607077,1607127,1607141,1607152,1607185,1607196,1607331,1607362,1607366,1607392,1607526,1607557,1607664,1607737,1608560,1608731,1608783,1609064,1609081,1609165,1609214,1609488,1610489,1610592,1610
 
603,1610634,1610658,1610664,1611021,1611041,1611270,1611275,1611277,1611313,1611332,1611584,1612560,1612825,1612993,1613018,1613041,1614265,1614272,1614344-1614345,1614384-1614385,1614397,1614405-1614406,1614574,1614591,1614593,1614596,1614604,1614689,1614807,1614835,1614891,1615417-1615418,1616182,1616236,1616463,1616719,1617417,1617451,1617463,1617711,1618158,1618613,1618624,1618709,1619222,1619411,1619695,1619800,1619808,1619815,1619823-1619824,1620512,1620581,1620585,1620634,1620898,1620905,1621115,1621123-1621124,1621168,1621192,1621201,1621706,1621962,1622197,1622201,1622207,1622250,1622479,1623364,1623766,1623827,1623949,1623969,1623973,1624216,1624317,1624551,1624559,1624973,1624993-1624994,1625025,1625036,1625158,1625224,1625237,1625299,1625348,1625620,1625916,1625962-1625963,1626021,1626053,1626163,1626168,1626175,1626191,1626265,1626770,1627047,1627052,1627228,1627346,1627470,1627473,1627479,1627503,1627586,1627590,1627715,1627731,1628180,1628198,1628262,1628447,1628608,1
 
629688,1629840,1629917,1630055-1630057,1630156,1630299,1630338,1630773,1631283-1631284,1631333-1631334,1631617-1631619,1631630,1631699,1631704,1631711,1631967-1631969,1631986,1631990,1631999,1632002-1632003,1632017,1632258,1632264,1632270,1632293,1632303,1632592,1632605,1633315,1633559-1633560,1633562,1633567,1633571,1633598,1633608,1633641,1633687,1633697,1633768,1633783,1634505,1634513,1634774,1634779,1634781,1634792,1634803,1634814,1634816,1634838,1634841,1634852,1634864,1634896,1634898,1635044-1635045,1635060,1635077,1635089,1635102,1635108,1635218,1635387,1635435,1635518,1635563,1635586,1636336,1636348,1636505,1636585,1636799,1637368,1637382,1637413,1637651,1637815,1638779-1638783,1639260,1639577,1639622,1639963,1639966,1639973,1640134,1640143,1640555-1640556,1640694-1640695,1640715,1640722-1640723,1640728,1640863-1640872,1641340,1641350,1641352,1641541,1641596-1641599,1641601,1641662,1641671,1641695,1641771,1641802,1641811,1641950,1642031,1642056,1642119,1642285,1642648,164266
 
7,1642954,1642959,1643111,1643178,1643186,1643204,1643287,1643767,1643774,1643982,1644016,1644106,1644366,1644383,1644397-1644398,1644407,1644479,1644547,1644552,1644554,1644588,1644645,1644650,1644654,1644689,1644750,1645421,1645424,1645459,1645585,1645611,1645637,1645646,1645660-1645663,1645888,1645901,1645948,1645966,1645970-1645971,1646014,1646164,1646174,1646684,1649743,1649803,1650015,1650239,1650529,1650797,1651323,1651382,1651643,1651652,1651730,1651988-1651989,1651996,1652024,1652035,1652058-1652059,1652075,1652127,1652158,1652467,1652965,1652971,1653207,1653446,1653463,1653572,1653579,1653591,1653804,1653809,1653849-1653850,1653882,1654116,1654743,1654756,1654778,1655049,1655054-1655055,1655086,1655237,1655248,1655996,1656027,1656394,1656400,1656425,1656427,1656453,1656628,1659483,1659527,1659550,1659578,1660154-1660155
+/jackrabbit/oak/trunk:1584578,1584602,1584614,1584616,1584709,1584781,1584937,1585297,1585304-1585305,1585420,1585424,1585427,1585448,1585465,1585468,1585486,1585497,1585509,1585647,1585655-1585656,1585661,1585665-1585666,1585669-1585670,1585673,1585680,1585719,1585763,1585770,1585896,1585904,1585907,1585940,1585949,1585951,1585956,1585962-1585963,1586287,1586320,1586364,1586372,1586655,1586836,1587130,1587224,1587399,1587408,1587472,1587485,1587488,1587538,1587580,1587807,1588033,1588042,1588046,1588066,1588201,1589025,1589101,1589137,1589141,1589263,1589440,1589442,1589484,1589488,1589661,1589664,1589682,1589708,1589741,1589748,1589789,1589794,1589850,1589864,1590628,1590660,1590684,1590697,1590701,1590980,1590988,1591101,1591226,1591229,1591293,1591314,1591317,1591362,1591374,1591381,1591438,1591467,1591552,1591704,1591713,1591715,1591723,1591874,1592487,1592512,1592658,1592665,1592677,1592742,1592744,1592787,1592809,1592955,1593036,1593048,1593061,1593133,1593210-1593211,1593231
 
,1593245,1593250,1593294,1593304,1593317,1593342,1593554,1594158-1594164,1594166-1594167,1594169,1594237,1594800,1594808,1594835,1594888,1595147,1595457,1595856,1596241,1596474,1596534,1596844,1597569,1597795,1597854,1597860,1598292,1598302,1598352,1598369,1598595,1598631,1598696,1598732,1598797-1598798,1599299,1599332,1599416,1599434,1599671,1600088,1600935,1601309,1601388,1601578,1601649,1601676,1601757,1601768,1601814,1601833,1601838,1601853,1601878,1601888,1601922,1602156,1602170,1602174,1602179,1602183,1602201,1602207,1602227,1602256,1602261,1602342,1602796-1602797,1602800,1602809,1602853,1602872,1602914,1603155,1603307,1603401,1603441,1603748,1604166,1605030,1605036,1605038,1605292,1605447,1605526,1605670,1605725,1605831,1605852,1606077,1606079,1606087,1606638,1606641,1606644,1606708,1606711,1607031-1607032,1607077,1607127,1607141,1607152,1607185,1607196,1607331,1607362,1607366,1607392,1607526,1607557,1607664,1607737,1608560,1608731,1608783,1609064,1609081,1609165,1609214,1609
 
488,1610489,1610592,1610603,1610634,1610658,1610664,1611021,1611041,1611270,1611275,1611277,1611313,1611332,1611584,1612560,1612825,1612993,1613018,1613041,1614265,1614272,1614344-1614345,1614384-1614385,1614397,1614405-1614406,1614574,1614591,1614593,1614596,1614604,1614689,1614807,1614835,1614891,1615417-1615418,1616182,1616236,1616463,1616719,1617417,1617451,1617463,1617711,1618158,1618613,1618624,1618709,1619222,1619411,1619695,1619800,1619808,1619815,1619823-1619824,1620512,1620581,1620585,1620634,1620898,1620905,1621115,1621123-1621124,1621168,1621192,1621201,1621706,1621962,1622197,1622201,1622207,1622250,1622479,1623364,1623766,1623827,1623949,1623969,1623973,1624216,1624317,1624551,1624559,1624973,1624993-1624994,1625025,1625036,1625158,1625224,1625237,1625299,1625348,1625620,1625916,1625962-1625963,1626021,1626053,1626163,1626168,1626175,1626191,1626265,1626770,1627047,1627052,1627228,1627346,1627470,1627473,1627479,1627503,1627586,1627590,1627715,1627731,1628180,1628198,1
 
628262,1628447,1628608,1629688,1629840,1629917,1630055-1630057,1630156,1630299,1630338,1630773,1631283-1631284,1631333-1631334,1631617-1631619,1631630,1631699,1631704,1631711,1631967-1631969,1631986,1631990,1631999,1632002-1632003,1632017,1632258,1632264,1632270,1632293,1632303,1632592,1632605,1633315,1633559-1633560,1633562,1633567,1633571,1633598,1633608,1633641,1633687,1633697,1633768,1633783,1634505,1634513,1634774,1634779,1634781,1634792,1634803,1634814,1634816,1634838,1634841,1634852,1634864,1634896,1634898,1635044-1635045,1635060,1635077,1635089,1635102,1635108,1635218,1635387,1635435,1635518,1635563,1635586,1636336,1636348,1636505,1636585,1636799,1637368,1637382,1637413,1637651,1637815,1638779-1638783,1639260,1639577,1639622,1639963,1639966,1639973,1640134,1640143,1640555-1640556,1640694-1640695,1640715,1640722-1640723,1640728,1640863-1640872,1641340,1641350,1641352,1641541,1641596-1641599,1641601,1641662,1641671,1641695,1641771,1641802,1641811,1641950,1642031,1642056,164211
 
9,1642285,1642648,1642667,1642954,1642959,1643111,1643178,1643186,1643204,1643287,1643767,1643774,1643982,1644016,1644106,1644366,1644383,1644397-1644398,1644407,1644479,1644547,1644552,1644554,1644588,1644645,1644650,1644654,1644689,1644750,1645421,1645424,1645459,1645585,1645611,1645637,1645646,1645660-1645663,1645888,1645901,1645948,1645966,1645970-1645971,1646014,1646164,1646174,1646684,1649743,1649803,1650015,1650239,1650529,1650797,1651323,1651382,1651643,1651652,1651730,1651988-1651989,1651996,1652024,1652035,1652058-1652059,1652075,1652127,1652158,1652467,1652965,1652971,1653207,1653446,1653463,1653572,1653579,1653591,1653804,1653809,1653849-1653850,1653882,1654116,1654743,1654756,1654778,1655049,1655054-1655055,1655086,1655237,1655248,1655996,1656027,1656394,1656400,1656425,1656427,1656453,1656628,1659483,1659527,1659550,1659578,1660154-1660155
 /jackrabbit/trunk:1345480

Modified: jackrabbit/oak/branches/1.0/oak-run/README.md
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/README.md?rev=1660352&r1=1660351&r2=1660352&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-run/README.md (original)
+++ jackrabbit/oak/branches/1.0/oak-run/README.md Tue Feb 17 11:26:08 2015
@@ -194,6 +194,9 @@ The following benchmark options (with de
     --report false         - Whether to output intermediate results
     --csvFile <file>       - Optional csv file to report the benchmark results
     --concurrency <levels> - Comma separated list of concurrency levels
+    --rdbjdbcuri           - JDBC URL for RDB persistence (defaults to local 
file-based H2)
+    --rdbjdbcuser          - JDBC username (defaults to "")
+    --rdbjdbcpasswd        - JDBC password (defaults to "")
 
 These options are passed to the test cases and repository fixtures
 that need them. For example the Wikipedia dump option is needed by the
@@ -244,7 +247,10 @@ Finally the benchmark runner supports th
 | Oak-MongoMK | Oak with the Mongo MicroKernel                        |
 | Oak-Tar     | Oak with the Tar backend (aka Segment NodeStore)      |
 | Oak-H2      | Oak with the MK using embedded H2 database            |
+| Oak-RDB       | Oak with the DocumentMK/RDB persistence               |
 
+(Note that for Oak-RDB, the required JDBC drivers either need to be embedded
+into oak-run, or be specified separately in the class path.)
 
 Once started, the benchmark runner will execute each listed test case
 against all the listed repository fixtures. After starting up the

Modified: 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1660352&r1=1660351&r2=1660352&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
 Tue Feb 17 11:26:08 2015
@@ -18,6 +18,9 @@ package org.apache.jackrabbit.oak.benchm
 
 import java.io.File;
 import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
@@ -51,6 +54,12 @@ public class BenchmarkRunner {
                 .withRequiredArg();
         OptionSpec<Boolean> dropDBAfterTest = 
parser.accepts("dropDBAfterTest", "Whether to drop the MongoDB database after 
the test")
                 .withOptionalArg().ofType(Boolean.class).defaultsTo(true);
+        OptionSpec<String> rdbjdbcuri = parser.accepts("rdbjdbcuri", "RDB JDBC 
URI")
+                .withOptionalArg().defaultsTo("jdbc:h2:target/benchmark");
+        OptionSpec<String> rdbjdbcuser = parser.accepts("rdbjdbcuser", "RDB 
JDBC user")
+                .withOptionalArg().defaultsTo("");
+        OptionSpec<String> rdbjdbcpasswd = parser.accepts("rdbjdbcpasswd", 
"RDB JDBC password")
+                .withOptionalArg().defaultsTo("");
         OptionSpec<Boolean> mmap = parser.accepts("mmap", "TarMK memory 
mapping")
                 .withOptionalArg().ofType(Boolean.class)
                 
.defaultsTo("64".equals(System.getProperty("sun.arch.data.model")));
@@ -99,8 +108,11 @@ public class BenchmarkRunner {
                         dbName.value(options), dropDBAfterTest.value(options),
                         cacheSize * MB),
                 OakRepositoryFixture.getTar(
-                        base.value(options), 256, cacheSize, 
mmap.value(options))
-        };
+                        base.value(options), 256, cacheSize, 
mmap.value(options)),
+                OakRepositoryFixture.getRDB(rdbjdbcuri.value(options),
+                        rdbjdbcuser.value(options), 
rdbjdbcpasswd.value(options),
+                        dropDBAfterTest.value(options), cacheSize * MB)
+                        };
         Benchmark[] allBenchmarks = new Benchmark[] {
             new OrderedIndexQueryOrderedIndexTest(),
             new OrderedIndexQueryStandardIndexTest(),
@@ -213,6 +225,11 @@ public class BenchmarkRunner {
             }
         }
 
+        if (fixtures.isEmpty()) {
+            System.err.println("Warning: no repository fixtures specified, 
supported fixtures are: "
+                    + asSortedString(Arrays.asList(allFixtures)));
+        }
+
         List<Benchmark> benchmarks = Lists.newArrayList();
         for (Benchmark benchmark : allBenchmarks) {
             if (argset.remove(benchmark.toString())) {
@@ -220,6 +237,11 @@ public class BenchmarkRunner {
             }
         }
 
+        if (benchmarks.isEmpty()) {
+            System.err.println("Warning: no benchmarks specified, supported 
benchmarks are: "
+                    + asSortedString(Arrays.asList(allBenchmarks)));
+        }
+
         if (argset.isEmpty()) {
             PrintStream out = null;
             if (options.has(csvFile)) {
@@ -239,4 +261,12 @@ public class BenchmarkRunner {
         }
     }
 
+    private static String asSortedString(List<?> in) {
+        List<String> tmp = new ArrayList<String>();
+        for (Object o : in) {
+            tmp.add(o.toString());
+        }
+        Collections.sort(tmp);
+        return tmp.toString();
+    }
 }

Modified: 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java?rev=1660352&r1=1660351&r2=1660352&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
 Tue Feb 17 11:26:08 2015
@@ -19,7 +19,10 @@ package org.apache.jackrabbit.oak.fixtur
 import java.io.File;
 import java.util.Map;
 
+import javax.sql.DataSource;
+
 import com.google.common.collect.Maps;
+
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.core.data.DataStore;
 import org.apache.jackrabbit.mk.api.MicroKernel;
@@ -30,6 +33,8 @@ import org.apache.jackrabbit.oak.kernel.
 import org.apache.jackrabbit.oak.plugins.blob.cloud.CloudBlobStore;
 import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
 import org.apache.jackrabbit.oak.plugins.document.DocumentMK;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore;
+import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
 import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore;
@@ -47,6 +52,8 @@ public abstract class OakFixture {
     public static final String OAK_MONGO_NS = "Oak-MongoNS";
     public static final String OAK_MONGO_MK = "Oak-MongoMK";
 
+    public static final String OAK_RDB = "Oak-RDB";
+
     public static final String OAK_H2 = "Oak-H2";
     public static final String OAK_TAR = "Oak-Tar";
 
@@ -246,6 +253,78 @@ public abstract class OakFixture {
                 }
             }
         };
+    }
+
+    public static OakFixture getRDB(final String name, final String jdbcuri, 
final String jdbcuser, final String jdbcpasswd,
+            final boolean useMk, final boolean dropDBAfterTest, final long 
cacheSize) {
+        return new OakFixture(name) {
+            private DocumentMK[] kernels;
+            private BlobStore blobStore;
+
+            private BlobStore getBlobStore() {
+                try {
+                    DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcuri, 
jdbcuser, jdbcpasswd);
+                    blobStore = new RDBBlobStore(ds);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+
+                return blobStore;
+            }
+
+            @Override
+            public Oak getOak(int clusterId) throws Exception {
+                DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcuri, 
jdbcuser, jdbcpasswd);
+                DocumentMK.Builder mkBuilder = new 
DocumentMK.Builder().setRDBConnection(ds).memoryCacheSize(cacheSize)
+                        .setClusterId(clusterId).setLogging(false);
+                BlobStore blobStore = getBlobStore();
+                if (blobStore != null) {
+                    mkBuilder.setBlobStore(blobStore);
+                }
+                DocumentMK dmk = mkBuilder.open();
+                Oak oak;
+                if (useMk) {
+                    oak = new Oak(new KernelNodeStore(dmk, cacheSize));
+                } else {
+                    oak = new Oak(dmk.getNodeStore());
+                }
+                return oak;
+            }
+
+            @Override
+            public Oak[] setUpCluster(int n) throws Exception {
+                Oak[] cluster = new Oak[n];
+                kernels = new DocumentMK[cluster.length];
+                for (int i = 0; i < cluster.length; i++) {
+                    BlobStore blobStore = getBlobStore();
+                    DataSource ds = RDBDataSourceFactory.forJdbcUrl(jdbcuri, 
jdbcuser, jdbcpasswd);
+                    DocumentMK.Builder mkBuilder = new 
DocumentMK.Builder().setRDBConnection(ds).memoryCacheSize(cacheSize)
+                            .setClusterId(i).setLogging(false);
+                    if (blobStore != null) {
+                        mkBuilder.setBlobStore(blobStore);
+                    }
+                    kernels[i] = mkBuilder.open();
+                    Oak oak;
+                    if (useMk) {
+                        oak = new Oak(new KernelNodeStore(kernels[i], 
cacheSize));
+                    } else {
+                        oak = new Oak(kernels[i].getNodeStore());
+                    }
+                    cluster[i] = oak;
+                }
+                return cluster;
+            }
+
+            @Override
+            public void tearDownCluster() {
+                for (DocumentMK kernel : kernels) {
+                    kernel.dispose();
+                }
+                if (dropDBAfterTest) {
+                    throw new RuntimeException("dropdb not supported for RDB 
persistence");
+                }
+            }
+        };
     }
 
     public static OakFixture getTar(

Modified: 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java?rev=1660352&r1=1660351&r2=1660352&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-run/src/main/java/org/apache/jackrabbit/oak/fixture/OakRepositoryFixture.java
 Tue Feb 17 11:26:08 2015
@@ -66,6 +66,11 @@ public class OakRepositoryFixture implem
         return new OakRepositoryFixture(OakFixture.getMongo(name, useMK, host, 
port, database, dropDBAfterTest, cacheSize));
     }
 
+    public static RepositoryFixture getRDB(String jdbcuri, String jdbcuser, 
String jdbcpasswd, boolean dropDBAfterTest, long cacheSize) {
+        return new OakRepositoryFixture(OakFixture.getRDB(OakFixture.OAK_RDB, 
jdbcuri, jdbcuser, jdbcpasswd, false, dropDBAfterTest,
+                cacheSize));
+    }
+
     public static RepositoryFixture getTar(File base, int maxFileSizeMB, int 
cacheSizeMB, boolean memoryMapping) {
         return new OakRepositoryFixture(OakFixture.getTar(base, maxFileSizeMB, 
cacheSizeMB, memoryMapping));
     }


Reply via email to