use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by serge-rider.
the class ObjectPropertiesEditor method createPropertyRefreshAction.
private void createPropertyRefreshAction(IContributionManager contributionManager) {
// Contribute "Read expensive props" - but only if object has expensive props
DBSObject databaseObject = getDatabaseObject();
if (!databaseObject.getDataSource().getContainer().getPreferenceStore().getBoolean(ModelPreferences.READ_EXPENSIVE_PROPERTIES)) {
PropertyCollector collector = new PropertyCollector(databaseObject, false);
collector.setEnableFilters(false);
collector.collectProperties();
boolean hasExpensive = false;
for (DBPPropertyDescriptor prop : collector.getProperties()) {
if (prop instanceof ObjectPropertyDescriptor && ((ObjectPropertyDescriptor) prop).isExpensive()) {
hasExpensive = true;
break;
}
}
if (hasExpensive) {
contributionManager.add(new ReadExpensivePropsAction(databaseObject));
}
}
}
use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by serge-rider.
the class MySQLTable method getStatProperties.
@Nullable
@Override
public DBPPropertySource getStatProperties() {
PropertyCollector collector = new PropertyCollector(additionalInfo, true);
collector.collectProperties();
return collector;
}
use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by serge-rider.
the class SessionManagerViewer method updatePreview.
private void updatePreview() {
if (previewFolder.getSelectionIndex() == 0) {
// Show SQL
detailsItem.setText(SessionEditorMessages.viewer_details_item_session_details);
updateSQL();
if (curSession == null) {
sessionProps.clearProperties();
} else {
PropertyCollector propCollector = new PropertyCollector(curSession, true);
propCollector.collectProperties();
sessionProps.loadProperties(propCollector);
}
} else if (planViewer != null) {
// Show execution plan
String sqlText = curSession == null ? "" : CommonUtils.notEmpty(curSession.getActiveQuery());
if (!CommonUtils.isEmpty(sqlText)) {
planViewer.explainQueryPlan(new SQLQuery(sessionManager.getDataSource(), sqlText), curSession.getActiveQueryId());
}
}
if (detailsFolder.getSelectionIndex() > 0) {
CTabItem detailsItem = detailsFolder.getItem(detailsFolder.getSelectionIndex());
Object data = detailsItem.getData();
if (data instanceof DBAServerSessionDetails) {
if (detailsItem.getControl() instanceof StyledText) {
StyledText styledText = (StyledText) detailsItem.getControl();
loadPlainTextDetails((DBAServerSessionDetails) data, styledText);
} else {
DetailsListControl detailsListControl = (DetailsListControl) detailsItem.getControl();
detailsListControl.loadData();
}
}
}
}
use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by dbeaver.
the class ColumnInfoPanel method createPanel.
protected void createPanel(IAttributeController valueController) {
PropertyCollector infoItem = new PropertyCollector(valueController.getBinding().getMetaAttribute(), false);
infoItem.collectProperties();
valueController.getValueManager().contributeProperties(infoItem, valueController);
DBDRowIdentifier rowIdentifier = valueController.getRowIdentifier();
if (rowIdentifier != null) {
infoItem.addProperty(null, "Key", DataEditorsMessages.controls_column_info_panel_property_key, new CellKeyInfo(valueController.getRowController(), rowIdentifier));
}
this.setLayout(new FillLayout());
{
propViewer = new PropertyTreeViewer(this, SWT.H_SCROLL | SWT.V_SCROLL);
propViewer.loadProperties(infoItem);
}
}
use of org.jkiss.dbeaver.runtime.properties.PropertyCollector in project dbeaver by dbeaver.
the class ObjectPropertiesEditor method createPropertyRefreshAction.
private void createPropertyRefreshAction(IContributionManager contributionManager) {
// Contribute "Read expensive props" - but only if object has expensive props
DBSObject databaseObject = getDatabaseObject();
if (!databaseObject.getDataSource().getContainer().getPreferenceStore().getBoolean(ModelPreferences.READ_EXPENSIVE_PROPERTIES)) {
PropertyCollector collector = new PropertyCollector(databaseObject, false);
collector.setEnableFilters(false);
collector.collectProperties();
boolean hasExpensive = false;
for (DBPPropertyDescriptor prop : collector.getProperties()) {
if (prop instanceof ObjectPropertyDescriptor && ((ObjectPropertyDescriptor) prop).isExpensive()) {
hasExpensive = true;
break;
}
}
if (hasExpensive) {
contributionManager.add(new ReadExpensivePropsAction(databaseObject));
}
}
}
Aggregations