Improve and simplify OSGi Boot
[lgpl/argeo-commons.git] / org.argeo.cms.api / src / org / argeo / node / RepoConf.java
index 39f72c03527cb9d93032c62b079f14edc65f3010..be4f6f7f79716c66084f75eb986d0013d1f5fffe 100644 (file)
@@ -1,10 +1,11 @@
 package org.argeo.node;
 
 /** JCR repository configuration */
-public enum RepoConf {
+public enum RepoConf implements EnumAD {
        /** Repository type */
        type("localfs"),
        /** Default workspace */
+       @Deprecated
        defaultWorkspace("main"),
        /** Database URL */
        dburl(null),
@@ -14,14 +15,14 @@ public enum RepoConf {
        dbpassword(null),
 
        /** The identifier (can be an URL locating the repo) */
-       uri(null),
-
+       labeledUri(null),
        //
        // JACKRABBIT SPECIFIC
        //
        /** Maximum database pool size */
        maxPoolSize(10),
        /** Maximum cache size in MB */
+       @Deprecated
        maxCacheMB(null),
        /** Bundle cache size in MB */
        bundleCacheMB(8),
@@ -34,6 +35,12 @@ public enum RepoConf {
 
        /** The default value. */
        private Object def;
+       private String oid;
+
+       RepoConf(String oid, Object def) {
+               this.oid = oid;
+               this.def = def;
+       }
 
        RepoConf(Object def) {
                this.def = def;
@@ -42,4 +49,18 @@ public enum RepoConf {
        public Object getDefault() {
                return def;
        }
+
+       @Override
+       public String getID() {
+               if (oid != null)
+                       return oid;
+               return EnumAD.super.getID();
+       }
+
+       public static class OCD extends EnumOCD<RepoConf> {
+               public OCD(String locale) {
+                       super(RepoConf.class, locale);
+               }
+       }
+
 }