blob: adcd24dfd029725c38a539a76367f049fb0ff226 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2003 - 2006 University Of British Columbia 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:
* University Of British Columbia - initial API and implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.bugzilla.core;
import java.io.Serializable;
import org.eclipse.mylyn.tasks.core.RepositoryTaskData;
/**
* This class is used to store data about the new bug that is being created
* while the wizard is being used
*
* @author Eric Booth
* @author Rob Elves
*/
public class NewBugzillaTaskData extends RepositoryTaskData implements Serializable {
/** Automatically generated serialVersionUID */
private static final long serialVersionUID = 3977859587934335283L;
/** Whether the attributes have been parsed yet or not */
protected boolean hasParsedAttributes = false;
/** Whether the products have been parsed yet or not */
protected boolean hasParsedProducts = false;
/** The product that the bug is for */
protected String product;
/** The summary for the bug */
protected String summary = "";
/**
* Flag to indicate status of connection to Bugzilla server to identify
* whether ProductConfiguration should be used instead
*/
protected boolean connected = true;
/** Whether or not this bug report is saved offline. */
protected boolean savedOffline = false;
/**
* Creates a new <code>NewBugModel</code>. The id chosen for this bug is
* based on the id of the last <code>NewBugModel</code> that was created.
*/
public NewBugzillaTaskData(String repositoryURL, String offlineId) {
super(new BugzillaAttributeFactory(), BugzillaCorePlugin.REPOSITORY_KIND, repositoryURL, offlineId);
}
@Override
public String getLabel() {
return "<unsubmitted> "+ this.getRepositoryUrl();
}
@Override
public String getDescription() {
return description;
}
@Override
public void setDescription(String newDescription) {
description = newDescription;
}
@Override
public String getSummary() {
return summary;
}
@Override
public void setSummary(String newSummary) {
summary = newSummary;
}
/**
* @return The product that the bug is for.
*/
@Override
public String getProduct() {
return product;
}
/**
* Sets the product that the bug is for.
*
* @param product
* The product.
*/
public void setProduct(String product) {
this.product = product;
}
/**
* @return Flag to indicate status of connection to Bugzilla server (to
* identify whether ProductConfiguration should be used instead)
*/
public boolean isConnected() {
return connected;
}
/**
* Sets the value of the flag to indicate status of connection to Bugzilla
* server (to identify whether ProductConfiguration should be used instead)
*
* @param newConnectionStatus
* <code>true</code> if the bug is connected.
*/
public void setConnected(boolean newConnectionStatus) {
connected = newConnectionStatus;
}
/**
* @return Returns whether the attributes have been parsed yet or not.
*/
public boolean hasParsedAttributes() {
return hasParsedAttributes;
}
/**
* Sets whether the attributes have been parsed yet or not.
*
* @param hasParsedAttributes
* <code>true</code> if the attributes have been parsed.
*/
public void setParsedAttributesStatus(boolean hasParsedAttributes) {
this.hasParsedAttributes = hasParsedAttributes;
}
/**
* @return Returns whether the products have been parsed yet or not.
*/
public boolean hasParsedProducts() {
return hasParsedProducts;
}
/**
* Sets whether the products have been parsed yet or not.
*
* @param hasParsedProducts
* <code>true</code> if the products have been parsed.
*/
public void setParsedProductsStatus(boolean hasParsedProducts) {
this.hasParsedProducts = hasParsedProducts;
}
public boolean isSavedOffline() {
return savedOffline;
}
@Override
public boolean isNew() {
return true;
}
// public void setOfflineState(boolean newOfflineState) {
// savedOffline = newOfflineState;
// }
@Override
public boolean hasLocalChanges() {
return true;
}
/** returns null */
@Override
public String getCreated() {
return null;
}
@Override
public String getLastModified() {
return null;
}
}