提交 ad6437ff 编写于 作者: S Serge Rider

Application descriptor model

上级 e92ba442
......@@ -18,16 +18,18 @@ package org.jkiss.dbeaver.model.impl.app;
import org.eclipse.core.runtime.IConfigurationElement;
import org.jkiss.dbeaver.model.impl.AbstractDescriptor;
import org.jkiss.utils.CommonUtils;
/**
* DBeaver application descriptor.
*/
public class ApplicationDescriptor extends AbstractDescriptor {
private String id;
private String name;
private String description;
private String parentId;
private final String id;
private final String name;
private final String description;
private final String parentId;
private final String[] umbrellaProductIds;
private ApplicationDescriptor parent;
private boolean finalApplication = true;
......@@ -37,6 +39,12 @@ public class ApplicationDescriptor extends AbstractDescriptor {
this.name = config.getAttribute("name");
this.description = config.getAttribute("description");
this.parentId = config.getAttribute("parent");
String umbrella = config.getAttribute("umbrella");
if (!CommonUtils.isEmptyTrimmed(umbrella)) {
this.umbrellaProductIds = umbrella.split(",");
} else {
this.umbrellaProductIds = new String[0];
}
}
public String getId() {
......@@ -55,11 +63,15 @@ public class ApplicationDescriptor extends AbstractDescriptor {
return parent;
}
public void setParent(ApplicationDescriptor parent) {
void setParent(ApplicationDescriptor parent) {
this.parent = parent;
this.parent.finalApplication = false;
}
public String[] getUmbrellaProductIds() {
return umbrellaProductIds;
}
boolean isFinalApplication() {
return finalApplication;
}
......
......@@ -26,16 +26,14 @@ import org.jkiss.utils.CommonUtils;
import java.util.ArrayList;
import java.util.List;
public class ApplicationRegistry
{
public class ApplicationRegistry {
private static final Log log = Log.getLog(ApplicationRegistry.class);
public static final String EXTENSION_ID = "org.jkiss.dbeaver.application"; //$NON-NLS-1$
private static ApplicationRegistry instance = null;
public synchronized static ApplicationRegistry getInstance()
{
public synchronized static ApplicationRegistry getInstance() {
if (instance == null) {
instance = new ApplicationRegistry(Platform.getExtensionRegistry());
}
......@@ -45,8 +43,7 @@ public class ApplicationRegistry
private final List<ApplicationDescriptor> applications = new ArrayList<>();
private ApplicationDescriptor defaultApplication;
private ApplicationRegistry(IExtensionRegistry registry)
{
private ApplicationRegistry(IExtensionRegistry registry) {
IConfigurationElement[] extElements = registry.getConfigurationElementsFor(EXTENSION_ID);
for (IConfigurationElement ext : extElements) {
ApplicationDescriptor app = new ApplicationDescriptor(ext);
......
......@@ -86,7 +86,7 @@
</extension>
<extension point="org.jkiss.dbeaver.application">
<application id="dbeaver-ce-standalone"
<application id="dbeaver-ce"
name="%productName"
description="%productSubTitle"/>
</extension>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册