blob: e716091a113c82358c5eead73626501226ce3ead [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2008 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.examples.bugzilla;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.mylyn.commons.net.AuthenticationCredentials;
import org.eclipse.mylyn.commons.net.AuthenticationType;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector;
import org.eclipse.mylyn.internal.commons.net.CommonsNetPlugin;
import org.eclipse.mylyn.tasks.core.ITaskMapping;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.core.data.TaskData;
/**
* @author Steffen Pingel
*/
public class Main {
private static final String URL = "https://landfill.bugzilla.org/bugzilla-3.0-branch";
private static final String BUG_ID = "6740";
public static void main(String[] args) {
// create task repository
TaskRepository repository = new TaskRepository(BugzillaCorePlugin.CONNECTOR_KIND, URL);
// set repository credentials
if (args.length >= 2) {
AuthenticationCredentials credentials = new AuthenticationCredentials(args[0], args[1]);
repository.setCredentials(AuthenticationType.REPOSITORY, credentials, false);
}
// create bugzilla connector
BugzillaRepositoryConnector connector = new BugzillaRepositoryConnector();
try {
// get a report from repository
TaskData taskData = connector.getTaskData(repository, BUG_ID, null);
// access task information
ITaskMapping taskMapping = connector.getTaskMapping(taskData);
System.out.println("Summary: " + taskMapping.getSummary());
System.out.println("Priority: " + taskMapping.getPriority());
// access report data via attributes
TaskAttribute descriptionAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.COMPONENT);
System.out.println("Component: " + descriptionAttribute.getValue());
// ...or by Bugzilla keys
TaskAttribute severityAttribute = taskData.getRoot().getAttribute(BugzillaAttribute.BUG_SEVERITY.getKey());
System.out.println("Severity: " + severityAttribute.getValue());
// Post modified report to repository
System.out.print("\nPosting a new comment... ");
TaskAttribute newCommentAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.COMMENT_NEW);
newCommentAttribute.setValue("Hello world.");
connector.getTaskDataHandler().postTaskData(repository, taskData, null, null);
System.out.println("done");
} catch (CoreException e) {
e.printStackTrace();
} finally {
CommonsNetPlugin.getExecutorService().shutdown();
}
}
}