Skip to content
Snippets Groups Projects
Commit b1eb18b4 authored by Nils Christian Ehmke's avatar Nils Christian Ehmke
Browse files

Refactoring

parent ed0bb2f7
No related branches found
No related tags found
No related merge requests found
Showing
with 124 additions and 92 deletions
...@@ -3,11 +3,11 @@ package kieker.gui.common; ...@@ -3,11 +3,11 @@ package kieker.gui.common;
import java.util.Observable; import java.util.Observable;
import java.util.Observer; import java.util.Observer;
public abstract class AbstractProxyDataModel<T> extends Observable implements IModel<T>, Observer { public abstract class AbstractDataModelProxy<T> extends Observable implements IModel<T>, Observer {
protected final DataModel dataModel; protected final DataModel dataModel;
public AbstractProxyDataModel(final DataModel dataModel) { public AbstractDataModelProxy(final DataModel dataModel) {
this.dataModel = dataModel; this.dataModel = dataModel;
this.dataModel.addObserver(this); this.dataModel.addObserver(this);
} }
......
package kieker.gui.subview.aggregatedtraces;
import kieker.gui.common.DataModel;
import kieker.gui.common.IModel;
import kieker.gui.common.ISubController;
import kieker.gui.common.ISubView;
import kieker.gui.common.PropertiesModel;
import kieker.gui.common.domain.AggregatedExecution;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
public abstract class AbstractAggregatedTracesController implements ISubController, SelectionListener {
private final ISubView view;
private final AggregatedTracesSubViewModel model;
public AbstractAggregatedTracesController(final DataModel dataModel, final PropertiesModel propertiesModel) {
final IModel<AggregatedExecution> modelProxy = this.createModelProxy(dataModel);
this.model = new AggregatedTracesSubViewModel();
this.view = new AggregatedTracesSubView(modelProxy, this.model, propertiesModel, this);
}
@Override
public ISubView getView() {
return this.view;
}
@Override
public void widgetSelected(final SelectionEvent e) {
if (e.item.getData() instanceof AggregatedExecution) {
this.model.setCurrentActiveTrace((AggregatedExecution) e.item.getData());
}
}
@Override
public void widgetDefaultSelected(final SelectionEvent e) {}
protected abstract IModel<AggregatedExecution> createModelProxy(final DataModel dataModel);
}
...@@ -18,51 +18,39 @@ package kieker.gui.subview.aggregatedtraces; ...@@ -18,51 +18,39 @@ package kieker.gui.subview.aggregatedtraces;
import java.util.List; import java.util.List;
import kieker.gui.common.AbstractProxyDataModel; import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.ISubController; import kieker.gui.common.IModel;
import kieker.gui.common.ISubView;
import kieker.gui.common.PropertiesModel; import kieker.gui.common.PropertiesModel;
import kieker.gui.common.domain.AggregatedExecution; import kieker.gui.common.domain.AggregatedExecution;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
/** /**
* The sub-controller responsible for the sub-view presenting the available aggregated traces. * The sub-controller responsible for the sub-view presenting the available aggregated traces.
* *
* @author Nils Christian Ehmke * @author Nils Christian Ehmke
*/ */
public final class AggregatedFailedTracesSubViewController implements SelectionListener, ISubController { public final class AggregatedFailedTracesSubViewController extends AbstractAggregatedTracesController {
private final ISubView view;
private final AggregatedTracesSubViewModel model;
public AggregatedFailedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) { public AggregatedFailedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) {
this.model = new AggregatedTracesSubViewModel(); super(dataModel, propertiesModel);
this.view = new AggregatedTracesSubView(new AbstractProxyDataModel<AggregatedExecution>(dataModel) {
@Override
public List<AggregatedExecution> getContent() {
return super.dataModel.getFailedAggregatedTracesCopy();
}
}, this.model, propertiesModel, this);
} }
@Override @Override
public ISubView getView() { protected IModel<AggregatedExecution> createModelProxy(final DataModel dataModel) {
return this.view; return new ModelProxy(dataModel);
} }
@Override private final class ModelProxy extends AbstractDataModelProxy<AggregatedExecution> {
public void widgetSelected(final SelectionEvent e) {
if (e.item.getData() instanceof AggregatedExecution) { private ModelProxy(final DataModel dataModel) {
this.model.setCurrentActiveTrace((AggregatedExecution) e.item.getData()); super(dataModel);
} }
}
@Override @Override
public void widgetDefaultSelected(final SelectionEvent e) {} public List<AggregatedExecution> getContent() {
return super.dataModel.getFailedAggregatedTracesCopy();
}
}
} }
...@@ -18,50 +18,44 @@ package kieker.gui.subview.aggregatedtraces; ...@@ -18,50 +18,44 @@ package kieker.gui.subview.aggregatedtraces;
import java.util.List; import java.util.List;
import kieker.gui.common.AbstractProxyDataModel; import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.ISubController; import kieker.gui.common.IModel;
import kieker.gui.common.ISubView;
import kieker.gui.common.PropertiesModel; import kieker.gui.common.PropertiesModel;
import kieker.gui.common.domain.AggregatedExecution; import kieker.gui.common.domain.AggregatedExecution;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
/** /**
* The sub-controller responsible for the sub-view presenting the available aggregated traces. * The sub-controller responsible for the sub-view presenting the available aggregated traces.
* *
* @author Nils Christian Ehmke * @author Nils Christian Ehmke
*/ */
public final class AggregatedTracesSubViewController implements SelectionListener, ISubController { public final class AggregatedTracesSubViewController extends AbstractAggregatedTracesController {
private final ISubView view;
private final AggregatedTracesSubViewModel model;
public AggregatedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) { public AggregatedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) {
this.model = new AggregatedTracesSubViewModel(); super(dataModel, propertiesModel);
this.view = new AggregatedTracesSubView(new AbstractProxyDataModel<AggregatedExecution>(dataModel) {
@Override
public List<AggregatedExecution> getContent() {
return super.dataModel.getAggregatedTracesCopy();
}
}, this.model, propertiesModel, this);
} }
@Override @Override
public ISubView getView() { protected IModel<AggregatedExecution> createModelProxy(final DataModel dataModel) {
return this.view; return new ModelProxy(dataModel);
} }
@Override @Override
public void widgetSelected(final SelectionEvent e) { public void widgetDefaultSelected(final SelectionEvent e) {}
if (e.item.getData() instanceof AggregatedExecution) {
this.model.setCurrentActiveTrace((AggregatedExecution) e.item.getData()); private final class ModelProxy extends AbstractDataModelProxy<AggregatedExecution> {
private ModelProxy(final DataModel dataModel) {
super(dataModel);
} }
}
@Override @Override
public void widgetDefaultSelected(final SelectionEvent e) {} public List<AggregatedExecution> getContent() {
return super.dataModel.getAggregatedTracesCopy();
}
}
} }
...@@ -18,50 +18,39 @@ package kieker.gui.subview.aggregatedtraces; ...@@ -18,50 +18,39 @@ package kieker.gui.subview.aggregatedtraces;
import java.util.List; import java.util.List;
import kieker.gui.common.AbstractProxyDataModel; import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.ISubController; import kieker.gui.common.IModel;
import kieker.gui.common.ISubView;
import kieker.gui.common.PropertiesModel; import kieker.gui.common.PropertiesModel;
import kieker.gui.common.domain.AggregatedExecution; import kieker.gui.common.domain.AggregatedExecution;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
/** /**
* The sub-controller responsible for the sub-view presenting the available aggregated traces. * The sub-controller responsible for the sub-view presenting the available aggregated traces.
* *
* @author Nils Christian Ehmke * @author Nils Christian Ehmke
*/ */
public final class FailureContainingAggregatedTracesSubViewController implements SelectionListener, ISubController { public final class FailureContainingAggregatedTracesSubViewController extends AbstractAggregatedTracesController {
private final ISubView view;
private final AggregatedTracesSubViewModel model;
public FailureContainingAggregatedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) { public FailureContainingAggregatedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) {
this.model = new AggregatedTracesSubViewModel(); super(dataModel, propertiesModel);
this.view = new AggregatedTracesSubView(new AbstractProxyDataModel<AggregatedExecution>(dataModel) {
@Override
public List<AggregatedExecution> getContent() {
return super.dataModel.getFailureContainingAggregatedTracesCopy();
}
}, this.model, propertiesModel, this);
} }
@Override @Override
public ISubView getView() { protected IModel<AggregatedExecution> createModelProxy(final DataModel dataModel) {
return this.view; return new ModelProxy(dataModel);
} }
@Override private final class ModelProxy extends AbstractDataModelProxy<AggregatedExecution> {
public void widgetSelected(final SelectionEvent e) {
if (e.item.getData() instanceof AggregatedExecution) { private ModelProxy(final DataModel dataModel) {
this.model.setCurrentActiveTrace((AggregatedExecution) e.item.getData()); super(dataModel);
} }
}
@Override @Override
public void widgetDefaultSelected(final SelectionEvent e) {} public List<AggregatedExecution> getContent() {
return super.dataModel.getFailureContainingAggregatedTracesCopy();
}
}
} }
...@@ -20,7 +20,7 @@ import java.util.List; ...@@ -20,7 +20,7 @@ import java.util.List;
import java.util.Observable; import java.util.Observable;
import java.util.Observer; import java.util.Observer;
import kieker.gui.common.DataModel; import kieker.gui.common.IModel;
import kieker.gui.common.ISubView; import kieker.gui.common.ISubView;
import kieker.gui.common.TableColumnSortListener; import kieker.gui.common.TableColumnSortListener;
import kieker.gui.common.domain.Record; import kieker.gui.common.domain.Record;
...@@ -39,11 +39,11 @@ import org.eclipse.swt.widgets.TableItem; ...@@ -39,11 +39,11 @@ import org.eclipse.swt.widgets.TableItem;
public final class RecordsSubView implements Observer, ISubView { public final class RecordsSubView implements Observer, ISubView {
private final DataModel model; private final IModel<Record> model;
private Composite composite; private Composite composite;
private Table table; private Table table;
public RecordsSubView(final DataModel model, final RecordsSubViewController controller) { public RecordsSubView(final IModel<Record> model, final RecordsSubViewController controller) {
this.model = model; this.model = model;
model.addObserver(this); model.addObserver(this);
...@@ -102,7 +102,7 @@ public final class RecordsSubView implements Observer, ISubView { ...@@ -102,7 +102,7 @@ public final class RecordsSubView implements Observer, ISubView {
} }
private void updateTable() { private void updateTable() {
final List<Record> records = this.model.getRecordsCopy(); final List<Record> records = this.model.getContent();
this.table.setData(records); this.table.setData(records);
this.table.setItemCount(records.size()); this.table.setItemCount(records.size());
......
...@@ -16,9 +16,14 @@ ...@@ -16,9 +16,14 @@
package kieker.gui.subview.records; package kieker.gui.subview.records;
import java.util.List;
import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.IModel;
import kieker.gui.common.ISubController; import kieker.gui.common.ISubController;
import kieker.gui.common.ISubView; import kieker.gui.common.ISubView;
import kieker.gui.common.domain.Record;
/** /**
* The sub-controller responsible for the sub-view presenting the available records. * The sub-controller responsible for the sub-view presenting the available records.
...@@ -30,7 +35,9 @@ public final class RecordsSubViewController implements ISubController { ...@@ -30,7 +35,9 @@ public final class RecordsSubViewController implements ISubController {
private final ISubView view; private final ISubView view;
public RecordsSubViewController(final DataModel dataModel) { public RecordsSubViewController(final DataModel dataModel) {
this.view = new RecordsSubView(dataModel, this); final IModel<Record> modelProxy = new RecordsModelProxy(dataModel);
this.view = new RecordsSubView(modelProxy, this);
} }
@Override @Override
...@@ -38,4 +45,16 @@ public final class RecordsSubViewController implements ISubController { ...@@ -38,4 +45,16 @@ public final class RecordsSubViewController implements ISubController {
return this.view; return this.view;
} }
private final class RecordsModelProxy extends AbstractDataModelProxy<Record> {
private RecordsModelProxy(final DataModel dataModel) {
super(dataModel);
}
@Override
public List<Record> getContent() {
return super.dataModel.getRecordsCopy();
}
}
} }
...@@ -18,7 +18,7 @@ package kieker.gui.subview.traces; ...@@ -18,7 +18,7 @@ package kieker.gui.subview.traces;
import java.util.List; import java.util.List;
import kieker.gui.common.AbstractProxyDataModel; import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.ISubController; import kieker.gui.common.ISubController;
import kieker.gui.common.ISubView; import kieker.gui.common.ISubView;
...@@ -40,7 +40,7 @@ public final class FailedTracesSubViewController implements SelectionListener, I ...@@ -40,7 +40,7 @@ public final class FailedTracesSubViewController implements SelectionListener, I
public FailedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) { public FailedTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) {
this.model = new TracesSubViewModel(); this.model = new TracesSubViewModel();
this.view = new TracesSubView(new AbstractProxyDataModel<Execution>(dataModel) { this.view = new TracesSubView(new AbstractDataModelProxy<Execution>(dataModel) {
@Override @Override
public final List<Execution> getContent() { public final List<Execution> getContent() {
......
...@@ -18,7 +18,7 @@ package kieker.gui.subview.traces; ...@@ -18,7 +18,7 @@ package kieker.gui.subview.traces;
import java.util.List; import java.util.List;
import kieker.gui.common.AbstractProxyDataModel; import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.ISubController; import kieker.gui.common.ISubController;
import kieker.gui.common.ISubView; import kieker.gui.common.ISubView;
...@@ -40,7 +40,7 @@ public final class FailureContainingTracesSubViewController implements Selection ...@@ -40,7 +40,7 @@ public final class FailureContainingTracesSubViewController implements Selection
public FailureContainingTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) { public FailureContainingTracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) {
this.model = new TracesSubViewModel(); this.model = new TracesSubViewModel();
this.view = new TracesSubView(new AbstractProxyDataModel<Execution>(dataModel) { this.view = new TracesSubView(new AbstractDataModelProxy<Execution>(dataModel) {
@Override @Override
public final List<Execution> getContent() { public final List<Execution> getContent() {
......
...@@ -18,7 +18,7 @@ package kieker.gui.subview.traces; ...@@ -18,7 +18,7 @@ package kieker.gui.subview.traces;
import java.util.List; import java.util.List;
import kieker.gui.common.AbstractProxyDataModel; import kieker.gui.common.AbstractDataModelProxy;
import kieker.gui.common.DataModel; import kieker.gui.common.DataModel;
import kieker.gui.common.ISubController; import kieker.gui.common.ISubController;
import kieker.gui.common.ISubView; import kieker.gui.common.ISubView;
...@@ -40,7 +40,7 @@ public final class TracesSubViewController implements SelectionListener, ISubCon ...@@ -40,7 +40,7 @@ public final class TracesSubViewController implements SelectionListener, ISubCon
public TracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) { public TracesSubViewController(final DataModel dataModel, final PropertiesModel propertiesModel) {
this.model = new TracesSubViewModel(); this.model = new TracesSubViewModel();
this.view = new TracesSubView(new AbstractProxyDataModel<Execution>(dataModel) { this.view = new TracesSubView(new AbstractDataModelProxy<Execution>(dataModel) {
@Override @Override
public final List<Execution> getContent() { public final List<Execution> getContent() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment