/******************************************************************************* * Copyright (c) 2016 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.windup.ui.internal.explorer; import javax.inject.Inject; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; import org.jboss.tools.windup.model.domain.WindupConstants; import org.jboss.tools.windup.model.domain.WindupMarker; import org.jboss.tools.windup.ui.internal.explorer.IssueConstants.Severity; import org.jboss.tools.windup.ui.internal.explorer.IssueExplorerContentProvider.TreeNode; import org.jboss.tools.windup.windup.Hint; import org.jboss.tools.windup.windup.Issue; public class MarkerNode extends TreeNode { private Issue issue; private IMarker marker; @Inject public MarkerNode(IMarker marker, Issue issue) { super (marker); this.marker = marker; this.issue = issue; } public void setMarker(IMarker marker) { this.marker = marker; } public String getTitle() { if (issue instanceof Hint) { return ((Hint)issue).getTitle(); } return "classification"; //$NON-NLS-1$ } public String getFileName() { return marker.getResource().getName(); } public int getLineNumber() { if (issue instanceof Hint) { return ((Hint)issue).getLineNumber(); } return 0; } public Issue getIssue() { return issue; } public int getSeverity() { String severity = marker.getAttribute(WindupMarker.SEVERITY, Severity.OPTIONAL.toString()); return MarkerUtil.convertSeverity(severity); } public boolean hasQuickFix() { return !issue.getQuickFixes().isEmpty() && !issue.isFixed(); } public boolean isFixed() { return issue.isFixed(); } public IMarker getMarker() { return marker; } public IResource getResource() { return marker.getResource(); } public String getRule() { return marker.getAttribute(WindupMarker.RULE_ID, WindupConstants.DEFAULT_RULE_ID); } }