Search in sources :

Example 11 with Template

use of org.netxms.client.objects.Template in project netxms by netxms.

the class DataCollectionEditor method init.

/* (non-Javadoc)
	 * @see org.eclipse.ui.part.ViewPart#init(org.eclipse.ui.IViewSite)
	 */
@Override
public void init(IViewSite site) throws PartInitException {
    super.init(site);
    session = (NXCSession) ConsoleSharedData.getSession();
    AbstractObject obj = session.findObjectById(Long.parseLong(site.getSecondaryId()));
    settings = Activator.getDefault().getDialogSettings();
    object = ((obj != null) && ((obj instanceof DataCollectionTarget) || (obj instanceof Template))) ? obj : null;
    setPartName(Messages.get().DataCollectionEditor_PartNamePrefix + ((object != null) ? object.getObjectName() : Messages.get().DataCollectionEditor_Error));
}
Also used : AbstractObject(org.netxms.client.objects.AbstractObject) DataCollectionTarget(org.netxms.client.objects.DataCollectionTarget) Template(org.netxms.client.objects.Template)

Example 12 with Template

use of org.netxms.client.objects.Template in project netxms by netxms.

the class DataCollectionEditor method convertToTemplate.

/**
 * Convert selected item(s) to template items
 */
private void convertToTemplate() {
    final ObjectSelectionDialog dlg = new ObjectSelectionDialog(getSite().getShell(), null, ObjectSelectionDialog.createTemplateSelectionFilter());
    dlg.showFilterToolTip(false);
    if (dlg.open() != Window.OK)
        return;
    AbstractObject[] objects = dlg.getSelectedObjects(Template.class);
    if (objects.length == 0)
        return;
    final Template template = (Template) objects[0];
    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    Iterator<?> it = selection.iterator();
    final long[] dciList = new long[selection.size()];
    for (int i = 0; (i < dciList.length) && it.hasNext(); i++) dciList[i] = ((DataCollectionObject) it.next()).getId();
    new ConsoleJob(Messages.get().DataCollectionEditor_ConvertJob_TitlePrefix + object.getObjectName() + Messages.get().DataCollectionEditor_ConvertJob_TitleSuffix, this, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            monitor.beginTask(Messages.get(getDisplay()).DataCollectionEditor_ConvertJob_TaskName, 4);
            boolean needApply = true;
            for (long id : template.getChildIdList()) {
                if (id == dciConfig.getNodeId()) {
                    needApply = false;
                    break;
                }
            }
            monitor.worked(1);
            dciConfig.copyObjects(template.getObjectId(), dciList);
            for (long id : dciList) dciConfig.deleteObject(id);
            dciConfig.close();
            monitor.worked(1);
            if (needApply) {
                boolean success = false;
                int retries = 5;
                do {
                    try {
                        session.applyTemplate(template.getObjectId(), dciConfig.getNodeId());
                        success = true;
                    } catch (NXCException e) {
                        if (e.getErrorCode() != RCC.COMPONENT_LOCKED)
                            throw e;
                        Thread.sleep(200);
                    }
                    retries--;
                } while (!success && (retries > 0));
            }
            monitor.worked(1);
            boolean success = false;
            int retries = 5;
            do {
                try {
                    Thread.sleep(500);
                    dciConfig.open();
                    success = true;
                } catch (NXCException e) {
                    if (e.getErrorCode() != RCC.COMPONENT_LOCKED)
                        throw e;
                }
                retries--;
            } while (!success && (retries > 0));
            runInUIThread(new Runnable() {

                @Override
                public void run() {
                    viewer.setInput(dciConfig.getItems());
                }
            });
            monitor.done();
        }

        @Override
        protected String getErrorMessage() {
            return Messages.get().DataCollectionEditor_ConvertJob_ErrorPrefix + object.getObjectName() + Messages.get().DataCollectionEditor_ConvertJob_ErrorSuffix;
        }
    }.start();
}
Also used : DataCollectionObject(org.netxms.client.datacollection.DataCollectionObject) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) PartInitException(org.eclipse.ui.PartInitException) NXCException(org.netxms.client.NXCException) NXCException(org.netxms.client.NXCException) Template(org.netxms.client.objects.Template) ObjectSelectionDialog(org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) AbstractObject(org.netxms.client.objects.AbstractObject) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob)

Example 13 with Template

use of org.netxms.client.objects.Template in project netxms by netxms.

the class DciLabelProvider method getColumnText.

/* (non-Javadoc)
	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
	 */
@Override
public String getColumnText(Object element, int columnIndex) {
    DataCollectionObject dci = (DataCollectionObject) element;
    switch(columnIndex) {
        case DataCollectionEditor.COLUMN_ID:
            return Long.toString(dci.getId());
        case DataCollectionEditor.COLUMN_ORIGIN:
            return originTexts.get(dci.getOrigin());
        case DataCollectionEditor.COLUMN_DESCRIPTION:
            return dci.getDescription();
        case DataCollectionEditor.COLUMN_PARAMETER:
            return dci.getName();
        case DataCollectionEditor.COLUMN_DATATYPE:
            if (dci instanceof DataCollectionItem)
                return DataCollectionDisplayInfo.getDataTypeName(((DataCollectionItem) dci).getDataType());
            return Messages.get().DciLabelProvider_Table;
        case DataCollectionEditor.COLUMN_INTERVAL:
            if (dci.isUseAdvancedSchedule())
                return Messages.get().DciLabelProvider_CustomSchedule;
            if (dci.getPollingInterval() <= 0)
                return Messages.get().DciLabelProvider_Default;
            return Integer.toString(dci.getPollingInterval());
        case DataCollectionEditor.COLUMN_RETENTION:
            if ((dci.getFlags() & DataCollectionItem.DCF_NO_STORAGE) != 0)
                return Messages.get().DciLabelProvider_None;
            int days = dci.getRetentionTime();
            if (days <= 0)
                return Messages.get().DciLabelProvider_Default;
            return Integer.toString(days) + ((days == 1) ? Messages.get().DciLabelProvider_Day : Messages.get().DciLabelProvider_Days);
        case DataCollectionEditor.COLUMN_STATUS:
            return statusTexts.get(dci.getStatus());
        case DataCollectionEditor.COLUMN_THRESHOLD:
            StringBuilder thresholds = new StringBuilder();
            if ((dci instanceof DataCollectionItem)) {
                ArrayList<Threshold> list = ((DataCollectionItem) dci).getThresholds();
                for (int i = 0; i < list.size(); i++) {
                    Threshold tr = list.get(i);
                    int f = tr.getFunction();
                    StringBuilder text = new StringBuilder(ThresholdLabelProvider.FUNCTIONS[f]);
                    text.append(tr.getSampleCount());
                    // $NON-NLS-1$
                    text.append(") ");
                    if (f != Threshold.F_SCRIPT) {
                        text.append(ThresholdLabelProvider.OPERATIONS[tr.getOperation()]);
                        text.append(' ');
                        text.append(tr.getValue());
                    }
                    thresholds.append(text);
                    if (i < list.size() - 1)
                        // $NON-NLS-1$
                        thresholds.append(", ");
                }
            }
            if ((dci instanceof DataCollectionTable)) {
                List<TableThreshold> list = ((DataCollectionTable) dci).getThresholds();
                for (int i = 0; i < list.size(); i++) {
                    thresholds.append(list.get(i).getConditionAsText());
                    if (i + 1 != list.size())
                        // $NON-NLS-1$
                        thresholds.append(", ");
                }
            }
            return thresholds.toString();
        case DataCollectionEditor.COLUMN_TEMPLATE:
            if (dci.getTemplateId() == 0)
                return null;
            AbstractObject object = session.findObjectById(dci.getTemplateId());
            if (object == null)
                return Messages.get().DciLabelProvider_Unknown;
            if (!(object instanceof Template))
                return object.getObjectName();
            Set<AbstractObject> parents = object.getAllParents(null);
            StringBuilder sb = new StringBuilder();
            for (AbstractObject parent : parents) {
                sb.append(parent.getObjectName());
                // $NON-NLS-1$
                sb.append("/");
            }
            sb.append(object.getObjectName());
            return sb.toString();
    }
    return null;
}
Also used : DataCollectionObject(org.netxms.client.datacollection.DataCollectionObject) AbstractObject(org.netxms.client.objects.AbstractObject) DataCollectionItem(org.netxms.client.datacollection.DataCollectionItem) TableThreshold(org.netxms.client.datacollection.TableThreshold) DataCollectionTable(org.netxms.client.datacollection.DataCollectionTable) Threshold(org.netxms.client.datacollection.Threshold) TableThreshold(org.netxms.client.datacollection.TableThreshold) Template(org.netxms.client.objects.Template)

Example 14 with Template

use of org.netxms.client.objects.Template in project netxms by netxms.

the class SelectAgentParamDlg method querySelectedParameter.

/**
 * Query current value of selected parameter
 */
protected void querySelectedParameter() {
    IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
    if (selection.size() != 1)
        return;
    // Opens Object Selection Dialog if object is not chosen
    if (queryObject instanceof Template) {
        final ObjectSelectionDialog sDlg = new ObjectSelectionDialog(getShell(), null, ObjectSelectionDialog.createNodeSelectionFilter(false));
        sDlg.enableMultiSelection(false);
        if (sDlg.open() == Window.OK) {
            queryObject = sDlg.getSelectedObjects().get(0);
        }
    }
    AgentParameter p = (AgentParameter) selection.getFirstElement();
    String n;
    if (// $NON-NLS-1$
    p.getName().contains("(*)")) {
        InputDialog dlg = new InputDialog(getShell(), Messages.get().SelectAgentParamDlg_InstanceTitle, Messages.get().SelectAgentParamDlg_InstanceMessage, "", // $NON-NLS-1$
        null);
        if (dlg.open() != Window.OK)
            return;
        // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
        n = p.getName().replace("(*)", "(" + dlg.getValue() + ")");
    } else {
        n = p.getName();
    }
    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
    final String name = n;
    new ConsoleJob(Messages.get().SelectAgentParamDlg_QueryJobTitle, null, Activator.PLUGIN_ID, null) {

        @Override
        protected void runInternal(IProgressMonitor monitor) throws Exception {
            final String value = session.queryParameter(queryObject.getObjectId(), origin, name);
            runInUIThread(new Runnable() {

                @Override
                public void run() {
                    MessageDialogHelper.openInformation(getShell(), Messages.get().SelectAgentParamDlg_CurrentValueTitle, String.format(Messages.get().SelectAgentParamDlg_CurrentValue, value));
                }
            });
        }

        @Override
        protected String getErrorMessage() {
            return Messages.get().SelectAgentParamDlg_QueryError;
        }
    }.start();
}
Also used : ObjectSelectionDialog(org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) InputDialog(org.eclipse.jface.dialogs.InputDialog) NXCSession(org.netxms.client.NXCSession) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ConsoleJob(org.netxms.ui.eclipse.jobs.ConsoleJob) AgentParameter(org.netxms.client.AgentParameter) Template(org.netxms.client.objects.Template)

Aggregations

Template (org.netxms.client.objects.Template)14 AbstractObject (org.netxms.client.objects.AbstractObject)11 Cluster (org.netxms.client.objects.Cluster)5 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)4 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 AbstractNode (org.netxms.client.objects.AbstractNode)4 MobileDevice (org.netxms.client.objects.MobileDevice)4 ConsoleJob (org.netxms.ui.eclipse.jobs.ConsoleJob)4 ObjectSelectionDialog (org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog)4 DataCollectionObject (org.netxms.client.datacollection.DataCollectionObject)3 ArrayList (java.util.ArrayList)2 AgentParameter (org.netxms.client.AgentParameter)2 NXCSession (org.netxms.client.NXCSession)2 Script (org.netxms.client.Script)2 EventObject (org.netxms.client.events.EventObject)2 EventTemplate (org.netxms.client.events.EventTemplate)2 AgentPolicy (org.netxms.client.objects.AgentPolicy)2 BusinessService (org.netxms.client.objects.BusinessService)2 BusinessServiceRoot (org.netxms.client.objects.BusinessServiceRoot)2 Condition (org.netxms.client.objects.Condition)2