Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java')
-rw-r--r--org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java229
1 files changed, 0 insertions, 229 deletions
diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java
deleted file mode 100644
index 910a5b30b..000000000
--- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/DefaultSupportHandler.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 Tasktop Technologies and others.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * Tasktop Technologies - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.bugs;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Date;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IBundleGroup;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.mylyn.internal.provisional.tasks.bugs.AbstractSupportHandler;
-import org.eclipse.mylyn.internal.provisional.tasks.bugs.ISupportRequest;
-import org.eclipse.mylyn.internal.provisional.tasks.bugs.ISupportResponse;
-import org.eclipse.mylyn.internal.provisional.tasks.bugs.ITaskContribution;
-import org.eclipse.mylyn.internal.tasks.bugs.wizards.ErrorLogStatus;
-import org.eclipse.mylyn.internal.tasks.bugs.wizards.ProductStatus;
-import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector;
-import org.eclipse.mylyn.tasks.core.ITaskMapping;
-import org.eclipse.mylyn.tasks.core.TaskMapping;
-import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
-import org.eclipse.mylyn.tasks.core.data.TaskData;
-import org.eclipse.mylyn.tasks.ui.TasksUi;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.Bundle;
-
-/**
- * @author Steffen Pingel
- */
-public class DefaultSupportHandler extends AbstractSupportHandler {
-
- @Override
- public void preProcess(ISupportRequest request) {
- ITaskContribution contribution = request.getDefaultContribution();
- String description = getDescription(contribution.getStatus());
- if (description != null) {
- contribution.appendToDescription(description);
- }
- }
-
- @Override
- public void process(ITaskContribution contribution, IProgressMonitor monitor) {
- if (contribution.getAttribute(IRepositoryConstants.DESCRIPTION) == null) {
- String description = getDescription(contribution.getStatus());
- if (description != null) {
- contribution.appendToDescription(description);
- }
- }
- }
-
- @Override
- public void postProcess(ISupportResponse response, IProgressMonitor monitor) {
- IStatus contribution = response.getStatus();
- TaskData taskData = response.getTaskData();
- if (contribution instanceof ProductStatus) {
- AbstractRepositoryConnector connector = TasksUi.getRepositoryConnector(taskData.getConnectorKind());
- ITaskMapping mapping = connector.getTaskMapping(taskData);
- mapping.merge(new TaskMapping() {
- @Override
- public String getSeverity() {
- return "enhancement"; //$NON-NLS-1$
- }
- });
- }
- if (response.getProduct() != null) {
- IBundleGroup bundleGroup = ((SupportProduct) response.getProduct()).getBundleGroup();
- if (bundleGroup != null) {
- TaskAttribute attribute = taskData.getRoot().getMappedAttribute(TaskAttribute.VERSION);
- if (attribute != null) {
- final String version = getBestMatch(bundleGroup.getVersion(), attribute.getOptions());
- if (version.length() > 0) {
- AbstractRepositoryConnector connector = TasksUi.getRepositoryConnector(taskData.getConnectorKind());
- ITaskMapping mapping = connector.getTaskMapping(taskData);
- mapping.merge(new TaskMapping() {
- @Override
- public String getVersion() {
- return version;
- }
- });
- }
- }
- }
- }
- }
-
- private String getBestMatch(String version, Map<String, String> options) {
- String match = ""; //$NON-NLS-1$
- for (String option : options.values()) {
- if (version.startsWith(option) && option.length() > match.length()) {
- match = option;
- }
- }
- return match;
- }
-
- public void appendErrorDetails(StringBuilder sb, IStatus status, Date date) {
- sb.append("\n\n"); //$NON-NLS-1$
- sb.append(Messages.DefaultTaskContributor_Error_Details);
- if (date != null) {
- sb.append("\n"); //$NON-NLS-1$
- sb.append(NLS.bind(Messages.DefaultSupportHandler_Date_X, date));
- }
- sb.append("\n"); //$NON-NLS-1$
- sb.append(NLS.bind(Messages.DefaultSupportHandler_Message_X, status.getMessage()));
- sb.append("\n"); //$NON-NLS-1$
- sb.append(NLS.bind(Messages.DefaultSupportHandler_Severity_X, getSeverityText(status.getSeverity())));
- appendProductInformation(sb);
- sb.append("\n"); //$NON-NLS-1$
- sb.append(NLS.bind(Messages.DefaultSupportHandler_Plugin_X, status.getPlugin()));
- }
-
- private void appendProductInformation(StringBuilder sb) {
- IProduct product = Platform.getProduct();
- if (product != null) {
- sb.append("\n"); //$NON-NLS-1$
- if (product.getName() != null) {
- sb.append(NLS.bind(Messages.DefaultSupportHandler_Product_X, product.getName()));
- } else {
- sb.append(NLS.bind(Messages.DefaultSupportHandler_Product_X, product.getId()));
- }
- Bundle definingBundle = product.getDefiningBundle();
- if (definingBundle != null) {
- Object version = definingBundle.getHeaders().get("Bundle-Version"); //$NON-NLS-1$
- if (version != null) {
- sb.append(" "); //$NON-NLS-1$
- sb.append(version);
- }
- }
- if (product.getName() != null) {
- sb.append(NLS.bind(" ({0})", product.getId())); //$NON-NLS-1$
- }
- }
- }
-
- public String getDescription(IStatus status) {
- if (status instanceof ProductStatus) {
- SupportProduct product = (SupportProduct) ((ProductStatus) status).getProduct();
- if (product.getBundleGroup() != null) {
- StringBuilder sb = new StringBuilder();
- sb.append("\n\n\n"); //$NON-NLS-1$
- sb.append(Messages.DefaultSupportHandler_Configuration_Details);
- appendProductInformation(sb);
- sb.append("\n"); //$NON-NLS-1$
- sb.append(Messages.DefaultSupportHandler_Installed_Features);
- sb.append("\n"); //$NON-NLS-1$
- for (IBundleGroup bundleGroup : new IBundleGroup[] { product.getBundleGroup() }) {
- sb.append(" "); //$NON-NLS-1$
- sb.append(bundleGroup.getIdentifier());
- sb.append(" "); //$NON-NLS-1$
- sb.append(bundleGroup.getVersion());
- sb.append("\n"); //$NON-NLS-1$
-
-// Bundle[] bundles = bundleGroup.getBundles();
-// if (bundles != null) {
-// for (Bundle bundle : bundles) {
-// sb.append(" "); //$NON-NLS-1$
-// sb.append(bundle.getSymbolicName());
-// String version = (String) bundle.getHeaders().get(
-// Messages.DefaultTaskContributor_Bundle_Version);
-// if (version != null) {
-// sb.append(" "); //$NON-NLS-1$
-// sb.append(version);
-// }
-// sb.append("\n"); //$NON-NLS-1$
-// }
-// }
- }
- return sb.toString();
- }
- } else if (status instanceof ErrorLogStatus) {
- ErrorLogStatus errorLogStatus = (ErrorLogStatus) status;
- StringBuilder sb = new StringBuilder();
- sb.append("\n\n"); //$NON-NLS-1$
- sb.append(Messages.DefaultSupportHandler_What_steps_message);
- sb.append("\n"); //$NON-NLS-1$
- sb.append(Messages.DefaultSupportHandler_Step_1);
- sb.append(Messages.DefaultSupportHandler_Step_2);
- sb.append(Messages.DefaultSupportHandler_Step_3);
- appendErrorDetails(sb, errorLogStatus, errorLogStatus.getDate());
- if (errorLogStatus.getLogSessionData() != null) {
- sb.append(Messages.DefaultTaskContributor_SESSION_DATA);
- sb.append(errorLogStatus.getLogSessionData());
- }
- if (errorLogStatus.getStack() != null) {
- sb.append(Messages.DefaultTaskContributor_EXCEPTION_STACK_TRACE);
- sb.append(errorLogStatus.getStack());
- }
- return sb.toString();
- } else {
- StringBuilder sb = new StringBuilder();
- appendErrorDetails(sb, status, new Date());
- if (status.getException() != null) {
- sb.append(Messages.DefaultTaskContributor_EXCEPTION_STACK_TRACE);
- StringWriter writer = new StringWriter();
- status.getException().printStackTrace(new PrintWriter(writer));
- sb.append(writer.getBuffer());
- }
- return sb.toString();
- }
- return null;
- }
-
- private String getSeverityText(int severity) {
- switch (severity) {
- case IStatus.ERROR:
- return Messages.DefaultTaskContributor_Error;
- case IStatus.WARNING:
- return Messages.DefaultTaskContributor_Warning;
- case IStatus.INFO:
- return Messages.DefaultTaskContributor_Info;
- case IStatus.OK:
- return Messages.DefaultTaskContributor_OK;
- }
- return "?"; //$NON-NLS-1$
- }
-
-}

Back to the top