Initial Commit

This commit is contained in:
Matthias
2017-04-11 15:47:10 +02:00
commit 7c274da003
1344 changed files with 345586 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>WFRperfTool.edit</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>
+15
View File
@@ -0,0 +1,15 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: WFRperfTool.edit;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: at.ac.uibk.wfr.perftool.provider.WFRperfToolModelEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: at.ac.uibk.wfr.perftool.provider
Require-Bundle: org.eclipse.core.runtime,
WFRperfTool;visibility:=reexport,
org.eclipse.emf.edit;visibility:=reexport
Bundle-ActivationPolicy: lazy
+10
View File
@@ -0,0 +1,10 @@
#
bin.includes = .,\
icons/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/
Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

+84
View File
@@ -0,0 +1,84 @@
#
pluginName = WFRperfToolModel Edit Support
providerName = www.example.org
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
_UI_PropertyDescriptor_description = The {0} of the {1}
_UI_Workflow_type = Workflow
_UI_Activity_type = Activity
_UI_ActivityInstance_type = Activity Instance
_UI_WorkflowStatusEvent_type = Workflow Status Event
_UI_ActivityStatusEvent_type = Activity Status Event
_UI_ActivityInstanceStatusEvent_type = Activity Instance Status Event
_UI_DeviceInstanceStatusEvent_type = Device Instance Status Event
_UI_ComponentStatusEvent_type = Component Status Event
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_Workflow_oid_feature = Oid
_UI_Workflow_wfid_feature = Wfid
_UI_Workflow_uuid_feature = Uuid
_UI_Workflow_name_feature = Name
_UI_Workflow_toplevelActivity_feature = Toplevel Activity
_UI_Workflow_statusEvents_feature = Status Events
_UI_Workflow_deviceEvents_feature = Device Events
_UI_Workflow_componentEvents_feature = Component Events
_UI_Activity_oid_feature = Oid
_UI_Activity_actid_feature = Actid
_UI_Activity_name_feature = Name
_UI_Activity_type_feature = Type
_UI_Activity_branchID_feature = Branch ID
_UI_Activity_parentWorkflow_feature = Parent Workflow
_UI_Activity_instances_feature = Instances
_UI_Activity_statusEvents_feature = Status Events
_UI_Activity_parent_feature = Parent
_UI_Activity_children_feature = Children
_UI_ActivityInstance_oid_feature = Oid
_UI_ActivityInstance_instid_feature = Instid
_UI_ActivityInstance_iterationID_feature = Iteration ID
_UI_ActivityInstance_baseActivity_feature = Base Activity
_UI_ActivityInstance_parentWorkflow_feature = Parent Workflow
_UI_ActivityInstance_parentInstance_feature = Parent Instance
_UI_ActivityInstance_statusEvents_feature = Status Events
_UI_WorkflowStatusEvent_oid_feature = Oid
_UI_WorkflowStatusEvent_newStatus_feature = New Status
_UI_WorkflowStatusEvent_oldStatus_feature = Old Status
_UI_WorkflowStatusEvent_timestamp_feature = Timestamp
_UI_WorkflowStatusEvent_parentWorkflow_feature = Parent Workflow
_UI_ActivityStatusEvent_oid_feature = Oid
_UI_ActivityStatusEvent_newStatus_feature = New Status
_UI_ActivityStatusEvent_oldStatus_feature = Old Status
_UI_ActivityStatusEvent_timestamp_feature = Timestamp
_UI_ActivityStatusEvent_parentActivity_feature = Parent Activity
_UI_ActivityInstanceStatusEvent_oid_feature = Oid
_UI_ActivityInstanceStatusEvent_newStatus_feature = New Status
_UI_ActivityInstanceStatusEvent_oldStatus_feature = Old Status
_UI_ActivityInstanceStatusEvent_timestamp_feature = Timestamp
_UI_ActivityInstanceStatusEvent_parentInstance_feature = Parent Instance
_UI_DeviceInstanceStatusEvent_oid_feature = Oid
_UI_DeviceInstanceStatusEvent_deviceType_feature = Device Type
_UI_DeviceInstanceStatusEvent_deviceID_feature = Device ID
_UI_DeviceInstanceStatusEvent_newStatus_feature = New Status
_UI_DeviceInstanceStatusEvent_oldStatus_feature = Old Status
_UI_DeviceInstanceStatusEvent_timestamp_feature = Timestamp
_UI_DeviceInstanceStatusEvent_executedImplID_feature = Executed Impl ID
_UI_DeviceInstanceStatusEvent_deviceSlotCount_feature = Device Slot Count
_UI_DeviceInstanceStatusEvent_parentWorkflow_feature = Parent Workflow
_UI_DeviceInstanceStatusEvent_executedInstance_feature = Executed Instance
_UI_ComponentStatusEvent_oid_feature = Oid
_UI_ComponentStatusEvent_componentType_feature = Component Type
_UI_ComponentStatusEvent_newStatus_feature = New Status
_UI_ComponentStatusEvent_oldStatus_feature = Old Status
_UI_ComponentStatusEvent_timestamp_feature = Timestamp
_UI_ComponentStatusEvent_workflow_feature = Workflow
_UI_Unknown_feature = Unspecified
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
<extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
<!-- @generated WFRperfToolModel -->
<factory
uri="http://at.ac.uibk.wfr.perftool/1.0"
class="at.ac.uibk.wfr.perftool.provider.PerftoolItemProviderAdapterFactory"
supportedTypes=
"org.eclipse.emf.edit.provider.IEditingDomainItemProvider
org.eclipse.emf.edit.provider.IStructuredItemContentProvider
org.eclipse.emf.edit.provider.ITreeItemContentProvider
org.eclipse.emf.edit.provider.IItemLabelProvider
org.eclipse.emf.edit.provider.IItemPropertySource"/>
</extension>
</plugin>
@@ -0,0 +1,257 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.ActivityInstance;
import at.ac.uibk.wfr.perftool.PerftoolFactory;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.ActivityInstance} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ActivityInstanceItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ActivityInstanceItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addInstidPropertyDescriptor(object);
addIterationIDPropertyDescriptor(object);
addParentWorkflowPropertyDescriptor(object);
addParentInstancePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstance_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstance_oid_feature", "_UI_ActivityInstance_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Instid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addInstidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstance_instid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstance_instid_feature", "_UI_ActivityInstance_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE__INSTID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Iteration ID feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addIterationIDPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstance_iterationID_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstance_iterationID_feature", "_UI_ActivityInstance_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE__ITERATION_ID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Parent Workflow feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addParentWorkflowPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstance_parentWorkflow_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstance_parentWorkflow_feature", "_UI_ActivityInstance_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE__PARENT_WORKFLOW,
true,
false,
true,
null,
null,
null));
}
/**
* This adds a property descriptor for the Parent Instance feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addParentInstancePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstance_parentInstance_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstance_parentInstance_feature", "_UI_ActivityInstance_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE__PARENT_INSTANCE,
true,
false,
true,
null,
null,
null));
}
/**
* This returns ActivityInstance.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/ActivityInstance"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
ActivityInstance activityInstance = (ActivityInstance)object;
return getString("_UI_ActivityInstance_type") + " " + activityInstance.getOid();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(ActivityInstance.class)) {
case PerftoolPackage.ACTIVITY_INSTANCE__OID:
case PerftoolPackage.ACTIVITY_INSTANCE__INSTID:
case PerftoolPackage.ACTIVITY_INSTANCE__ITERATION_ID:
case PerftoolPackage.ACTIVITY_INSTANCE__STATUS_EVENTS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.ACTIVITY_INSTANCE__STATUS_EVENTS,
PerftoolFactory.eINSTANCE.createActivityInstanceStatusEvent()));
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,227 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.ActivityInstanceStatusEvent;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.ActivityInstanceStatusEvent} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ActivityInstanceStatusEventItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ActivityInstanceStatusEventItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addNewStatusPropertyDescriptor(object);
addOldStatusPropertyDescriptor(object);
addTimestampPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstanceStatusEvent_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstanceStatusEvent_oid_feature", "_UI_ActivityInstanceStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE_STATUS_EVENT__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the New Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNewStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstanceStatusEvent_newStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstanceStatusEvent_newStatus_feature", "_UI_ActivityInstanceStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE_STATUS_EVENT__NEW_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Old Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOldStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstanceStatusEvent_oldStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstanceStatusEvent_oldStatus_feature", "_UI_ActivityInstanceStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE_STATUS_EVENT__OLD_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Timestamp feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTimestampPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityInstanceStatusEvent_timestamp_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityInstanceStatusEvent_timestamp_feature", "_UI_ActivityInstanceStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_INSTANCE_STATUS_EVENT__TIMESTAMP,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This returns ActivityInstanceStatusEvent.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/ActivityInstanceStatusEvent"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
ActivityInstanceStatusEvent activityInstanceStatusEvent = (ActivityInstanceStatusEvent)object;
return getString("_UI_ActivityInstanceStatusEvent_type") + " " + activityInstanceStatusEvent.getOid();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(ActivityInstanceStatusEvent.class)) {
case PerftoolPackage.ACTIVITY_INSTANCE_STATUS_EVENT__OID:
case PerftoolPackage.ACTIVITY_INSTANCE_STATUS_EVENT__NEW_STATUS:
case PerftoolPackage.ACTIVITY_INSTANCE_STATUS_EVENT__OLD_STATUS:
case PerftoolPackage.ACTIVITY_INSTANCE_STATUS_EVENT__TIMESTAMP:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,307 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.Activity;
import at.ac.uibk.wfr.perftool.PerftoolFactory;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.Activity} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ActivityItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ActivityItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addActidPropertyDescriptor(object);
addNamePropertyDescriptor(object);
addTypePropertyDescriptor(object);
addBranchIDPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Activity_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Activity_oid_feature", "_UI_Activity_type"),
PerftoolPackage.Literals.ACTIVITY__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Actid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addActidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Activity_actid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Activity_actid_feature", "_UI_Activity_type"),
PerftoolPackage.Literals.ACTIVITY__ACTID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Activity_name_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Activity_name_feature", "_UI_Activity_type"),
PerftoolPackage.Literals.ACTIVITY__NAME,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Type feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTypePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Activity_type_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Activity_type_feature", "_UI_Activity_type"),
PerftoolPackage.Literals.ACTIVITY__TYPE,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Branch ID feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addBranchIDPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Activity_branchID_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Activity_branchID_feature", "_UI_Activity_type"),
PerftoolPackage.Literals.ACTIVITY__BRANCH_ID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(PerftoolPackage.Literals.ACTIVITY__INSTANCES);
childrenFeatures.add(PerftoolPackage.Literals.ACTIVITY__CHILDREN);
}
return childrenFeatures;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
return super.getChildFeature(object, child);
}
/**
* This returns Activity.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Activity"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((Activity)object).getName();
return label == null || label.length() == 0 ?
getString("_UI_Activity_type") :
getString("_UI_Activity_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Activity.class)) {
case PerftoolPackage.ACTIVITY__OID:
case PerftoolPackage.ACTIVITY__ACTID:
case PerftoolPackage.ACTIVITY__NAME:
case PerftoolPackage.ACTIVITY__TYPE:
case PerftoolPackage.ACTIVITY__BRANCH_ID:
case PerftoolPackage.ACTIVITY__STATUS_EVENTS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case PerftoolPackage.ACTIVITY__INSTANCES:
case PerftoolPackage.ACTIVITY__CHILDREN:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.ACTIVITY__INSTANCES,
PerftoolFactory.eINSTANCE.createActivityInstance()));
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.ACTIVITY__STATUS_EVENTS,
PerftoolFactory.eINSTANCE.createActivityStatusEvent()));
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.ACTIVITY__CHILDREN,
PerftoolFactory.eINSTANCE.createActivity()));
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,227 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.ActivityStatusEvent;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.ActivityStatusEvent} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ActivityStatusEventItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ActivityStatusEventItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addNewStatusPropertyDescriptor(object);
addOldStatusPropertyDescriptor(object);
addTimestampPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityStatusEvent_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityStatusEvent_oid_feature", "_UI_ActivityStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_STATUS_EVENT__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the New Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNewStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityStatusEvent_newStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityStatusEvent_newStatus_feature", "_UI_ActivityStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_STATUS_EVENT__NEW_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Old Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOldStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityStatusEvent_oldStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityStatusEvent_oldStatus_feature", "_UI_ActivityStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_STATUS_EVENT__OLD_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Timestamp feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTimestampPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ActivityStatusEvent_timestamp_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ActivityStatusEvent_timestamp_feature", "_UI_ActivityStatusEvent_type"),
PerftoolPackage.Literals.ACTIVITY_STATUS_EVENT__TIMESTAMP,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This returns ActivityStatusEvent.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/ActivityStatusEvent"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
ActivityStatusEvent activityStatusEvent = (ActivityStatusEvent)object;
return getString("_UI_ActivityStatusEvent_type") + " " + activityStatusEvent.getOid();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(ActivityStatusEvent.class)) {
case PerftoolPackage.ACTIVITY_STATUS_EVENT__OID:
case PerftoolPackage.ACTIVITY_STATUS_EVENT__NEW_STATUS:
case PerftoolPackage.ACTIVITY_STATUS_EVENT__OLD_STATUS:
case PerftoolPackage.ACTIVITY_STATUS_EVENT__TIMESTAMP:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,251 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.ComponentStatusEvent;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.ComponentStatusEvent} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ComponentStatusEventItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComponentStatusEventItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addComponentTypePropertyDescriptor(object);
addNewStatusPropertyDescriptor(object);
addOldStatusPropertyDescriptor(object);
addTimestampPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ComponentStatusEvent_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ComponentStatusEvent_oid_feature", "_UI_ComponentStatusEvent_type"),
PerftoolPackage.Literals.COMPONENT_STATUS_EVENT__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Component Type feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addComponentTypePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ComponentStatusEvent_componentType_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ComponentStatusEvent_componentType_feature", "_UI_ComponentStatusEvent_type"),
PerftoolPackage.Literals.COMPONENT_STATUS_EVENT__COMPONENT_TYPE,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the New Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNewStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ComponentStatusEvent_newStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ComponentStatusEvent_newStatus_feature", "_UI_ComponentStatusEvent_type"),
PerftoolPackage.Literals.COMPONENT_STATUS_EVENT__NEW_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Old Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOldStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ComponentStatusEvent_oldStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ComponentStatusEvent_oldStatus_feature", "_UI_ComponentStatusEvent_type"),
PerftoolPackage.Literals.COMPONENT_STATUS_EVENT__OLD_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Timestamp feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTimestampPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_ComponentStatusEvent_timestamp_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_ComponentStatusEvent_timestamp_feature", "_UI_ComponentStatusEvent_type"),
PerftoolPackage.Literals.COMPONENT_STATUS_EVENT__TIMESTAMP,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This returns ComponentStatusEvent.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentStatusEvent"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
ComponentStatusEvent componentStatusEvent = (ComponentStatusEvent)object;
return getString("_UI_ComponentStatusEvent_type") + " " + componentStatusEvent.getOid();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(ComponentStatusEvent.class)) {
case PerftoolPackage.COMPONENT_STATUS_EVENT__OID:
case PerftoolPackage.COMPONENT_STATUS_EVENT__COMPONENT_TYPE:
case PerftoolPackage.COMPONENT_STATUS_EVENT__NEW_STATUS:
case PerftoolPackage.COMPONENT_STATUS_EVENT__OLD_STATUS:
case PerftoolPackage.COMPONENT_STATUS_EVENT__TIMESTAMP:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,346 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.DeviceInstanceStatusEvent;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.DeviceInstanceStatusEvent} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class DeviceInstanceStatusEventItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public DeviceInstanceStatusEventItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addDeviceTypePropertyDescriptor(object);
addDeviceIDPropertyDescriptor(object);
addNewStatusPropertyDescriptor(object);
addOldStatusPropertyDescriptor(object);
addTimestampPropertyDescriptor(object);
addExecutedImplIDPropertyDescriptor(object);
addDeviceSlotCountPropertyDescriptor(object);
addExecutedInstancePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_oid_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Device Type feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addDeviceTypePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_deviceType_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_deviceType_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__DEVICE_TYPE,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Device ID feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addDeviceIDPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_deviceID_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_deviceID_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__DEVICE_ID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the New Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNewStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_newStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_newStatus_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__NEW_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Old Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOldStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_oldStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_oldStatus_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__OLD_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Timestamp feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTimestampPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_timestamp_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_timestamp_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__TIMESTAMP,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Executed Impl ID feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addExecutedImplIDPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_executedImplID_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_executedImplID_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__EXECUTED_IMPL_ID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Device Slot Count feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addDeviceSlotCountPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_deviceSlotCount_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_deviceSlotCount_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__DEVICE_SLOT_COUNT,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Executed Instance feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addExecutedInstancePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_DeviceInstanceStatusEvent_executedInstance_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_DeviceInstanceStatusEvent_executedInstance_feature", "_UI_DeviceInstanceStatusEvent_type"),
PerftoolPackage.Literals.DEVICE_INSTANCE_STATUS_EVENT__EXECUTED_INSTANCE,
true,
false,
true,
null,
null,
null));
}
/**
* This returns DeviceInstanceStatusEvent.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/DeviceInstanceStatusEvent"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
DeviceInstanceStatusEvent deviceInstanceStatusEvent = (DeviceInstanceStatusEvent)object;
return getString("_UI_DeviceInstanceStatusEvent_type") + " " + deviceInstanceStatusEvent.getOid();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(DeviceInstanceStatusEvent.class)) {
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__OID:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__DEVICE_TYPE:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__DEVICE_ID:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__NEW_STATUS:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__OLD_STATUS:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__TIMESTAMP:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__EXECUTED_IMPL_ID:
case PerftoolPackage.DEVICE_INSTANCE_STATUS_EVENT__DEVICE_SLOT_COUNT:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,367 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.util.PerftoolAdapterFactory;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
* The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
* The adapters also support Eclipse property sheets.
* Note that most of the adapters are shared among multiple instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class PerftoolItemProviderAdapterFactory extends PerftoolAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComposedAdapterFactory parentAdapterFactory;
/**
* This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<Object> supportedTypes = new ArrayList<Object>();
/**
* This constructs an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public PerftoolItemProviderAdapterFactory() {
supportedTypes.add(IEditingDomainItemProvider.class);
supportedTypes.add(IStructuredItemContentProvider.class);
supportedTypes.add(ITreeItemContentProvider.class);
supportedTypes.add(IItemLabelProvider.class);
supportedTypes.add(IItemPropertySource.class);
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.Workflow} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected WorkflowItemProvider workflowItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.Workflow}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createWorkflowAdapter() {
if (workflowItemProvider == null) {
workflowItemProvider = new WorkflowItemProvider(this);
}
return workflowItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.Activity} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ActivityItemProvider activityItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.Activity}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createActivityAdapter() {
if (activityItemProvider == null) {
activityItemProvider = new ActivityItemProvider(this);
}
return activityItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.ActivityInstance} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ActivityInstanceItemProvider activityInstanceItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.ActivityInstance}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createActivityInstanceAdapter() {
if (activityInstanceItemProvider == null) {
activityInstanceItemProvider = new ActivityInstanceItemProvider(this);
}
return activityInstanceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.WorkflowStatusEvent} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected WorkflowStatusEventItemProvider workflowStatusEventItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.WorkflowStatusEvent}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createWorkflowStatusEventAdapter() {
if (workflowStatusEventItemProvider == null) {
workflowStatusEventItemProvider = new WorkflowStatusEventItemProvider(this);
}
return workflowStatusEventItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.ActivityStatusEvent} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ActivityStatusEventItemProvider activityStatusEventItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.ActivityStatusEvent}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createActivityStatusEventAdapter() {
if (activityStatusEventItemProvider == null) {
activityStatusEventItemProvider = new ActivityStatusEventItemProvider(this);
}
return activityStatusEventItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.ActivityInstanceStatusEvent} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ActivityInstanceStatusEventItemProvider activityInstanceStatusEventItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.ActivityInstanceStatusEvent}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createActivityInstanceStatusEventAdapter() {
if (activityInstanceStatusEventItemProvider == null) {
activityInstanceStatusEventItemProvider = new ActivityInstanceStatusEventItemProvider(this);
}
return activityInstanceStatusEventItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.DeviceInstanceStatusEvent} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected DeviceInstanceStatusEventItemProvider deviceInstanceStatusEventItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.DeviceInstanceStatusEvent}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createDeviceInstanceStatusEventAdapter() {
if (deviceInstanceStatusEventItemProvider == null) {
deviceInstanceStatusEventItemProvider = new DeviceInstanceStatusEventItemProvider(this);
}
return deviceInstanceStatusEventItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link at.ac.uibk.wfr.perftool.ComponentStatusEvent} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComponentStatusEventItemProvider componentStatusEventItemProvider;
/**
* This creates an adapter for a {@link at.ac.uibk.wfr.perftool.ComponentStatusEvent}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createComponentStatusEventAdapter() {
if (componentStatusEventItemProvider == null) {
componentStatusEventItemProvider = new ComponentStatusEventItemProvider(this);
}
return componentStatusEventItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComposeableAdapterFactory getRootAdapterFactory() {
return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
}
/**
* This sets the composed adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
this.parentAdapterFactory = parentAdapterFactory;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean isFactoryForType(Object type) {
return supportedTypes.contains(type) || super.isFactoryForType(type);
}
/**
* This implementation substitutes the factory itself as the key for the adapter.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter adapt(Notifier notifier, Object type) {
return super.adapt(notifier, this);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object adapt(Object object, Object type) {
if (isFactoryForType(type)) {
Object adapter = super.adapt(object, type);
if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
return adapter;
}
}
return null;
}
/**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void addListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.addListener(notifyChangedListener);
}
/**
* This removes a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void removeListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.removeListener(notifyChangedListener);
}
/**
* This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void fireNotifyChanged(Notification notification) {
changeNotifier.fireNotifyChanged(notification);
if (parentAdapterFactory != null) {
parentAdapterFactory.fireNotifyChanged(notification);
}
}
/**
* This disposes all of the item providers created by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void dispose() {
if (workflowItemProvider != null) workflowItemProvider.dispose();
if (activityItemProvider != null) activityItemProvider.dispose();
if (activityInstanceItemProvider != null) activityInstanceItemProvider.dispose();
if (workflowStatusEventItemProvider != null) workflowStatusEventItemProvider.dispose();
if (activityStatusEventItemProvider != null) activityStatusEventItemProvider.dispose();
if (activityInstanceStatusEventItemProvider != null) activityInstanceStatusEventItemProvider.dispose();
if (deviceInstanceStatusEventItemProvider != null) deviceInstanceStatusEventItemProvider.dispose();
if (componentStatusEventItemProvider != null) componentStatusEventItemProvider.dispose();
}
}
@@ -0,0 +1,89 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
/**
* This is the central singleton for the WFRperfToolModel edit plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public final class WFRperfToolModelEditPlugin extends EMFPlugin {
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final WFRperfToolModelEditPlugin INSTANCE = new WFRperfToolModelEditPlugin();
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static Implementation plugin;
/**
* Create the instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WFRperfToolModelEditPlugin() {
super
(new ResourceLocator [] {
});
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
@Override
public ResourceLocator getPluginResourceLocator() {
return plugin;
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
public static Implementation getPlugin() {
return plugin;
}
/**
* The actual implementation of the Eclipse <b>Plugin</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class Implementation extends EclipsePlugin {
/**
* Creates an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Implementation() {
super();
// Remember the static instance.
//
plugin = this;
}
}
}
@@ -0,0 +1,303 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.PerftoolFactory;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import at.ac.uibk.wfr.perftool.Workflow;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.Workflow} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class WorkflowItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkflowItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addWfidPropertyDescriptor(object);
addUuidPropertyDescriptor(object);
addNamePropertyDescriptor(object);
addToplevelActivityPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Workflow_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Workflow_oid_feature", "_UI_Workflow_type"),
PerftoolPackage.Literals.WORKFLOW__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Wfid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addWfidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Workflow_wfid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Workflow_wfid_feature", "_UI_Workflow_type"),
PerftoolPackage.Literals.WORKFLOW__WFID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Uuid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addUuidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Workflow_uuid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Workflow_uuid_feature", "_UI_Workflow_type"),
PerftoolPackage.Literals.WORKFLOW__UUID,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Workflow_name_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Workflow_name_feature", "_UI_Workflow_type"),
PerftoolPackage.Literals.WORKFLOW__NAME,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Toplevel Activity feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addToplevelActivityPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Workflow_toplevelActivity_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Workflow_toplevelActivity_feature", "_UI_Workflow_type"),
PerftoolPackage.Literals.WORKFLOW__TOPLEVEL_ACTIVITY,
true,
false,
true,
null,
null,
null));
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(PerftoolPackage.Literals.WORKFLOW__TOPLEVEL_ACTIVITY);
}
return childrenFeatures;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
return super.getChildFeature(object, child);
}
/**
* This returns Workflow.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Workflow"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((Workflow)object).getName();
return label == null || label.length() == 0 ?
getString("_UI_Workflow_type") :
getString("_UI_Workflow_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Workflow.class)) {
case PerftoolPackage.WORKFLOW__OID:
case PerftoolPackage.WORKFLOW__WFID:
case PerftoolPackage.WORKFLOW__UUID:
case PerftoolPackage.WORKFLOW__NAME:
case PerftoolPackage.WORKFLOW__STATUS_EVENTS:
case PerftoolPackage.WORKFLOW__DEVICE_EVENTS:
case PerftoolPackage.WORKFLOW__COMPONENT_EVENTS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.WORKFLOW__STATUS_EVENTS,
PerftoolFactory.eINSTANCE.createWorkflowStatusEvent()));
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.WORKFLOW__DEVICE_EVENTS,
PerftoolFactory.eINSTANCE.createDeviceInstanceStatusEvent()));
newChildDescriptors.add
(createChildParameter
(PerftoolPackage.Literals.WORKFLOW__COMPONENT_EVENTS,
PerftoolFactory.eINSTANCE.createComponentStatusEvent()));
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
}
@@ -0,0 +1,239 @@
/**
*/
package at.ac.uibk.wfr.perftool.provider;
import at.ac.uibk.wfr.perftool.PerftoolPackage;
import at.ac.uibk.wfr.perftool.WorkflowStatusEvent;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link at.ac.uibk.wfr.perftool.WorkflowStatusEvent} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class WorkflowStatusEventItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkflowStatusEventItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addOidPropertyDescriptor(object);
addNewStatusPropertyDescriptor(object);
addOldStatusPropertyDescriptor(object);
addTimestampPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Oid feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOidPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkflowStatusEvent_oid_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkflowStatusEvent_oid_feature", "_UI_WorkflowStatusEvent_type"),
PerftoolPackage.Literals.WORKFLOW_STATUS_EVENT__OID,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the New Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNewStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkflowStatusEvent_newStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkflowStatusEvent_newStatus_feature", "_UI_WorkflowStatusEvent_type"),
PerftoolPackage.Literals.WORKFLOW_STATUS_EVENT__NEW_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Old Status feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOldStatusPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkflowStatusEvent_oldStatus_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkflowStatusEvent_oldStatus_feature", "_UI_WorkflowStatusEvent_type"),
PerftoolPackage.Literals.WORKFLOW_STATUS_EVENT__OLD_STATUS,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Timestamp feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTimestampPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkflowStatusEvent_timestamp_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkflowStatusEvent_timestamp_feature", "_UI_WorkflowStatusEvent_type"),
PerftoolPackage.Literals.WORKFLOW_STATUS_EVENT__TIMESTAMP,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This returns WorkflowStatusEvent.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkflowStatusEvent"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
WorkflowStatusEvent workflowStatusEvent = (WorkflowStatusEvent)object;
return getString("_UI_WorkflowStatusEvent_type") + " " + workflowStatusEvent.getOid();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(WorkflowStatusEvent.class)) {
case PerftoolPackage.WORKFLOW_STATUS_EVENT__OID:
case PerftoolPackage.WORKFLOW_STATUS_EVENT__NEW_STATUS:
case PerftoolPackage.WORKFLOW_STATUS_EVENT__OLD_STATUS:
case PerftoolPackage.WORKFLOW_STATUS_EVENT__TIMESTAMP:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return WFRperfToolModelEditPlugin.INSTANCE;
}
@Override
public Object getColumnImage(Object object, int columnIndex) {
if (columnIndex == 0) {
return getImage(object);
} else {
return super.getColumnText(object, columnIndex);
}
}
@Override
public String getColumnText(Object object, int columnIndex) {
return getText(object);
}
}
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="lib" path="libs/sqlite-jdbc-3.7.2.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>WFRperfTool.editor</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>
+34
View File
@@ -0,0 +1,34 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: WFRperfTool.editor;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .,
libs/sqlite-jdbc-3.7.2.jar
Bundle-Activator: at.ac.uibk.wfr.perftool.presentation.WFRperfToolModelEditorPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: at.ac.uibk.wfr.perftool.presentation
Require-Bundle: org.eclipse.core.runtime,
WFRperfTool.edit;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.emf.edit.ui;visibility:=reexport,
org.eclipse.emf.teneo.hibernate;bundle-version="2.0.1",
org.hibernate;bundle-version="4.1.1",
org.eclipse.birt;bundle-version="4.2.2",
org.eclipse.birt.chart.engine;bundle-version="4.2.2",
org.eclipse.birt.chart.device.swt;bundle-version="4.2.2",
org.eclipse.birt.chart.device.extension;bundle-version="4.2.2",
org.eclipse.birt.chart.device.pdf;bundle-version="4.2.2",
org.eclipse.birt.chart.device.svg;bundle-version="4.2.2",
org.eclipse.birt.chart.engine.extension;bundle-version="4.2.2",
org.eclipse.birt.chart.reportitem;bundle-version="4.2.2",
org.eclipse.birt.chart.reportitem.ui;bundle-version="4.2.2",
org.eclipse.birt.chart.ui;bundle-version="4.2.2",
org.eclipse.birt.chart.ui.extension;bundle-version="4.2.2",
org.eclipse.birt.core.script.function;bundle-version="4.2.2",
org.eclipse.birt.core.ui;bundle-version="4.2.2",
org.eclipse.birt.data;bundle-version="4.2.2",
org.eclipse.birt.data.aggregation;bundle-version="4.2.2"
Bundle-ActivationPolicy: lazy
@@ -0,0 +1,411 @@
package at.ac.uibk.wfr.perftool.deviceeventstimeline;
import java.util.Date;
import org.eclipse.birt.chart.extension.datafeed.GanttEntry;
import org.eclipse.birt.chart.model.Chart;
import org.eclipse.birt.chart.model.ChartWithAxes;
import org.eclipse.birt.chart.model.ChartWithoutAxes;
import org.eclipse.birt.chart.model.attribute.ActionType;
import org.eclipse.birt.chart.model.attribute.Anchor;
import org.eclipse.birt.chart.model.attribute.AxisType;
import org.eclipse.birt.chart.model.attribute.ChartDimension;
import org.eclipse.birt.chart.model.attribute.IntersectionType;
import org.eclipse.birt.chart.model.attribute.LegendItemType;
import org.eclipse.birt.chart.model.attribute.LineAttributes;
import org.eclipse.birt.chart.model.attribute.LineStyle;
import org.eclipse.birt.chart.model.attribute.Position;
import org.eclipse.birt.chart.model.attribute.TickStyle;
import org.eclipse.birt.chart.model.attribute.TriggerCondition;
import org.eclipse.birt.chart.model.attribute.impl.ColorDefinitionImpl;
import org.eclipse.birt.chart.model.attribute.impl.SeriesValueImpl;
import org.eclipse.birt.chart.model.component.Axis;
import org.eclipse.birt.chart.model.component.Series;
import org.eclipse.birt.chart.model.component.impl.AxisImpl;
import org.eclipse.birt.chart.model.component.impl.SeriesImpl;
import org.eclipse.birt.chart.model.data.BaseSampleData;
import org.eclipse.birt.chart.model.data.DataFactory;
import org.eclipse.birt.chart.model.data.GanttDataSet;
import org.eclipse.birt.chart.model.data.NumberDataSet;
import org.eclipse.birt.chart.model.data.OrthogonalSampleData;
import org.eclipse.birt.chart.model.data.SampleData;
import org.eclipse.birt.chart.model.data.SeriesDefinition;
import org.eclipse.birt.chart.model.data.SeriesGrouping;
import org.eclipse.birt.chart.model.data.TextDataSet;
import org.eclipse.birt.chart.model.data.impl.ActionImpl;
import org.eclipse.birt.chart.model.data.impl.GanttDataSetImpl;
import org.eclipse.birt.chart.model.data.impl.NumberDataSetImpl;
import org.eclipse.birt.chart.model.data.impl.SeriesDefinitionImpl;
import org.eclipse.birt.chart.model.data.impl.SeriesGroupingImpl;
import org.eclipse.birt.chart.model.data.impl.TextDataSetImpl;
import org.eclipse.birt.chart.model.data.impl.TriggerImpl;
import org.eclipse.birt.chart.model.impl.ChartWithAxesImpl;
import org.eclipse.birt.chart.model.impl.ChartWithoutAxesImpl;
import org.eclipse.birt.chart.model.layout.Legend;
import org.eclipse.birt.chart.model.type.BarSeries;
import org.eclipse.birt.chart.model.type.GanttSeries;
import org.eclipse.birt.chart.model.type.PieSeries;
import org.eclipse.birt.chart.model.type.impl.BarSeriesImpl;
import org.eclipse.birt.chart.model.type.impl.GanttSeriesImpl;
import org.eclipse.birt.chart.model.type.impl.PieSeriesImpl;
import org.eclipse.birt.chart.util.CDateTime;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.teneo.hibernate.resource.HibernateResource;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;
import at.ac.uibk.wfr.perftool.Activity;
import at.ac.uibk.wfr.perftool.ActivityInstance;
import at.ac.uibk.wfr.perftool.Workflow;
import at.ac.uibk.wfr.perftool.presentation.PerftoolEditor;
public class DeviceEventsTimelineEditorPart extends EditorPart implements ISelectionChangedListener {
public static final String ID = "at.ac.uibk.wfr.perftool.perftooleditor.DeviceEventsTimelineEditorPart"; //$NON-NLS-1$
private PerftoolEditor mainEditor;
private HibernateResource hResource;
private Workflow selectedWorkflow = null;
private BirtChartCanvas canvas;
public DeviceEventsTimelineEditorPart(PerftoolEditor mainEditor) {
this.mainEditor = mainEditor;
this.mainEditor.addSelectionChangedListener(this);
hResource = mainEditor.getHibernateResource();
}
@Override
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
setSite(site);
setInput(input);
}
/**
* Create contents of the editor part.
* @param parent
*/
@Override
public void createPartControl(Composite parent) {
canvas = new BirtChartCanvas(null, parent, SWT.NONE);
}
@Override
public void setFocus() {
}
public static Chart createChart2() {
ChartWithAxes chart = ChartWithAxesImpl.create();
chart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);
chart.setType("Gantt Chart");
chart.setSubType("Standard Gantt Chart");
chart.getBlock().setBackground(ColorDefinitionImpl.WHITE());
chart.getPlot().setBackground(ColorDefinitionImpl.GREY());
chart.setTransposed(true);
// Title
chart.getTitle().getLabel().getCaption().setValue("Device Events");//$NON-NLS-1$
// Legend
Legend lg = chart.getLegend();
LineAttributes lia = lg.getOutline();
lg.getText().getFont().setSize(16);
lia.setStyle(LineStyle.SOLID_LITERAL);
lg.getInsets().set(10, 5, 0, 0);
lg.getOutline().setVisible(true);
lg.setAnchor(Anchor.NORTH_LITERAL);
lg.setItemType(LegendItemType.CATEGORIES_LITERAL);
// X-Axis
Axis xAxisPrimary = chart.getPrimaryBaseAxes()[0];
xAxisPrimary.setType(AxisType.TEXT_LITERAL);
xAxisPrimary.getMajorGrid().setTickStyle(TickStyle.BELOW_LITERAL);
xAxisPrimary.getOrigin().setType(IntersectionType.MIN_LITERAL);
// Y-Axis
Axis yAxisPrimary = chart.getPrimaryOrthogonalAxis(xAxisPrimary);
yAxisPrimary.setType(AxisType.DATE_TIME_LITERAL);
yAxisPrimary.getMajorGrid().setTickStyle(TickStyle.LEFT_LITERAL);
//yAxisPrimary.setSideBySide(true);
// Data Set
TextDataSet categoryValues = TextDataSetImpl.create(new String[] {"PThread(0)", "PThread(1)", "PThread(2)" });
//NumberDataSet orthoValues1 = NumberDataSetImpl.create(new double[] {12.5, 19.6, 18.3, 13.2, 26.5 });
//NumberDataSet orthoValues2 = NumberDataSetImpl.create(new double[] {22.7, 23.6, 38.3, 43.2, 40.5 });
GanttDataSet phase1 = GanttDataSetImpl.create( new GanttEntry[]{
new GanttEntry( new CDateTime( 2008, 1, 9 ),
new CDateTime( 2008, 6, 9 ),
"Task A" ), //$NON-NLS-1$
new GanttEntry( new CDateTime( 2008, 3, 9 ),
new CDateTime( 2008, 8, 9 ),
"Task B" ), //$NON-NLS-1$
new GanttEntry( new CDateTime( 2008, 5, 24 ),
new CDateTime( 2008, 9, 9 ),
"Task C" ) //$NON-NLS-1$
} );
GanttDataSet phase2 = GanttDataSetImpl.create( new GanttEntry[]{
new GanttEntry( new CDateTime( 2008, 6, 12 ),
new CDateTime( 2008, 9, 23 ),
"Task A" ), //$NON-NLS-1$
new GanttEntry( new CDateTime( 2008, 8, 9 ),
new CDateTime( 2008, 8, 9 ),
"Task B" ), //$NON-NLS-1$
new GanttEntry( new CDateTime( 2008, 9, 9 ),
new CDateTime( 2008, 12, 9 ),
"Task C" ) //$NON-NLS-1$
} );
NumberDataSet paletteValues = NumberDataSetImpl.create(new double[] {22.7, 23.6, 38.3, 43.2, 40.5 });
// X-Series
Series seCategory = SeriesImpl.create();
seCategory.setDataSet(categoryValues);
SeriesDefinition sdX = SeriesDefinitionImpl.create();
xAxisPrimary.getSeriesDefinitions().add(sdX);
sdX.getSeries().add(seCategory);
sdX.getSeriesPalette().shift(0);
// Y-Series (1)
GanttSeries taskPhase1 = (GanttSeries) GanttSeriesImpl.create( );
taskPhase1.setDataSet( phase1 );
taskPhase1.getLabel( ).setVisible( false );
GanttSeries taskPhase2 = (GanttSeries) GanttSeriesImpl.create( );
taskPhase2.setDataSet( phase2 );
taskPhase2.getLabel( ).setVisible( false );
SeriesDefinition sdY1 = SeriesDefinitionImpl.create();
sdY1.getSeriesPalette().shift(0);
yAxisPrimary.getSeriesDefinitions().add(sdY1);
sdY1.getSeries().add(taskPhase1);
sdY1.getSeries().add(taskPhase2);
// Y-Series (1)
/*BarSeries bs1 = (BarSeries) BarSeriesImpl.create();
bs1.setDataSet(orthoValues1);
bs1.getLabel().setVisible(true);
bs1.setLabelPosition(Position.INSIDE_LITERAL);
SeriesDefinition sdY1 = SeriesDefinitionImpl.create();
sdY1.getSeriesPalette().shift(-2);
yAxisPrimary.getSeriesDefinitions().add(sdY1);
sdY1.getSeries().add(bs1);*/
return chart;
}
public static Chart createChart() {
ChartWithAxes chart = ChartWithAxesImpl.create();
chart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);
chart.setType("Bar Chart");
chart.setSubType("Stacked");
chart.getBlock().setBackground(ColorDefinitionImpl.WHITE());
chart.getPlot().setBackground(ColorDefinitionImpl.GREY());
chart.setTransposed(true);
// Title
chart.getTitle().getLabel().getCaption().setValue("Device Events");//$NON-NLS-1$
// Legend
Legend lg = chart.getLegend();
LineAttributes lia = lg.getOutline();
lg.getText().getFont().setSize(16);
lia.setStyle(LineStyle.SOLID_LITERAL);
lg.getInsets().set(10, 5, 0, 0);
lg.getOutline().setVisible(true);
lg.setAnchor(Anchor.NORTH_LITERAL);
// X-Axis
Axis xAxisPrimary = chart.getPrimaryBaseAxes()[0];
xAxisPrimary.setType(AxisType.TEXT_LITERAL);
xAxisPrimary.getMajorGrid().setTickStyle(TickStyle.BELOW_LITERAL);
xAxisPrimary.getOrigin().setType(IntersectionType.MIN_LITERAL);
// Y-Axis
Axis yAxisPrimary = chart.getPrimaryOrthogonalAxis(xAxisPrimary);
yAxisPrimary.getMajorGrid().setTickStyle(TickStyle.LEFT_LITERAL);
//yAxisPrimary.setSideBySide(true);
// Data Set
TextDataSet categoryValues = TextDataSetImpl.create(new String[] {"PThread(0)", "PThread(1)", "PThread(2)", "PThread(3)", "PThread(4)" });
NumberDataSet orthoValues1 = NumberDataSetImpl.create(new double[] {12.5, 19.6, 18.3, 13.2, 26.5 });
NumberDataSet orthoValues2 = NumberDataSetImpl.create(new double[] {22.7, 23.6, 38.3, 43.2, 40.5 });
/*SampleData sd = DataFactory.eINSTANCE.createSampleData();
BaseSampleData sdBase = DataFactory.eINSTANCE.createBaseSampleData();
sdBase.setDataSetRepresentation("");//$NON-NLS-1$
sd.getBaseSampleData().add(sdBase);
OrthogonalSampleData sdOrthogonal1 = DataFactory.eINSTANCE.createOrthogonalSampleData();
sdOrthogonal1.setDataSetRepresentation("");//$NON-NLS-1$
sdOrthogonal1.setSeriesDefinitionIndex(0);
sd.getOrthogonalSampleData().add(sdOrthogonal1);
chart.setSampleData(sd);*/
// X-Series
Series seCategory = SeriesImpl.create();
seCategory.setDataSet(categoryValues);
SeriesDefinition sdX = SeriesDefinitionImpl.create();
xAxisPrimary.getSeriesDefinitions().add(sdX);
sdX.getSeries().add(seCategory);
// Y-Series (1)
BarSeries bs1 = (BarSeries) BarSeriesImpl.create();
bs1.setDataSet(orthoValues1);
bs1.setStacked(true);
bs1.getLabel().setVisible(true);
bs1.setLabelPosition(Position.INSIDE_LITERAL);
BarSeries bs2 = (BarSeries) BarSeriesImpl.create();
bs2.setDataSet(orthoValues2);
bs2.setStacked(true);
bs2.getLabel().setVisible(true);
bs2.setLabelPosition(Position.INSIDE_LITERAL);
SeriesDefinition sdY1 = SeriesDefinitionImpl.create();
sdY1.getSeriesPalette().shift(0);
yAxisPrimary.getSeriesDefinitions().add(sdY1);
sdY1.getSeries().add(bs1);
sdY1.getSeries().add(bs2);
// Y-Serires (2)
/*BarSeries bs2 = (BarSeries) BarSeriesImpl.create();
bs2.setDataSet(orthoValues2);
bs2.getLabel().setVisible(true);
bs2.setLabelPosition(Position.INSIDE_LITERAL);
SeriesDefinition sdY2 = SeriesDefinitionImpl.create();
sdY2.getSeriesPalette().shift(-3);
yAxisPrimary.getSeriesDefinitions().add(sdY2);
sdY2.getSeries().add(bs2);*/
return chart;
}
public static Chart createPie( )
{
ChartWithoutAxes cwoaPie = ChartWithoutAxesImpl.create( );
cwoaPie.setDimension( ChartDimension.TWO_DIMENSIONAL_WITH_DEPTH_LITERAL );
cwoaPie.setType( "Pie Chart" ); //$NON-NLS-1$
cwoaPie.setSubType( "Standard Pie Chart" ); //$NON-NLS-1$
// Plot
cwoaPie.setSeriesThickness( 10 );
// Legend
Legend lg = cwoaPie.getLegend( );
lg.getOutline( ).setVisible( true );
// Title
cwoaPie.getTitle( ).getLabel( ).getCaption( ).setValue( "Pie Chart" );//$NON-NLS-1$
// Data Set
TextDataSet categoryValues = TextDataSetImpl.create( new String[]{
"New York", "Boston", "Chicago", "San Francisco", "Dallas"} );//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
NumberDataSet seriesOneValues = NumberDataSetImpl.create( new double[]{
54.65, 21, 75.95, 91.28, 37.43
} );
SampleData sdata = DataFactory.eINSTANCE.createSampleData( );
BaseSampleData sdBase = DataFactory.eINSTANCE.createBaseSampleData( );
sdBase.setDataSetRepresentation( "" );//$NON-NLS-1$
sdata.getBaseSampleData( ).add( sdBase );
OrthogonalSampleData sdOrthogonal = DataFactory.eINSTANCE.createOrthogonalSampleData( );
sdOrthogonal.setDataSetRepresentation( "" );//$NON-NLS-1$
sdOrthogonal.setSeriesDefinitionIndex( 0 );
sdata.getOrthogonalSampleData( ).add( sdOrthogonal );
cwoaPie.setSampleData( sdata );
// Base Series
Series seCategory = SeriesImpl.create( );
seCategory.setDataSet( categoryValues );
SeriesDefinition sd = SeriesDefinitionImpl.create( );
cwoaPie.getSeriesDefinitions( ).add( sd );
sd.getSeriesPalette( ).shift( 0 );
sd.getSeries( ).add( seCategory );
// Orthogonal Series
PieSeries sePie = (PieSeries) PieSeriesImpl.create( );
sePie.setDataSet( seriesOneValues );
sePie.setSeriesIdentifier( "Cities" );//$NON-NLS-1$
sePie.setExplosion( 5 );
SeriesDefinition sdCity = SeriesDefinitionImpl.create( );
sd.getSeriesDefinitions( ).add( sdCity );
sdCity.getSeries( ).add( sePie );
return cwoaPie;
}
@Override
public boolean isDirty() {
return false;
}
@Override
public boolean isSaveAsAllowed() {
return false;
}
@Override
public void doSave(IProgressMonitor monitor) {
}
@Override
public void doSaveAs() {
}
@Override
public void selectionChanged(SelectionChangedEvent event) {
System.out.println("DeviceEventsTimelineEditorPart.selectionChanged: " + event.getSelection().toString());
if (event.getSelection() instanceof TreeSelection) {
TreeSelection sel = (TreeSelection) event.getSelection();
Object o = sel.getFirstElement();
if (o instanceof Workflow) {
selectedWorkflow = (Workflow) o;
canvas.setChart(createChart2());
} else if (o instanceof Activity) {
selectedWorkflow = ((Activity) o).getParentWorkflow();
canvas.setChart(createChart2());
} else if (o instanceof ActivityInstance) {
selectedWorkflow = ((ActivityInstance) o).getParentWorkflow();
canvas.setChart(createChart2());
}
}
}
}
@@ -0,0 +1,29 @@
## Debug Settings
#hibernate.show_sql=true
#hibernate.format_sql=true
#hibernate.use_sql_comments=true
hibernate.connection.driver_class=org.sqlite.JDBC
#hibernate.connection.url=jdbc\:sqlite\:default.sqlite
## Database Creation Mode (validate | update | create | create-drop)
hibernate.hbm2ddl.auto=validate
hibernate.dialect=perftoolutils.SQLiteDialect
teneo.naming.join_column_naming_strategy=simple
## Teneo Settings
teneo.mapping.disable_econtainer=true
teneo.mapping.always_version=false
teneo.mapping.inheritance=JOINED
teneo.naming.sql_fk_name_prefix=fk_
teneo.naming.set_foreign_key_name=true
hibernate.jdbc.batch_size=30
## Teneo Cache Settings
#hibernate.cache.use_second_level_cache=false
#hibernate.cache.use_query_cache=false
#teneo.mapping.default_cache_strategy=NONE
#hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
+11
View File
@@ -0,0 +1,11 @@
#
bin.includes = .,\
icons/,\
META-INF/,\
plugin.xml,\
plugin.properties,\
libs/sqlite-jdbc-3.7.2.jar
jars.compile.order = .
source.. = src/
output.. = bin
Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

File diff suppressed because it is too large Load Diff
+855
View File
@@ -0,0 +1,855 @@
JFreeChart 1.0.17
-----------------
24 November 2013
Enhanced XYSplineRenderer with new area fill (contributed by Klaus Rheinwald),
added a notify flag to all datasets that extend AbstractDataset, extended
TimeSeriesCollection to validate TimeSeries keys for uniqueness, added a new
DirectionalGradientPaintTransformer (by Peter Kolb), updated OHLCSeries, added
HMSNumberFormat, updated JCommon to version 1.0.21 (includes rotated text
improvements) and fixed some minor bugs.
Bug Fixes:
977 : Multithreading issue with DateAxis;
1084 : BorderArrangement.add() possible ClassCastException;
1099 : XYSeriesCollection.removeSeries(int) does not deregister listener;
1109 : WaterfallBarRenderer uses wrong color for diff 0.
And now a word from our sponsors, Object Refinery Limited...
> ORSON CHARTS 3D
> ---------------
> We are pleased to announce the release of Orson Charts, a 3D chart library
> for the Java(tm) platform. Orson Charts has a similar architecture to
> JFreeChart and provides high-quality 3D chart rendering using just the Java2D
> API. The built-in Swing-based viewer provides zooming and full 360 degree
> rotation of charts in any direction. Export options include PNG, PDF and SVG.
> You can download a free evaluation copy of Orson Charts from:
>
> http://www.object-refinery.com/orsoncharts
>
> We've also added a tab to the JFreeChart demo application so you can see
> Orson Charts in action. Orson Charts is not free, but provides a superb
> complement to the extensive 2D charting capabilities of JFreeChart.
JFreeChart 1.0.16
-----------------
13 September 2013
*** THIS RELEASE REQUIRES JDK/JRE 1.6.0 OR LATER. ***
Provided subscript/superscript support for axis labels (via AttributedString),
new axis label positioning options, simplified ChartFactory methods,
added new methods to DatasetUtilities to interpolate y-values in XYDatasets,
added URLs to labels on CategoryAxis, seamless integration with
JFreeSVG (http://www.jfree.org/jfreesvg/) and OrsonPDF
(http://www.object-refinery.com/pdf/), improved the consistency of the
SWTGraphics2D implementation, and fixed various bugs. All the JUnit tests
have been upgraded to JUnit 4.
Bug Fixes:
1107 : Fixed TimeZone issue in PeriodAxis.
Also fixed a line drawing issue with the StackedXYAreaRenderer, and a memory
leak in the SWT ChartComposite class.
IMPORTANT: Funding is vital to the continued success of the JFreeChart project.
Please ask/persuade/beg your company to support us buy purchasing the
JFreeChart Developer Guide and demo source code (site license options are
available for big companies)...and also please take a look at JFreeSVG and
OrsonPDF, useful products that we are charging money for!
JFreeChart 1.0.15
-----------------
4-July-2013
Added support for non-visible series in XYBarRenderer, minor gridlines in
PolarPlot, legend item ordering, chart editor enhancements, updates to
StandardDialScale, localisation files for Japanese and refactored parameter
checks.
This release also fixes a minor security flaw in the DisplayChart class,
detected and reported by OSI Security:
http://www.osisecurity.com.au/advisories/jfreechart-path-disclosure
Patches:
3500621 : LegendTitle order attribute (by Simon Kaczor);
3463807 : ChartComposite does not dispose popup (by Sebastiao Correia);
3204823 : PaintAlpha for 3D effects (by Dave Law);
Bug Fixes:
3561093 : Rendering anomaly for XYPlots;
3555275 : ValueAxis.reserveSpace() problem for axes with fixed dimension;
3521736 : DeviationRenderer optimisation (by Milan Ramaiya);
3514487 : SWTGraphics2D get/setStroke() problem;
3508799 : DefaultPolarItemRenderer does not populate seriesKey in LegendItem;
3482106 : Missing text in SWTGraphics2D (by Kevin Xu);
3484408 : Maven fixes (Martin Hoeller);
3484403 : DateAxis endless loop (by Martin Hoeller);
3446965 : TimeSeries calculates range incorrectly in addOrUpdate();
3445507 : TimeSeriesCollection.findRangeBounds() regression;
3425881 : XYDifferenceRenderer fix (by Patrick Schlott/Christoph Schroeder);
2963199 : SWT print job (by Jonas Rüttimann);
2879650 : Path disclosure vulnerability in DisplayChart servlet;
Also fixed a rendering issue for polar charts using an inverted axis.
JFreeChart 1.0.14
-----------------
20 November 2011
This release contains support for multiple and logarithmic axes with PolarPlot,
optional drop-shadows in plot rendering, fitting polynomial functions to a data
series, some performance improvements in the TimeSeriesCollection class, mouse
wheel rotation of pie charts, improved Maven support and numerous bug fixes.
Patches:
3435734 : Fix lines overlapping item labels (by Martin Hoeller);
3421088 : Bugfix for misalignment in BoxAndWhiskerRenderer;
2952086 : Enhancement for finding bounds in XYZDatasets;
2954302 : CategoryPointerAnnotation line calculation;
2902842 : HistogramDataset.addSeries() fires change change event (by
Thomas A Caswell);
2868608 : Whisker width attribute for BoxAndWhiskerRenderer (by Peter Becker);
2868585 : Added useOutlinePaint flag for BoxAndWhiskerRenderer (by
Peter Becker);
2850344 : PolarPlot enhancements (by Martin Hoeller);
2795746 : Support for polynomial regression;
2791407 : Fixes for findRangeBounds() in various renderers.
Bug Fixes:
3440237 : Shadows always visible;
3432721 : PolarPlot doesn't work with logarithmic axis;
3433405 : LineChart3D - Problem with Item Labels;
3429707 : LogAxis endless loop;
3428870 : Missing argument check in TextAnnotation;
3418287 : RelativeDateFormatTest.java is locale dependent;
3353913 : Localisation fixes for ChartPanel, CompassPlot and PiePlot3D;
3237879 : RingPlot should respect getSectionOutlineVisible();
3190615 : Added missing clear() method in CategoryTableXYDataset;
3165708 : PolarChartPanel localisation fix;
3072674 : Bad handling of NaN in DefaultStatisticalCategoryDataset;
3035289 : StackedXYBarRenderer should respect series/item visible flags;
3026341 : Check for null in getDomain/RangeBounds() for XYShapeRenderer;
2947660 : AbstractCategoryRenderer fix null check in getLegendItems();
2946521 : StandardDialScale check majorTickIncrement argument;
2876406 : TimeTableXYDataset should support Comparable for series keys;
2868557 : BoxAndWhiskerRenderer should fire change event in setMedianVisible();
2849731 : For IntervalCategoryDataset and IntervalXYDataset, fix
iterateRangeBounds() in DatasetUtilities;
2840132 : AbstractXYItemRenderer drawAnnotations doesn't set renderer index;
2810220 : Offset problem in StatisticalBarRenderer;
2802014 : Dial value border too small;
2781844 : XYPointerAnnotation arrow drawing;
1937486 : AreaRenderer doesn't respect AreaRendererEndType.LEVEL;
Also fixed:
- use of simple label offset in PiePlot;
- cached minY and maxY in TimeSeries.createCopy();
- scaling issues for charts copied to the clipboard;
- use of timezone in TimeTableXYDataset constructor;
- duplicate series names in XYSeriesCollection;
- HistogramDataset fires a change event in addSeries();
- check visibility of main chart title before drawing it;
- fixed serialization of PowerFunction2D, NormalDistributionFunction2D,
and LineFunction2D;
- item label positioning for the AreaRenderer class when the plot has an
horizontal orientation.
JFreeChart 1.0.13
-----------------
20 April 2009
******************************************************************************
* SPECIAL NOTICE: There will be a birds-of-a-feather session for JFreeChart *
* at this year's JavaOne conference in San Francisco. The session is *
* scheduled for 6.45pm to 7.35pm on Wednesday 3 June. *
******************************************************************************
This release contains:
- updates to the ChartPanel class to support copying charts to the clipboard,
panning and mouse-wheel zooming, and an overlay mechanism that supports
crosshairs;
- enhancements to the auto-range calculation for axes, providing the ability
to use subranges only and also to skip hidden series;
- updates for many of the CategoryItemRenderer implementations to ensure that
they respect the 'seriesVisible' flags;
- an improvement to the TimeSeries class so that it is no longer necessary to
specify the time period type in the constructor;
- a new SamplingXYLineRenderer for improving the performance of time series
charts with large datasets;
- the XYSeries/XYSeriesCollection classes now cache the minimum and maximum
data values to improve the performance of charts with large datasets;
- entities are now created for the chart, data area and axes, allowing mouse
clicks to be detected for these regions;
- added a bar alignment factor to the XYBarRenderer class;
- a new 'errorIndicatorStroke' field for the StatisticalLineAndShapeRenderer
and XYErrorRenderer classes;
- added a new HeatMapDataset interface, DefaultHeatMapDataset implementation,
and a HeatMapUtilities class to make it easier to create heat map charts;
- there is a new flag to allow an XYDataImageAnnotation to be included in the
automatic range calculation for the axes;
- additional attributes in the XYTextAnnotation class;
- added a sampleFunction2DToSeries() method to the DatasetUtilities class;
- some changes to the ChartPanel class that help to work around a regression in
JRE 1.6.0_10 relating to drawing in XOR mode. Regarding this final point:
* the default value for the useBuffer flag has changed to true, which means
that all charts will, by default, be rendered into an off-screen image
before being displayed in the ChartPanel;
* the zoom rectangle is drawn using XOR mode *only* when the useBuffer
flag has been set to false.
For most usage, this should improve performance (but at the cost of using more
memory for each ChartPanel used in your application);
Bug Fixes:
2690293 : Problem with Javascript escape characters;
2617557 : StandardDialScale ignored tickLabelPaint;
2612649 : Stroke selection in plot property editor;
2583891 : SWTGraphics2D.fillPolygon() not implemented;
2564636 : Month constructor ignores Locale;
2502355 : ChartPanel sending multiple events;
2490803 : PeriodAxis.setRange() method doesn't take into account that the axis
displays whole periods;
In addition, a bug in the SlidingCategoryDataset class has been fixed, the
correct outline paint is now used by GradientXYBarPainter, a new method
has been added to the ImageMapUtilities class to escape special characters
in Javascript strings to avoid problems with the OverLIB and DynamicDrive
tooltips, and there are some important fixes in the LogAxis class.
This release passes 2110 JUnit tests (0 failures) on JRE 1.6.0_12.
JFreeChart 1.0.12
-----------------
31 December 2008
This release adds support for minor tick marks, mapping datasets to more than
one axis, an important fix for the XYSeries class (relating to the
addOrUpdate() method) plus numerous other bug fixes.
This release passes 1996 JUnit test (0 failures) on JRE 1.6.0_10.
API Adjustments:
- CategoryPlot : added mapDatasetToDomainAxes() and mapDatasetToRangeAxes()
methods;
- Month : added a new constructor Month(Date, TimeZone, Locale) and deprecated
Month(Date, TimeZone);
- Quarter : added a new constructor Quarter(Date, TimeZone, Locale) and
deprecated Quarter(Date, TimeZone);
- XYPlot : added mapDatasetToDomainAxes() and mapDatasetToRangeAxes() methods;
- Year : added a new constructor Year(Date, TimeZone, Locale) and deprecated
Year(Date, TimeZone);
Bug Fixes:
2471906 : XYAreaRenderer with dashed outline - performance problem;
2452078 : StackedAreaChart has gaps;
2275695 : NullPointerException for SubCategoryAxis on plot with null dataset;
2221495 : XYLineAnnotation with dashed stroke;
2216511 : SWTBarChartDemo1 throws RuntimeException;
2201869 : DateAxis tick label position error;
2121818 : Label link lines for very thin RingPlot;
2113627 : XYStepRenderer item labels;
1955483 : XYSeries.addOrUpdate() problem.
Also fixed StackedXYBarRenderer which was ignoring the shadowsVisible attribute.
JFreeChart 1.0.11
-----------------
19 September 2008
This release features a new chart theming mechanism to allow charts to be
restyled conveniently, a new BarPainter mechanism to enhance the appearance of
bar charts, a new XYShapeRenderer class, a scaling facility for the
XYDrawableAnnotation for drawing images within specific data coordinates, some
new classes (XYTaskDataset, XYDataImageAnnotation and XYTitleAnnotation), a
modification to the Year class to support an extended range, and various bug
fixes and API improvements. There is an important bug fix for the
StackedBarRenderer3D class (see bug 2031407).
This release passes 1,961 JUnit tests (0 failures) on JRE 1.6.0_07.
API Adjustments:
- AbstractRenderer - added clearSeriesPaints() and clearSeriesStrokes()
methods;
- BarRenderer - added shadowPaint attribute;
- CategoryAxis - added getCategoryMiddle() method;
- CategoryPlot - added getRendererCount() method;
- ChartFactory - added get/setChartTheme() methods;
- ChartPanel - increased default maximum drawing width and height;
- ChartTheme - new interface;
- ChartUtilities - added applyCurrentTheme() method;
- CompositeTitle - added backgroundPaint attribute;
- GradientBarPainter - new class;
- LegendTitle - added getWrapper() method;
- OHLCSeriesCollection - added xPosition attribute;
- PaintScaleLegend - new subdivisions field;
- PiePlot - added autoPopulate flags, and methods to clear section attributes;
- Plot - added setDrawingSupplier() method;
- RegularTimePeriod - the DEFAULT_TIME_ZONE field has been deprecated in this
release;
- RelativeDateFormat - added methods to control formatting of hours and
minutes - see patch 2033092;
- StandardChartTheme - new class;
- XYItemRendererState - new methods;
- XYPlot - added getRendererCount() method;
- XYShapeRenderer - new class;
- XYTaskDataset - new class.
Patches:
1997549 : Status calls to XYItemRendererState [Ulrich Voigt];
2006826 : CompositeTitle drawing fix;
2033092 : Additional formatters for RelativeDateFormat [Cole Markham];
Bug Fixes:
1994355 : ChartComposite listener type;
2031407 : Incorrect rendering in StackedBarRenderer3D;
2033721 : WaferMapRenderer;
2051168 : No key in LegendItemEntity for pie charts;
Also fixed drawing of alternate grid bands in SymbolAxis, the totalWeight
calculation in the CombinedXXXPlot classes, a NullPointerException in the
XYPlot class when drawing quadrants, outline visibility in the
CategoryPlot class, and auto-range calculations with XYBarRenderer.
JFreeChart 1.0.10
-----------------
9 June 2008
This release contains various bug fixes and minor enhancements to JFreeChart.
PiePlot labelling has been enhanced (new curve options, and more robust bounds
checking). The BoxAndWhiskerRenderer now has a maximumBarWidth attribute, the
XYStepRenderer has a new stepPoint attribute. The RelativeDateFormat class
has new options. There are new dataset classes (SlidingCategoryDataset and
SlidingGanttDataset) that permit a subset of categories to be plotted, and
allow charts based on these datasets to simulate scrolling. There is a new
ShortTextTitle class.
This release passes 1,929 JUnit tests (0 failures) on JRE 1.6.0_03.
API Adjustments:
- BoxAndWhiskerRenderer - added maximumBarWidth attribute (see patch 1866446);
- ChartPanel - the zoomPoint attribute has been changed from Point to Point2D;
- DatasetUtilities - iterateCategoryRangeBounds() is deprecated, the method
has been renamed iterateRangeBounds(CategoryDataset) for consistency;
- DefaultKeyedValue - the constructor now prevents a null key;
- LogFormat - now has a 'powerLabel' attribute;
- ShortTextTitle - a new title class;
- SlidingCategoryDataset - new class;
- SlidingGanttDataset - new class;
- TimeSeriesCollection - getSeries(String) changed to getSeries(Comparable);
- XIntervalSeriesCollection - added series removal methods;
- YIntervalSeriesCollection - added series removal methods;
- XYIntervalSeriesCollection - added series removal methods;
PublicCloneable is now implemented by a number of classes that didn't
previously implement the interface - this should improve the reliability of
chart cloning.
Patches:
1943021 : Fix for MultiplePiePlot [Brian Cabana];
1925366 : Speed improvement for DatasetUtilities [Rafal Skalny];
1918209 : LogAxis createTickLabel() changed from private to
protected [Andrew Mickish];
1914411 : Simplification of plot event notification [Richard West];
1913751 : XYPlot and CategoryPlot addMarker() methods with
optional notification [Richard West];
1902418 : Bug fix for LogAxis vertical labels [Andrew Mickish];
1901599 : Fixes for XYTitleAnnotation [Andrew Mickish];
1891849 : New curve option for pie chart label links [Martin Hilpert];
1874890 : Added step point to XYStepRenderer [Ulrich Voigt];
1873328 : Enhancements to RelativeDateFormat [Michael Siemer];
1871902 : PolarPlot now has angleTickUnit attribute [Martin Hoeller];
1868745 : Fix label anchor points on LogAxis [Andrew Mickish];
1866446 : Added maximumBarWidth to BoxAndWhiskerRenderer [Rob Van der Sanden];
Bug Fixes:
1932146 - PeriodAxis.setRange() doesn't notify listeners;
1927239 - Fix calculation of cumulative range;
1926517 - Bugs in data range calculation for combined plots;
1920854 - PiePlot3D labels drawn multiple times;
1897580 - Fix for DefaultIntervalCategoryDataset;
1892419 - Wrong default for minor tick count in LogAxis;
1880114 - VectorRenderer doesn't work for horizontal plot orientation;
1873160 - DialPlot clipping issues;
1868521 - Problem saving charts to JPEG format;
1864222 - Error on TimeSeries createCopy() method;
The DatasetUtilities.sampleFunction2D() has been changed to sample the correct
number of points - you should check any code that calls this method. The
XYBlockRenderer class now generates entities. Bugs in the removeDomainMarker()
and removeRangeMarker() methods in the CategoryPlot and XYPlot classes have
been fixed. A bug in the TimePeriodValues range calculation has been fixed.
Fixes were applied to the clone() methods in the TaskSeries and
TaskSeriesCollection classes.
New Experimental Features:
Two new classes CombinedCategoryPlot and CombinedXYPlot have been added to the
'experimental' source tree - these were contributed by Richard West (see
patch 1924543).
JFreeChart 1.0.9
----------------
4 January 2008
This release contains an important security patch as well as various bug fixes
and minor enhancements. Regarding the security patch, please see the
following advisory:
http://www.rapid7.com/advisories/R7-0031.jsp
Note that the fix incorporated in the special JFreeChart 1.0.8a release was
flawed in that it broke the URLs in the HTML image maps generated by
JFreeChart. Further amendments have been made in this release to fix this
problem.
API Adjustments:
A number of classes have new methods. Nothing has been removed or deprecated:
- HashUtilities - added hashCode() methods for BooleanList, PaintList and
StrokeList;
- ImageMapUtilities - added htmlEscape(String);
- IntervalMarker - added new constructor;
- Range - added intersects(Range) and scale(Range, double);
- TextTitle - added protected methods arrangeNN(), arrangeFN() and arrangeRN();
- XYDataItem - added getXValue() and getYValue() methods;
- XYPlot - added setFixedDomainAxisSpace(AxisSpace, boolean) and
setFixedRangeAxisSpace(AxisSpace, boolean);
- XYSeriesCollection - added getSeries(Comparable) method.
Bug Fixes:
1852525 - CandlestickChart.getCategoryPlot() - ClassCastException;
1851416 - testGetFirstMillisecondWithTimeZone fails in 1.0.8a;
1849333 - 1.0.8a breaks URLs in HTML image maps;
1848961 - GroupedStackedBarRenderer works only for primary dataset;
1846063 - Endless loop in paint of XYPlot;
1840139 - Cross-site scripting vulnerabilities in image map code;
1837979 - Background image not shown with SWT;
1460195 - ChartEntity.getImageMapAreaTag() needs nohref;
1400917 - OverLIBToolTipTagFragmentGenerator not escaping single quote;
1363043 - Escape Image Map Data;
1178601 - AbstractRenderer.hashcode() method returns the same value;
In addition, a bug in the constructor for the Week class has been fixed.
JFreeChart 1.0.8
----------------
23 November 2007
This release is primarily a bug fix release, correcting a problem with pie
chart labelling, a regression in the DefaultCategoryDataset class (and
underlying KeyedValues2D class), and a cloning bug in the TimeSeries class.
In addition, the StatisticalBarRenderer class has a new 'errorIndicatorStroke'
field and has been updated to support gradients, the StandardDialScale has had
some missing accessor methods implemented, and an override field in the
StandardXYItemRenderer class has been deprecated. Plus some warnings reported
by FindBugs 1.3.0 have been addressed.
JFreeChart 1.0.7
----------------
14 November 2007
This release features new classes DialPlot and LogAxis (previously in
experimental), initial support for minor tick units, a new anchored zooming
option for the ChartPanel class, optional simple labelling on pie charts,
improvements to the "statistical" datasets and underlying data structures, and
numerous bug fixes.
API Adjustments:
- CategoryAxis - added getCategorySeriesMiddle() method;
- CategoryPlot - added methods to remove markers;
- ChartPanel - added defaultDirectorForSaveAs attribute;
- DialPlot - new class, an alternative to MeterPlot;
- LogAxis - new class, an alternative to LogarithmicAxis;
- NumberTick - new constructor that allows specification of the tick type;
- NumberTickUnit - new constructor to specify the minor tick count;
- SymbolAxis - new methods get/setGridBandAlternatePaint();
- TickType - new class;
- TickUnit - added minorTickCount attribute;
- ValueTick - added tickType attribute;
- StandardPieSectionLabelGenerator - new constructors accepting a Locale;
- StandardPieToolTipGenerator - likewise;
- CategoryPlot - added getRangeAxisIndex(), zoomDomainAxes() and zoomRangeAxes()
methods;
- FastScatterPlot - added new zooming methods;
- PiePlot - new attributes to support simple labelling;
- PlotUtilities - new class;
- PolarPlot - added new zooming methods;
- ThermometerPlot - likewise;
- XYPlot - added methods to remove markers (patch 1823697--same as for
CategoryPlot), and added new zooming methods;
- Zoomable - added new zooming methods to this interface;
- LineAndShapeRenderer - added useSeriesOffset and itemMargin attributes;
- MinMaxCategoryRenderer - implemented equals();
- XYSplineAndShapeRenderer - new class;
- LogFormat - new class;
- ChartFactory - new pie and ring chart creation methods that accept a Locale;
- ChartPanel - added zoomAroundAnchor attribute;
- Series - added isEmpty() method;
- BoxAndWhiskerItem - new convenience constructor;
- DefaultBoxAndWhiskerCategoryDataset - new remove methods;
- DefaultStatisticalCategoryDataset - likewise;
- MeanAndStandardDeviation - added new value accessor methods;
- TimeTableXYDataset - added clear() method;
- Week - added new constructor;
- KeyedObjects - added insertValue() and clear() methods;
- KeyedObjects2D - added clear() method.
Patches:
1823724 - updated XYDifferenceRenderer to support item labels;
1827829 - fixed possible NullPointerException in XYBarRenderer;
Bug Fixes:
1767315 - GrayPaintScale.getPaint() uses wrong value;
1775452 - Inverted XYBarRenderer does not render margins correctly;
1802195 - Marker.listenerList serializable;
1779941 - StatisticalBarRenderer NPE;
1766646 - XYBlockRenderer can't handle empty datasets;
1763413 - PeriodAxis labels fail to display with setInverted
1737953 - Zoom doesn't work on LogAxis(Demo1)
1749124 - JFreeChart not added as TitleChangeListener
JFreeChart 1.0.6
----------------
15 June 2007
This release features a new VectorRenderer (previously in experimental), a
generalised XYDifferenceRenderer, better support for hotspots on legend items,
improved performance for time series charts displaying subsets of data, support
for GradientPaint in plot backgrounds, plus the usual slew of bug fixes and
minor feature additions.
API Adjustments:
- CategoryItemEntity - replaced row and column index attributes with row and
column key attributes;
- CategoryItemRenderer - numerous series override settings have been deprecated;
- DefaultPieDataset - added insertValues() method;
- HexNumberFormat - new class;
- LegendItem - added dataset and seriesKey attributes;
- Plot - added new fillBackground() method to support GradientPaint, and
added is/setOutlineVisible() methods;
- QuarterDateFormat - added GREEK_QUARTERS field plus a new constructor;
- SimpleHistogramDataset - added clearObservations() and removeAllBins()
methods;
- TimeSeriesCollection - added indexOf() method;
- URLUtilities - new class;
- XYItemRenderer - numerous series override settings have been deprecated;
- XYSeriesCollection - added indexOf() method.
Bug Fixes:
1735508 - ClusteredXYBarRenderer fails with inverted x-axis;
1726404 - ChartComposite tooltips;
1713474 - StackedBarRenderer3D doesn't fill shadows;
1713401 - StackedBarRenderer3D doesn't check drawBarOutline flag;
1701822 - DefaultBoxAndWhiskerCategoryDataset doesn't follow contracts;
1698965 - NPE in CombinedDomainXYPlot;
1690994 - HideSeriesDemo1 does not work;
1690654 - Bug in removeValue() of DefaultKeyedValues2D;
1562701 - LegendItemEntity needs dataset index;
1486299 - Use URLEncoder.encode() for URL generators;
Plus the following bugs that didn't have entries in the database:
- BarRenderer - check for series visibility in getLegendItem();
- ChartPanel - use correct insets for painting chart buffer to screen, update
UI for popup menu if LookAndFeel changes;
- DateAxis - fixed boundary cases for previousStandardDate() method;
- LineBorder - only draw border if area has positive dimensions;
- JFreeChart - should register as a listener with the default legend;
- StandardXYItemRenderer - fixed a problem where chart entities are created for
non-visible items;
- TimePeriodValuesCollection.getDomainBounds() now computes the bounds
correctly;
- XYLineAndShapeRenderer - fixed a problem where chart entities are created for
non-visible items;
- XYLine3DRenderer - equals() implemented, and serialization fixed;
- XYTitleAnnotation - fixed equals() method;
- various resource usage bugs in the experimental ChartComposite class;
JFreeChart 1.0.5
----------------
23 March 2007
This release features a new DeviationRenderer class, support for item labels
in StackedXYBarRenderer, tooltips and URLs in the CategoryStepRenderer, and
many bug fixes.
API Adjustments:
- AbstractCategoryItemRenderer - added createState() method;
- StackedXYBarRenderer - added get/setRenderAsPercentages() methods;
- XYIntervalSeries - added getXLowValue(), getXHighValue(), getYLowValue() and
getYHighValue();
- YIntervalSeries - added getYLowValue() and getYHighValue() methods;
Bug Fixes:
1681777 - DefaultCategoryDataset does not clone data;
1672552 - Zoom rectangle is lost when the chart is repainted;
1671645 - Crosshair incorrectly positioned in horizontal orientation;
1669302 - Tick labels in vertical symbol axis;
1669218 - CategoryPlot.setDomainAxisLocation() ignores parameter;
1667750 - Clip region not restored in Spider and MeterPlot;
1663380 - OutputStream not closed;
1659627 - IntervalMarker with Double.POSITIVE_INFINITY bound;
1647269 - IntervalMarker with Double.MAX_VALUE as upper bound;
1594477 - XYBarRenderer does not render bars on LogarithmicAxis;
1459958 - Log axis zoom function problem;
880597 - Zooming ChartPanel with log axes;
764561 - Dynamic chart zoom buggy.
Also fixed numerous bugs in equals(), cloning and serialization
implementations.
JFreeChart 1.0.4
----------------
9 February 2007
This release features a new XYBlockRenderer class, URLs for pie chart labels
in HTML image maps, a new dataset implementation for open-high-low-close
charts, support for gradient paint in ClusteredXYBarRenderer,
StackedXYBarRenderer and legend graphics, a new anchor attribute for
XYImageAnnotation, improvements to the experimental SWT support, plus a
number of additions to the API for usability, and many bug fixes.
API Adjustments:
- DateAxis - added get/setTimeZone() methods;
- DefaultXYDataset - now implements PublicCloneable;
- StackedXYAreaRenderer2 - added get/setRoundXValues() methods;
- StandardXYItemLabelGenerator - added new constructor;
- StandardXYToolTipGenerator - added new constructor;
- XYBarDataset - added getUnderlyingDataset() and get/setBarWidth() methods;
- XYDifferenceRenderer - added roundXCoordinates attribute;
- XYImageAnnotation - added an image anchor attribute, a new constructor, and
several accessor methods;
- XYSeries - added toArray() method;
Bug Fixes:
1654215 - XYPlot renderer with no corresponding dataset;
1652640 - RangeMarkers do not update properly;
1649686 - Crosshairs for StackedXYAreaRenderer;
1647749 - IllegalArgumentException in SWTAxisEditor;
1644877 - Replacing series data in DefaultXYDataset;
1644010 - DateAxis.nextStandardDate() ignores timezone;
1638678 - DateAxis code uses the default calendar;
1629382 - Tests fail for jfreechart-1.0.3;
1624067 - StandardXYToolTipGenerator missing constructor;
1616583 - Serialize ChartDeleter;
1612770 - Popup menu in wrong position for SWT ChartComposite;
1611872 - Minute.previous() returns null for minute == 0;
1608371 - Tick labels overlap with custom NumberFormat;
1606205 - Draw shared axis last on combined plots;
1605207 - IntervalMarker exceeds bounds of data area;
1605202 - SpiderWebPlot method access;
1599652 - Inverted StackedBar3D problem;
1598394 - XYBarDataset hiding its proxied object;
1564967 - Crosshairs on XYDifferenceRenderer;
1245305 - NullPointerException in writeImageMap();
1086307 - Crosshairs on plots with multiple axes.
Also fixed numerous bugs in equals() and clone() methods throughout the API.
JFreeChart 1.0.3:
-----------------
17 November 2006
This release features several new IntervalXYDataset implementations, some
significant refactoring of the time period classes (to improve performance
and correctness), modifications to the PiePlot class to support reordering of
dataset items, a new event mechanism to allow updating of markers, plus many
other enhancements, bug fixes and documentation updates.
A new DialPlot implementation has been added to the 'experimental' sources.
We are looking for people to test this code and provide feedback, so that we
can stabilize the API and add this code to the main JFreeChart API.
API adjustments:
The following adjustments have been made to the API:
- CategoryLabelEntity - new class;
- CategoryPointerAnnotation - new class;
- ChartPanel: added new public method doEditChartProperties();
- ComparableObjectItem, ComparableObjectSeries - new classes;
- CrosshairState: added several new accessor methods;
- DefaultPieDataset: added sortByKeys() and sortByValues() methods;
- Markers: a change event mechanism has been added to the Marker class and
its subclasses;
- StackedAreaRenderer: added get/setRenderAsPercentages() methods;
- XIntervalDataItem, XIntervalSeries and XIntervalSeriesCollection - new
classes;
- XYErrorRenderer: new class;
- XYInterval, XYIntervalDataItem, XYIntervalSeries and
XYIntervalSeriesCollection - new classes;
- YInterval, YIntervalDataItem, YIntervalSeries, YIntervalSeriesCollection and
YWithXInterval - new classes.
Bug Fixes:
1578293 - Unused methods in JDBCXYDataset;
1572478 - BoxAndWhiskerRenderer potential NullPointerException;
1569094 - XYStepRenderer with horizontal orientation;
1565168 - Crosshair position incorrect;
1564977 - DateAxis missing initial tick label;
1562759 - StatisticalLineAndShapeRenderer constructor ignores arguments;
1557141 - Bad locale in ServletUtilities;
1550045 - TimeSeries.removeAgedItems() method problems;
1549218 - Chart not displaying when all data values are the same and large;
1450447 - Marker.setAlpha() ignored;
Also fixed URL generation for legend items, tick mark positioning on the
DateAxis, the equals() method in the AreaRenderer class, hardcoded outline
attributes in the XYBubbleRenderer, and potential NullPointerExceptions in the
ChartPanel class.
JFreeChart 1.0.2:
-----------------
Released on 25 August 2006.
API adjustments:
The following adjustments have been made to the API (there should be no
breakage of applications coded to the 1.0.0 or 1.0.1 API):
- CategoryToPieDataset: added accessor methods for underlying dataset, extract
type and index (feature request 1477915);
- DefaultXYDataset: New dataset implementation that uses double[] arrays;
- DefaultXYZDataset: New dataset implementation that uses double[] arrays;
- LegendItemBlockContainer: New container used in legends (enables
legend item entities again);
- MultiplePiePlot: Added new fields aggregatedItemsKey and
aggregatedItemsPaint, plus accessor methods - see bug 1190647;
- SpiderWebPlot: Added new fields toolTipGenerator and urlGenerator, plus
accessor methods (see patch 1463455);
- StackedBarRenderer3D: Added new flag (renderAsPercentages), plus accessor
methods, that controls whether the data items are displayed as values or
percentages. Two new constructors are also added (see patch 1459313);
- XYPolygonAnnotation: Added new accessor methods.
Patches:
1459313 - Add renderAsPercentages option to StackedBarRenderer3D;
1462727 - Modify SpiderWebPlot to support zero values;
1463455 - Modify SpiderWebPlot to support mouse clicks, tool tips and URLs;
Bug Fixes:
1514904 - Background image alpha in Plot class;
1499140 - ClusteredXYBarRenderer with margin not drawing correctly;
1494936 - LineAndShapeRenderer generates entity for non-visible item;
1493199 - NPE drawing SpiderWebPlot with null info;
1480978 - AbstractPieItemLabelGenerator.clone() doesn't clone percentFormat;
1472942 - DateAxis.equals() broken;
1468794 - StatisticalLineAndShapeRenderer doesn't draw error bars correctly
when the plot has a horizontal orientation;
- AbstractCategoryItemRenderer doesn't check seriesVisibleInLegend
flag before creating new item;
1440415 - Bad distribution of pie chart section labels;
1440346 - Bad manifest entry for JCommon in JFreeChart jar file;
1435461 - NumberAxis.equals() ignores rangeType field;
1435160 - XYPointerAnnotation.equals() ignores x and y fields;
1398672 - LegendItemEntities not working;
1380480 - StandardXYItemRenderer problems with Double.NaN;
1190647 - Legend and section color mismatch for MultiplePiePlot.
Miscellaneous Changes:
- Updated CandlestickRenderer, CyclicXYItemRenderer, HighLowRenderer,
XYStepAreaRenderer and TimeSeriesURLGenerator to call dataset methods that
return double primitive only;
- Updated XYPolygonAnnotation, adding new accessor methods and fixing problems
in the equals()/hashCode() methods;
- ChartFactory.createStackedXYAreaChart() now uses StackedXYAreaRenderer2, for
better handling of negative values;
- Added crosshair support for XYBarRenderer.
Experimental Code:
In this release, some new (incomplete) classes have been included in the
org.jfree.experimental.* namespace. These classes are not part of the
standard API, but are included for developers to experiment with and provide
feedback on. Hopefully in the future, refined versions of these classes will
be incorporated into the main library. PLEASE NOTE THAT THE API FOR THESE
CLASSES IS SUBJECT TO CHANGE.
JFreeChart 1.0.1:
----------------
Released 27 January 2006. This is primarily a bug fix release. In addition,
there are some API adjustments (there should be no breakage of applications
coded to the 1.0.0 API).
API adjustments:
- BarRenderer: added a new flag (includeBaseInRange), plus accessor
methods, that controls whether or not the base value for the bar is
included in the range calculated by the findRangeBounds() method;
- BubbleXYItemLabelGenerator: new class;
- Range: added a new method expandToInclude(Range, double), this is used by
the BarRenderer class;
- TaskSeriesCollection: added two new methods, getSeries(int) and
getSeries(Comparable).
- TimeSeriesCollection: the domainIsPointsInTime flag has been deprecated.
The flag serves no function now that renderers are used to calculate the
domain bounds, so you can safely delete any calls to the
setDomainIsPointsInTime() method;
- XYPlot: added a new getAnnotations() method;
- XYSeries: the update(int, Number) method has been deprecated and a new method
updateByIndex(int, Number) has been added;
Bug fixes:
1243050 - XYBarRenderer doesn't show entire range of values for a
TimeSeriesCollection;
1373371 - XYBubbleRenderer doesn't support item labels;
1374222 - BarRenderer contains JDK 1.4 specific code;
1374328 - LegendItem serialization problem;
1377239 - Bad argument checking in Quarter constructor;
1379331 - Incorrect drawing of TextTitle at LEFT or RIGHT position;
1386328 - RingPlot entity incorrect;
1400442 - Inconsistent treatment of null and zero values in PiePlot;
1401856 - Bad rendering for non-zero base values in BarRenderer;
1403043 - NullPointerException in CategoryAxis;
1408904 - NumberAxis3D assumes CategoryPlot;
1415480 - XYTextAnnotation equals() method doesn't check (x, y);
JFreeChart 1.0.0:
----------------
Released on 2 December 2005.
+817
View File
@@ -0,0 +1,817 @@
********************************
* JFREECHART: Version 1.0.17 *
********************************
24 November 2013
(C)opyright 2000-2013, by Object Refinery Limited and Contributors.
-----------------
1. INTRODUCTION
-----------------
JFreeChart is a free chart library for the Java(tm) platform. It runs
on the Java 2 Platform (JRE 1.6.0 or later) and uses the Java 2D API for
drawing.
JFreeChart is licensed under the terms of the GNU Lesser General
Public Licence (LGPL). A copy of the licence is included in the
distribution.
Please note that JFreeChart is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. Please refer to the licence for details.
We are grateful to the many developers that have contributed to JFreeChart.
The contributors are listed below in section 10.
-------------------
2. LATEST VERSION
-------------------
The latest version of this class library can be obtained from:
http://www.jfree.org/jfreechart/
If you have any comments, suggestions or bugs to report, please post a
message in the JFreeChart forum.
-----------------
3. DOCUMENTATION
-----------------
You can download installation instructions
(jfreechart-1.0.17-install.pdf) from the JFreeChart home
page or the project page on SourceForge.
Further documentation for JFreeChart (the JFreeChart Developer Guide) is
available to purchase from by Object Refinery Limited, a company owned and
operated by David Gilbert (the original author of JFreeChart). For more
information, please see:
http://www.object-refinery.com/jfreechart/guide.html
Sales of the JFreeChart Developer Guide are an important source of funding for
the project. Please help us to continue developing free software.
API documentation files in HTML format are available on-line. If you wish
to keep a local copy of the API files, you can regenerate them directly
from the source code. You can do this using the 'javadoc' utility directly,
or with the Ant script (build.xml) included in the distribution.
-----------------
4. DEPENDENCIES
-----------------
JFreeChart has the following dependencies:
(a) JRE/JDK 1.6.0 or higher - note that the previous release of JFreeChart
worked with JRE/JDK 1.4.2 or later. With a bit of hacking, it may be possible
to get JFreeChart working on these older versions, but we are no longer
supporting it.
(b) JCommon - version 1.0.0 or later. The runtime jar file (version 1.0.21)
is included in the JFreeChart distribution. You can obtain the complete
source code for JCommon from:
http://www.jfree.org/jcommon/
JCommon is licensed under the terms of the GNU Lesser General Public Licence.
(c) servlet.jar - classes in the org.jfree.chart.servlet
package require this file. The JFreeChart distribution includes the
servlet.jar file distributed with Tomcat 4.1.31. Applicable license
terms are published at:
http://java.sun.com/products/servlet/LICENSE
(d) JUnit - a unit testing framework (the junit.jar runtime file is
included in the distribution). JUnit is licensed under the terms
of the IBM Common Public License. You can find out more about JUnit
and/or download the latest version from:
http://www.junit.org
The JUnit tests included with JFreeChart have been created using JUnit
4.3.1.
-----------
5. SUPPORT
-----------
Support questions can be posted in the free support forum at
http://www.jfree.org/forum/viewforum.php?f=3
We read all questions posted in the forum, and respond to as many as we can
in the time available. Unfortunately, there are too many questions to answer
them all.
--------------------
6. ANT BUILD SCRIPT
--------------------
An Ant build script (build.xml) is included in the distribution. This
is the same script that is used to create the JFreeChart distribution.
For more information about Ant:
http://ant.apache.org/
If you want to rebuild the JFreeChart jar file, we highly recommend that you
use this script as it includes certain files (for example, .properties files)
that you MUST have in the jar file for JFreeChart to function correctly.
------------------------
7. THE DEMO APPLICATION
------------------------
A demo application that shows a selection of the charts that can be
generated is included in the JFreeChart distribution. To run the
demo (using JDK 1.6.0 or later), use the following command:
java -jar jfreechart-1.0.17-demo.jar
The complete source code for the demo application is available for
download when you purchase the JFreeChart Developer Guide.
The demo application also links to the JFreeSVG and OrsonPDF libraries, to
provide export facilities to the SVG and PDF formats. These fast, lightweight
libraries are not free, licenses can be purchased from Object Refinery Limited.
An additional tab added to the demo application in version 1.0.17 showcases
Orson Charts 3D, a new library by Object Refinery Limited. You can find out
more about Orson Charts at:
http://www.object-refinery.com/orsoncharts/
---------------
8. LIMITATIONS
---------------
JFreeChart has some known limitations that will hopefully be addressed in
the future:
- some renderers do not respect the series visibility flags yet;
- the chart property editors (accessible by right-clicking on the chart
panel) are horribly out of date and probably shouldn't be used;
- item labels (if displayed) are not taken into account for the
automatically calculated axis range. As a workaround, you can increase
the axis margins;
- tick labels on a DateAxis that uses a SegmentedTimeline can be
problematic;
If there are other items that you think should be listed here,
please post a bug report.
--------------
9. WHAT's NEW
--------------
A list of changes in recent versions:
1.0.17 : (22-Nov-2013)
- see the NEWS and ChangeLog files for details.
1.0.16 : (13-Sep-2013)
- bumped the required JRE to 1.6, enhanced axis labelling, provided
integration with JFreeSVG and OrsonPDF for vector output, and fixed
bugs.
1.0.15 : (4-Jul-2013)
- various minor feature enhancements and a range of bug fixes, see the
NEWS and ChangeLog files for details.
1.0.14 : (20-Nov-2011)
- added support for multiple axes in PolarPlot, performance
improvements in the TimeSeriesCollection class, mouse wheel rotation
in the PiePlot class, improved Maven support, a range of other
minor functional enhancements and numerous bug fixes - see the NEWS
and ChangeLog files for details.
1.0.13 : (17-Apr-2009)
- there are some significant new features in this release, as well
as performance enhancements and bug fixes - see the NEWS and
ChangeLog files for details.
1.0.12 : (31-Dec-2008)
- added support for minor tick marks, mapping datasets to more than
one axis, and numerous bug fixes - see the NEWS and ChangeLog files
for details.
1.0.11 : (18-Sep-2008)
- this release includes a new chart theming mechanism, and numerous
other feature enhancements and bug fixes - see the NEWS and ChangeLog
files for details.
1.0.10 : (8-Jun-2008)
- another general maintenance release - see the NEWS and ChangeLog
files for more details.
1.0.9 : (4-Jan-2008)
- this release fixes a security advisory with respect to the HTML
image maps generated by JFreeChart - see the NEWS file for more
information. In addition, a number of bugs have been fixed.
1.0.8 : (23-Nov-2007)
- primarily a bug fix release. See the NEWS and ChangeLog files for a
more detailed description of the changes in this release.
1.0.7 : (14-Nov-2007)
- See the NEWS and ChangeLog files for a more detailed description of
the changes in this release.
1.0.6 : (15-Jun-2007)
- the VectorRenderer and associated dataset classes have been promoted
to the standard API from the 'experimental' source tree. See the
NEWS and ChangeLog files for a more detailed description of the
changes in this release.
1.0.5 : (23-Mar-2007)
- this release contains a new DeviationRenderer, enhancements to a
number of existing classes and numerous bug fixes, see the NEWS
and ChangeLog files for details.
1.0.4 : (9-Feb-2007)
- this release contains both new features and bug fixes, see the NEWS
and ChangeLog files for details.
1.0.3 : (17-Nov-2006)
- this release contains a new DialPlot class (in 'experimental') that
will hopefully replace the MeterPlot class, once the API has been
polished a little, plus many other new features and bug fixes. See
the NEWS and ChangeLog files for details.
1.0.2 : (25-Aug-2006)
- this release contains both new features and bug fixes, see the NEWS
and ChangeLog files for details.
1.0.1 : (27-Jan-2006)
- primarily a bug fix release, see the NEWS and ChangeLog files for
details.
1.0.0 : (2-Dec-2005)
- the first stable release of the JFreeChart class library, all future
releases in the 1.0.x series will aim to maintain backward
compatibility with this release;
- see the ChangeLog file for a detailed list of changes.
1.0.0-rc3 : (28-Nov-2005)
- the third "release candidate" for version 1.0.0, this release
fixes some issues with the 1.0.0-rc2 release (mainly concerning
packaging of resource bundles for localisation).
- if no significant problems are reported in the next few days,
the 1.0.0 "final" release will be posted on 2-Dec-2005.
1.0.0-rc2 : (25-Nov-2005)
- the second "release candidate" for version 1.0.0. If no problems
are reported, 1.0.0 "final" will be released on 2-Dec-2005.
- see the ChangeLog file for a detailed list of changes in this
release.
1.0.0-rc1 : (2-Jun-2005)
- this is a "release candidate" for version 1.0.0. If no
significant API problems are reported, this release will be
re-released as version 1.0.0.
- see CHANGELOG.txt for further details.
1.0.0-pre2 : (10-Mar-2005)
- see CHANGELOG.txt for further details.
1.0.0-pre1 : (29-Nov-2004)
- see CHANGELOG.txt for further details.
0.9.21 : (9-Sep-2004)
- added new axes: PeriodAxis and ModuloAxis.
- split org.jfree.data and org.jfree.chart.renderer into
subpackages for 'category' and 'xy' charts.
- Sun PNG encoder is now used, if available.
- a new demo application makes it easier to preview the
chart types that JFreeChart can create.
- added a new series visibility flag to the AbstractRenderer
class.
- added support for GradientPaint in interval markers.
- see CHANGELOG.txt for further details.
0.9.20 : (7-Jun-2004)
- primarily bug fixes, see CHANGELOG.txt for further details.
0.9.19 : (28-May-2004)
- added methods to XYDataset that return double primitives;
- removed distinction between "primary" and "secondary" datasets,
renderers and axes;
- added fixed legend item options to CategoryPlot and XYPlot;
- legend changes by Barek Naveh;
- removed Log4j dependency;
- many, many bug fixes;
- see CHANGELOG.txt for further details.
0.9.18 : (15-Apr-2004)
- new legend anchor options;
- fixed broken JPEG export;
- fixed title size problems;
- various other bug fixes;
0.9.17 : (26-Mar-2004)
- pie chart enhancements for labelling, shading and multiple pie
charts (2D or 3D) on a single plot;
- new PolarPlot class added;
- XYSeries can now be sorted or unsorted;
- createBufferedImage() method can now scale charts;
- domain and range markers now support intervals;
- item labels are now supported by some XYItemRenderers;
- tooltip and item label generators now use MessageFormat class;
- added new XYBarDataset class;
- added transparency support to PNG export;
- numerous other small enhancements and bug fixes, see the
CHANGELOG.txt file for more details;
0.9.16 : (09-Jan-2004)
- this release contains bug fixes and some minor feature
enhancements (title and category label wrapping, legend shape
scaling, enhanced performance for the DefaultTableXYDataset class);
- added Spanish localisation files;
0.9.15 : (28-Nov-2003)
- the focus of this release is bug fixes - quite a number of issues
have been resolved, please check the bug database for details;
- added a new Wafer Map chart type;
- added a cyclic axis;
- added localisation files for _ru;
0.9.14 : (17-Nov-2003)
- implemented zooming for the FastScatterPlot class;
- added item label support for stacked bar charts, and new fall back
options for item labels that don't fit within bars;
- modified the CategoryAxis class to allow additional options for the
alignment and rotation of category labels;
- addition of the AxisState class, used in the drawing of axes to
eliminate a bug when multiple threads draw the same axis
simultaneously;
- provided additional attributes in the DateTickUnit class to improve
labelling on a segmented DateAxis;
- added support for GradientPaint in bar charts;
- updated the PNGEncoder;
- fixes for tick label positioning on axes;
- various Javadoc updates;
- numerous bug fixes;
0.9.13 : (26-Sep-2003)
- various enhancements to the stacked area XY charts;
- added a completion indicator for the Gantt chart;
- range and domain markers can now be placed in the foreground or the
background;
- more fixes for cloning and serialization;
- fixed mouse event bug for combined charts;
- fixed bugs in the PngEncoder class;
- incorporated .properties files that were missing from the 0.9.12
distribution;
0.9.12 : (11-Sep-2003)
- extended box-and-whisker plots to work with the CategoryPlot class
as well as the XYPlot class (based on work by David Browning);
- added a new LayeredBarRenderer (by Arnaud Lelievre);
- added support for stacked area charts with the XYPlot class (thanks
to Richard Atkinson);
- improved HTML image map support (thanks to Richard Atkinson);
- added localized resources for the chart property editors (thanks to
Arnaud Lelievre). Current translations include French and Portugese
(thanks to Eduardo Ramalho);
- added facility for setting all rendering hints;
- improved support for cloning and serialization;
- fixed a bug in the XYSeries class that prevented the TableXYDataset
from functioning correctly;
- improved date axis labelling with segmented time lines;
- fixed several bugs in the secondary dataset/axis/renderer code;
- fixed bugs in the JDBCCategoryDataset class;
- numerous other bug fixes;
0.9.11 : (8-Aug-2003)
- added support for box-and-whisker plots, thanks to David Browning;
- lots of bug fixes;
API changes in this release are minimal and have been implemented using
deprecation, so code written against 0.9.10 should recompile.
0.9.10 : (25-Jul-2003)
- added support for multiple secondary axes, datasets and
renderers;
- minor feature enhancements and bug fixes;
0.9.9 : (10-Jul-2003) PLEASE NOTE THAT MAJOR CHANGES HAVE BEEN MADE IN THIS
RELEASE AND ONE OR TWO FEATURES MAY BE BROKEN. PLEASE REPORT BUGS SO THEY CAN
BE FIXED FOR THE NEXT RELEASE.
- merged the HorizontalCategoryPlot and VerticalCategoryPlot classes,
into the CategoryPlot class;
- merged the horizontal and vertical axis classes;
- merged the horizontal and vertical renderer classes;
- CategoryPlot and XYPlot now support both horizontal and vertical
orientation via the setOrientation(...) method;
- merged horizontal and vertical methods in the ChartFactory class;
- created new combined plot classes: CombinedDomainCategoryPlot,
CombinedRangeCategoryPlot, CombinedDomainXYPlot and
CombinedRangeXYPlot (these can all be drawn with a horizontal or
vertical orientation);
- Bill Kelemen has enhanced the DateAxis class to handle segmented
timelines. This can be used, for example, to skip weekends for
daily stock price charts;
- Richard Atkinson has updated the ServletUtilities class;
- Bryan Scott has added an XYDatasetTableModel class for presenting
datasets in a JTable;
- modified XYPlot to allow renderers to use multiple passes through
the dataset;
- added new XYDifferenceRenderer;
- added support for colored bands between gridlines in XYPlot;
- added new XYDrawableAnnotation class;
- added a new attribute to control the order of dataset rendering in
a CategoryPlot;
- extended the value label mechanism for the renderers, to allow
better (per series) control over label generation, positioning and
visibility;
- CategoryItemTooltipGenerator has been renamed
CategoryItemLabelGenerator, since it is now being used to generated
item labels as well as tooltips;
- there is now support for horizontal stacked 3D bar charts;
- added support for range markers against secondary axis in a
CategoryPlot;
- added labels to domain and range markers;
- added a new HistogramDataset class (contributed by Jelai Wang) to
make it easier to create histograms with JFreeChart;
- moved the DrawingSupplier into the plot class, renderers now
reference the supplier from the plot (parent plot for combined and
overlaid charts). This means that renderers now share a single
DrawingSupplier by default, which simplifies the creation of
combined charts;
- changed the ColorBarAxis classes that extended the NumberAxis class,
to a single ColorBar class that wraps a ValueAxis (may have broken
one or two things in the process);
- Barak Naveh has contributed new classes MatrixSeries and
MatrixSeriesCollection, along with demos: BubblyBubblesDemo.java
and BubblyBubblesDemo2.java;
- the TextTitle class now has a background paint attribute;
- the StandardLegend class now generates LegendEntity objects if a
ChartRenderingInfo instance is supplied to the draw(...) method;
- extended the CategoryTextAnnotation class to take into account a
category anchor point. See the SurveyResultsDemo.java application
for an example;
- included numerous bug fixes;
0.9.8 : (24-Apr-2003)
- changed package naming from com.jrefinery.* to org.jfree.*;
- added new TimePeriodValuesCollection class;
- added MIME type code to ServletUtilities class;
- reversed the order of PieDataset and KeyedValuesDataset in
the class hierarchy;
- reversed the order of CategoryDataset and KeyedValues2DDataset
in the class hierarchy;
- minor bug fixes;
0.9.7 : (11-Apr-2003)
- added a new ValueDataset interface and DefaultValueDataset
class, and changed the CompassPlot class to use this instead
of MeterDataset;
- added DataUtilities class, to support creation of Pareto
charts (new demo included);
- updated writeImageMap method as suggested by Xavier Poinsard
(see Feature Request 688079);
- implemented Serializable for most classes (this is likely to
require further testing);
- incorporated contour plot updates from David M. O'Donnell;
- added new CategoryTextAnnotation and XYLineAnnotation
classes;
- added new HorizontalCategoryAxis3D class contributed by
Klaus Rheinwald;
Bug fixes:
- added a workaround for JVM crash (a JDK bug) in pie charts
with small sections (see bug report 620031);
- fixed minor bug in HorizontalCategoryPlot constructor (see
bug report 702248);
- added code to ensure HorizontalNumberAxis3D is not drawn if
it is not visible (see bug report 702466);
- added small fix for suppressed chart change events (see bug
report 690865);
- added pieIndex parameter to tooltip and URL generators for
pie charts;
- fixed bug in getLastMillisecond() method for the Second
class and the getFirstMillisecond() method for the Year
class (picked up in JUnit tests);
- in TextTitle, changed width used for relative spacing to fix
bug 703050;
0.9.6 : (17-Feb-2003) Bug fixes:
- fixed null pointer exception in DefaultCategoryDataset;
- fixed update problem for PaintTable, StrokeTable and
ShapeTable objects;
- added methods to control colors in PiePlot (these were
inadvertantly removed in the changes made for 0.9.5);
- fixed auto-range update problem for secondary axis;
- fixed missing category labels in the overlaid category plot;
- fixed constructors for symbolic axes;
- corrected error in Javadoc generation (Ant script);
0.9.5 : (6-Feb-2003) PLEASE NOTE THAT MAJOR CHANGES TO THE
JFREECHART API HAVE BEEN MADE IN THIS RELEASE!
- added support for secondary axes, datasets and renderers;
- added new data interfaces (Value, Values, Values2D,
KeyedValues and KeyedValues2D) and incorporated these into
the existing PieDataset and CategoryDataset interfaces.
- modified the CategoryDataset interface to be more
symmetrical, data is organised in rows and columns (as
before) but can now be accessed by row/column index or
row/column key.
- added support for reading PieDatasets and CategoryDatasets
from XML files.
- created separate packages for the axes
(com.jrefinery.chart.axis), plots (com.jrefinery.chart.plot)
and renderers (com.jrefinery.chart.renderer).
- series attributes (paint, outline paint, stroke and shape)
are now controlled by the renderer classes using lookup
tables. Introduced the DrawingSupplier interface (and
DefaultDrawingSupplier class) which is used to populate the
lookup tables from a common source (necessary to coordinate
complex combined charts).
- the chart legend can now display shapes corresponding to
series.
- moved responsibility for category distribution to the
CategoryAxis class, which tidies up the code in the
CategoryPlot classes.
- gridlines are now controlled by the CategoryPlot and XYPlot
classes, not the axes (included in this change is the
addition of gridlines for the CategoryPlot domain values).
- changed the list of titles in the JFreeChart class to a
title and a list of subtitles.
- added new renderers for XYPlot (XYBubbleRenderer and
YIntervalRenderer).
- modified Gantt chart to display sub-tasks.
- added ContourPlot class (still experimental) by David
M. O'Donnell.
- introduced new MovingAverage class.
- ChartMouseEvent now includes source chart.
- numerous bug fixes.
- lots of Javadoc updates.
0.9.4 : (18-Oct-2002) Added a new stacked area chart (contributed by Dan
Rivett) and a compass plot (contributed by Bryan Scott). Updated
the ThermometerPlot class. Added a new XYDotRenderer for scatter
plots. Modified combined and overlaid plots to use the series colors
specified in the sub plot rather than the parent plot (this makes it
easier to align the colors in the legend). Added Regression class
for linear and power regressions. BasicTimeSeries can now
automatically drop "old" data. Some clean-up work in the code for
tooltips and the event listener mechanism. Richard Atkinson has
incorporated some useful extensions for servlets/JSP developers.
Ran Checkstyle and corrected issues reported for most classes.
Checkstyle is a free utility that you can download from:
http://checkstyle.sourceforge.net
Fixed bugs and updated documentation.
API changes include:
- added tickMarkPaint to Axis constructor (also affects
subclasses);
- added getLegendItems() to Plot, and deprecated
getLegendItemLabels();
- added getLegendItem(int) to XYItemRenderer and
CategoryItemRenderer.
- most 'protected' member variables have been changed to
'private'.
0.9.3 : (4-Sep-2002) Added multiple pie charts based on
CategoryDataset. Updated logarithmic axes. Improved URL
support for image map generation. Moved the com.jrefinery.data
package from JCommon to JFreeChart. Added simple framework for
chart annotations. Improved control over renderers. Duplicate
x-values now allowed in XYSeries. Optional category label
skipping in category axes. Added CategoriesPaint attribute to
AbstractCategoryItemRenderer. Added new attributes to
MeterPlot class. Updated 3D pie chart to observe start angle
and direction, and also foreground alpha < 1.0. Improved
Javadoc comments. New demo applications, including:
AnnotationDemo1, EventFrequencyDemo, JDBCCategoryChartDemo,
JDBCPieChartDemo, JDBCXYChartDemo and MinMaxCategoryPlotDemo.
Bug fixes:
- negative percentages on PiePlot.
- added listener notification to setXXXAxis(...) methods.
- fixed DomainInfo method name clash.
- added DomainIsPointsInTime flag to TimeSeriesCollection to
give better control over auto range on axis for time series
charts.
- axis margins for date axes are no longer hard-coded.
- fix for ordering of categories in JdbcCategoryDataset.
- added check for null axis in mouse click handler.
The CVS repository at SourceForge has also been restructured
to match the distribution directory layout.
0.9.2 : (28-Jun-2002) PiePlot now has startAngle and direction
attributes. Added support for image map generation. Added a
new Pie3DPlot class. Added label drawing code to bar
renderers. Added optional range markers to horizontal number
axis. Added bar clipping to avoid PRExceptions in bar
charts. JFreeChartDemo has been modified and now includes
examples of the dial and thermometer plots.
Bug fixes:
- auto range for VerticalNumberAxis when zero is forced to be
included in the range.
- fixed null pointer exception in StackedVerticalBarRenderer3D;
- Added get/set methods for min/max chart drawing dimensions
in ChartPanel;
- HorizontalIntervalBarRenderer now handles single category;
- verticalTickLabels now possible in HorizontalNumberAxis3D;
- removed unnecessary imports;
0.9.1 : (14-Jun-2002) Bug fixes and Javadoc updates.
- fixed auto range calculation for category plots;
- fixed event notification for XYPlot;
- fixed auto axis range for Gantt charts;
- check for null popup menu in ChartPanel.mouseDragged;
- new checks for null info in renderers;
- range markers now drawn only if in visible axis range;
0.9.0 : (7-Jun-2002) New plots including an area chart, a horizontal
3D bar chart, a Gantt chart and a thermometer chart.
Combination plots have been reworked to provide a
simpler framework, and extends to allow category plots to be
combined. There is now a facility to add a ChartMouseListener
to the ChartPanel (formerly JFreeChartPanel). An interactive
zooming feature (experimental at this point) is now available
for XYPlots. A new Polish translation has been added. Several
fixes have been applied to the default tool tip generators. A
workaround has been added to fix the alignment between time
series charts and the date axis. There are some improvements
to the VerticalLogarithmicAxis class, and now a corresponding
HorizontalLogarithmicAxis class. Additional demonstration
applications have been added. Fixed the popup menu bug.
0.8.1 : (5-Apr-2002) Localised resource bundles for French, German and
Spanish languages (thanks to Anthony Boulestreau, Thomas Meier
and Hans-Jurgen Greiner for the translations). An area XY
plot and meter chart contributed by Hari. Symbol charts
contributed by Anthony Boulestreau. An improved
CandleStickRenderer class from Sylvain Vieujot. Updated
servlet code from Bryan Scott. XYItemRenderers now have a
change listener mechanism and therefore do not have to be
immutable. Additional demonstration applications for
individual chart types. Minor bug fixes.
0.8.0 : (22-Mar-2002) All the category plots are now controlled
through the one class (CategoryPlot) with plug-in renderers.
Added a ResourceBundle for user interface items that require
localisation. Added a logarithmic axis class contributed by
Mike Duffy and some new JDBC and servlet code contributed by
Bryan Scott. Updated the JCommon class library to improve
handling of time periods in different time zones.
0.7.4 : (6-Mar-2002) Bug fixes in the JCommon Class Library. Various
Javadoc comment updates. Some minor changes to the
code. Added new domain name (http://www.object-refinery.com)
in the source headers.
0.7.3 : (14-Feb-2002) Bug fixes.
0.7.2 : (8-Feb-2002) Integrated the WindPlot code from Achilleus
Mantzios. Added an optional background image for the
JFreeChart class, and another optional background image for
the Plot class. Added alpha-transparency for the plot
foreground and background. Added new pie chart label types
that show values. Fixed a bug with the legend that results in
a loop at small chart sizes. Added some tooltip methods that
were missing from the previous version. Changed the Insets
class on chart titles to a new Spacer class that will allow
for relative or absolute insets (the plan is to eventually
replace all Insets in the JFreeChart classes). Fixed a bug in
the setAutoRangeIncludesZero method of the NumberAxis class.
Added the instructions that were missing from the copies of
the GNU Lesser General Public Licence included with JFreeChart.
0.7.1 : (25-Jan-2002) Added tooltips, crosshairs and zooming
functions, thanks to Jonathan Nash and Hans-Jurgen Greiner
for contributing the code that these features are based on.
Moved the combination charts into the package
com.jrefinery.chart.combination, made a number of other small
API changes and fixed some bugs. Removed the Javadoc HTML
from the download to save space (you can regenerate it from
the source code if you need it).
0.7.0 : (11-Dec-2001) New combination plots developed by Bill
Kelemen. Added Wolfgang Irler's servlet demo to the standard
download. The About window in the demo application now
includes a list of developers that have contributed to the
project.
0.6.0 : (27-Nov-2001) New plots including scatter plot, stacked bar
charts and 3D bar charts. Improved pie chart. Data
interfaces and classes moved to the JCommon class library.
New properties to control spacing on bar charts. New
auto-tick mechanism. JFreeChartPanel now incorporates
buffering, and popup menu. Javadocs revised. Fixed numerous
bugs from version 0.5.6. Demo application updated.
----------------
10. CONTRIBUTORS
----------------
JFreeChart wouldn't be half the library that it is today without the
contributions (large and small) that have been made by the developers listed
below:
- Eric Alexander
- Richard Atkinson
- David Basten
- David Berry
- Chris Boek
- Zoheb Borbora
- Anthony Boulestreau
- Jeremy Bowman
- Nicolas Brodu
- Jody Brownell
- David Browning
- Soren Caspersen
- Thomas A Caswell
- Chuanhao Chiu
- Brian Cole
- Pascal Collet
- Martin Cordova
- Paolo Cova
- Greg Darke
- Mike Duffy
- Don Elliott
- Rune Fauske
- Jonathan Gabbai
- Serge V. Grachov
- Daniel Gredler
- Joao Guilherme Del Valle
- Hans-Jurgen Greiner
- Nick Guenther
- Aiman Han
- Cameron Hayne
- Martin Hoeller (xS+S)
- Jon Iles
- Wolfgang Irler
- Sergei Ivanov
- Nina Jeliazkova
- Adriaan Joubert
- Darren Jung
- Xun Kang
- Bill Kelemen
- Norbert Kiesel
- Petr Kopac
- Gideon Krause
- Dave Law;
- Pierre-Marie Le Biot
- Arnaud Lelievre
- Wolfgang Lenhard
- Leo Leung
- David Li
- Yan Liu
- Tin Luu
- Craig MacFarlane
- Achilleus Mantzios
- Thomas Meier
- Jim Moore
- Jonathan Nash
- Barak Naveh
- David M. O'Donnell
- Krzysztof Paz
- Eric Penfold
- Tomer Peretz
- Xavier Poinsard
- Andrzej Porebski
- Viktor Rajewski
- Eduardo Ramalho
- Michael Rauch
- Cameron Riley
- Klaus Rheinwald
- Dan Rivett
- Scott Sams
- Michel Santos
- Thierry Saura
- Patrick Schlott
- Andreas Schneider
- Christoph Schroeder
- Jean-Luc SCHWAB
- Bryan Scott
- Tobias Selb
- Darshan Shah
- Mofeed Shahin
- Michael Siemer
- Pady Srinivasan
- Greg Steckman
- Roger Studner
- Gerald Struck
- Irv Thomae
- Eric Thomas
- Rich Unger
- Daniel van Enckevort
- Laurence Vanhelsuwe
- Sylvain Vieujot
- Jelai Wang
- Mark Watson
- Alex Weber
- Richard West
- Matthew Wright
- Benoit Xhenseval
- Christian W. Zuckschwerdt
- Hari
- Sam (oldman)
It is possible that I have missed someone on this list, if that
applies to you, please e-mail me.
Dave Gilbert (david.gilbert@object-refinery.com)
JFreeChart Project Leader
@@ -0,0 +1,87 @@
<project name="jfreechart-swt" default="all" basedir="..">
<!-- Initialisation. -->
<target name="initialise" description="Initialise required settings.">
<tstamp />
<property name="jfreechart.name" value="jfreechart" />
<property name="jfreechart.version" value="1.0.17" />
<property name="jcommon.name" value="jcommon" />
<property name="jcommon.version" value="1.0.21" />
<property name="builddir" value="${basedir}/build" />
<property name="jcommon.jar" value="${basedir}/lib/${jcommon.name}-${jcommon.version}.jar"/>
<property name="jfreechart.jar" value="${basedir}/lib/${jfreechart.name}-${jfreechart.version}.jar"/>
<!-- Edit the next line to link to the swt library you want, see README file in the swt folder -->
<property name="swt.jar" value="/Users/dgilbert/swt-4/swt.jar"/>
<path id="build.classpath">
<pathelement location="${jcommon.jar}"/>
<pathelement location="${jfreechart.jar}"/>
<pathelement location="${swt.jar}"/>
</path>
</target>
<!-- Compile the JFreeChart SWT classes -->
<target name="compile-swtgraphics" depends="initialise"
description="Compile and package some utility SWT source code.">
<!-- create a temp build directory -->
<mkdir dir="${basedir}/build" />
<!-- compile the source -->
<javac srcdir="${basedir}/swt"
destdir="${basedir}/build"
debug="on"
deprecation="on"
source="1.6"
target="1.6">
<classpath refid="build.classpath" />
<include name="org/jfree/experimental/swt/**/*.java"/>
</javac>
<!-- make the jar -->
<jar jarfile="${basedir}/lib/swtgraphics2d.jar"
basedir="${basedir}/build" >
</jar>
<!-- delete the temp directory -->
<delete dir="${basedir}/build" />
</target>
<!-- Compile the JFreeChart SWT classes -->
<target name="compile-swt" depends="initialise"
description="Compile and package the JFreeChart SWT source code.">
<!-- create a temp build directory -->
<mkdir dir="${basedir}/build" />
<!-- compile the source -->
<javac srcdir="${basedir}/swt"
destdir="${basedir}/build"
debug="on"
deprecation="on"
source="1.6"
target="1.6">
<classpath refid="build.classpath" />
<include name="org/jfree/experimental/chart/**/*.java"/>
</javac>
<!-- make the jar -->
<jar jarfile="${basedir}/lib/${jfreechart.name}-${jfreechart.version}-swt.jar"
basedir="${basedir}/build" >
</jar>
<!-- delete the temp directory -->
<delete dir="${basedir}/build" />
</target>
<!-- ALL -->
<target name="all"
depends="compile-swtgraphics,compile-swt"
description="Compiles and package in jar files all the SWT related code in JFreeChart.">
</target>
</project>

Some files were not shown because too many files have changed in this diff Show More