diff --git a/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/OSGI-INF/l10n/bundle_ru.properties b/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/OSGI-INF/l10n/bundle_ru.properties index e85f19e31eeebe3162571d1bc17e0e983a4fe9be..5073edbf128537fbfd1485e43beec5b20cba0117 100644 --- a/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/OSGI-INF/l10n/bundle_ru.properties +++ b/nls/bundles/org.jkiss.dbeaver.ext.oracle.nls/OSGI-INF/l10n/bundle_ru.properties @@ -192,7 +192,8 @@ meta.org.jkiss.dbeaver.ext.oracle.model.OracleRole.name.description=\u0418\u043C meta.org.jkiss.dbeaver.ext.oracle.model.OracleRole.authentication.name=\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u044F meta.org.jkiss.dbeaver.ext.oracle.model.OracleRole.authentication.description=\u041E\u0431\u043E\u0437\u043D\u0430\u0447\u0430\u0435\u0442, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043B\u0438 \u043F\u0430\u0440\u043E\u043B\u044C \u0434\u043B\u044F \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F \u0440\u043E\u043B\u0438 meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.name.name=\u0418\u043C\u044F -meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.id.name=\u0418\u0434\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u043F\u043E\u043B\u044C\u0437-\u043B\u044F +meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.id.name=ID +meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.schemaUser.name=\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C meta.org.jkiss.dbeaver.ext.oracle.model.OracleSegment.schema.name=\u0421\u0445\u0435\u043C\u0430 meta.org.jkiss.dbeaver.ext.oracle.model.OracleSegment.segmentType.name=\u0422\u0438\u043F meta.org.jkiss.dbeaver.ext.oracle.model.OracleSegment.partitionName.name=\u0420\u0430\u0437\u0434\u0435\u043B diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties b/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties index 98732795ad1d274a20a865a0ea6633df0e926683..f9b4d5659b323d6609d7f9bf69ff6249a25896f9 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties +++ b/plugins/org.jkiss.dbeaver.ext.oracle/OSGI-INF/l10n/bundle.properties @@ -242,6 +242,7 @@ meta.org.jkiss.dbeaver.ext.oracle.model.OracleRole.authentication.name=Authentic meta.org.jkiss.dbeaver.ext.oracle.model.OracleRole.authentication.description=Indicates if the role requires a password to be enabled meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.name.name=Name meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.id.name=User ID +meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.schemaUser.name=Schema user meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.createTime.name=Create time meta.org.jkiss.dbeaver.ext.oracle.model.OracleSchema.createTime.description=Date the user was created meta.org.jkiss.dbeaver.ext.oracle.model.OracleSegment.schema.name=Owner diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleDataSource.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleDataSource.java index bf56e62608564e25f16cbe54193d63c4d1c2bace..2d708040d6b91920cc91bdbd69ca3ce0f5697c8a 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleDataSource.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleDataSource.java @@ -317,6 +317,11 @@ public class OracleDataSource extends JDBCDataSource return userCache.getAllObjects(monitor, this); } + @Association + public OracleUser getUser(DBRProgressMonitor monitor, String name) throws DBException { + return userCache.getObject(monitor, this, name); + } + @Association public Collection getProfiles(DBRProgressMonitor monitor) throws DBException { return profileCache.getAllObjects(monitor, this); diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java index e72bc66228b172a2a0a8dc9021c3f716e1d7e29e..9fbc626e1261e21f777ca65ed411588de035ca63 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleSchema.java @@ -100,13 +100,13 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe return OracleConstants.USER_PUBLIC.equals(this.name); } - @Property(viewable = false, order = 200) + @Property(order = 200) public long getId() { return id; } - @Property(viewable = false, order = 190) + @Property(order = 190) public Date getCreateTime() { return createTime; } @@ -269,12 +269,7 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe allTableTriggers.addAll(triggers); } } - allTableTriggers.sort(new Comparator() { - @Override - public int compare(OracleTableTrigger o1, OracleTableTrigger o2) { - return o1.getName().compareTo(o2.getName()); - } - }); + allTableTriggers.sort(Comparator.comparing(OracleTrigger::getName)); return allTableTriggers; } @@ -313,17 +308,18 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe return recycleBin.getAllObjects(monitor, this); } + @Property(order = 90) + public OracleUser getSchemaUser(DBRProgressMonitor monitor) throws DBException { + return getDataSource().getUser(monitor, name); + } + @Override public Collection getChildren(@NotNull DBRProgressMonitor monitor) throws DBException { List children = new ArrayList<>(); - for (OracleTableBase table : tableCache.getAllObjects(monitor, this)) { - children.add(table); - } - for (OraclePackage pack : packageCache.getAllObjects(monitor, this)) { - children.add(pack); - } + children.addAll(tableCache.getAllObjects(monitor, this)); + children.addAll(packageCache.getAllObjects(monitor, this)); return children; } @@ -410,7 +406,7 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe TableCache() { super("TABLE_NAME"); - setListOrderComparator(DBUtils.nameComparator()); + setListOrderComparator(DBUtils.nameComparator()); } @NotNull @@ -486,7 +482,7 @@ public class OracleSchema extends OracleGlobalObject implements DBSSchema, DBPRe @Override protected void cacheChildren(OracleTableBase parent, List oracleTableColumns) { - Collections.sort(oracleTableColumns, DBUtils.orderComparator()); + oracleTableColumns.sort(DBUtils.orderComparator()); super.cacheChildren(parent, oracleTableColumns); } diff --git a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleUtils.java b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleUtils.java index 5ef76d509f531d947b53d4646acd113a5c4a2f50..aba227cc4a00622fc6021715735a51e1597cbb99 100644 --- a/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleUtils.java +++ b/plugins/org.jkiss.dbeaver.ext.oracle/src/org/jkiss/dbeaver/ext/oracle/model/OracleUtils.java @@ -282,11 +282,16 @@ public class OracleUtils { throws DBException { final Object reference = referrer.getLazyReference(propertyId); - if (reference instanceof String && monitor != null) { - Object object = cache.getObject( - monitor, - parent, - (String) reference); + if (reference instanceof String) { + Object object; + if (monitor != null) { + object = cache.getObject( + monitor, + parent, + (String) reference); + } else { + object = cache.getCachedObject((String) reference); + } if (object != null) { return object; } else {