Project

General

Profile

Revision d74515be

IDd74515be4dfbb8452229e4fc396768c09c2900a0
Parent 8ac85f21
Child 8d33320b

Added by Katja Luther 2 months ago

ref #9199: continue adapt editor to singleSourcedEntities

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/classification/TaxonNodeDetailElement.java
25 25
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
26 26
import eu.etaxonomy.cdm.model.common.Language;
27 27
import eu.etaxonomy.cdm.model.common.LanguageString;
28
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
29 28
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
30 29
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
31 30
import eu.etaxonomy.cdm.model.metadata.PublishEnum;
......
47 46
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement;
48 47
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
49 48
import eu.etaxonomy.taxeditor.ui.element.MultilanguageTextElement;
49
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
50 50
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
51
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
52
import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceElement;
51
import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSingleSourceElement;
53 52
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
54 53
import eu.etaxonomy.taxeditor.ui.selection.TaxonNodeSelectionElement;
55 54

  
......
57 56
 * @author n.hoffmann
58 57
 * @created Sep 27, 2010
59 58
 */
60
public class TaxonNodeDetailElement extends AbstractCdmDetailElement<TaxonNode> {
59
public class TaxonNodeDetailElement extends AbstractSingleSourceElement<TaxonNode> {
61 60

  
62 61
    private static final String STATUS_NOTES = Messages.TaxonNodeWizardPage_STATUS_NOTES;
63 62
    private static final String CLASSIFICATION_STR = Messages.TaxonNodeWizardPage_CLASSIFICATION;
......
80 79
	private EntitySelectionElement<TaxonName> selection_reuseExistingName;
81 80
    private EntitySelectionElement<Reference> selection_SecRef;
82 81

  
83
    private OriginalSourceElement singleSourceSection;
82
//    private OriginalSourceElement singleSourceSection;
84 83

  
85 84
    private TextWithLabelElement textTaxonSec;
86 85
	private TextWithLabelElement microReference;
......
105 104
	}
106 105

  
107 106
    public Reference getRef() {
108
        return singleSourceSection.getEntity().getCitation();
107
        return getEntity().getCitation();
109 108
    }
110 109
    public TaxonName getExistingName() {
111 110
        return selection_reuseExistingName.getEntity();
......
115 114
    }
116 115

  
117 116
	@Override
118
	protected void createControls(ICdmFormElement formElement,
119
	        TaxonNode entity, int style) {
117
	public void createControls(ICdmFormElement formElement,TaxonNode entity, int style) {
120 118
//	    taxon = entity.getTaxon();
121 119

  
122 120
	    Label taxonTitle = new Label(getLayoutComposite(), SWT.NULL);
......
177 175
                  .createSelectionElement(Taxon.class,//getConversationHolder(),
178 176
                          formElement,
179 177
                          Messages.TaxonNodeWizardPage_TAXON, taxon,
180
                          EntitySelectionElement.DELETABLE, style);
178
                          EntitySelectionElement.DELETABLE, SWT.NULL);
181 179

  
182 180

  
183
	        textTaxonSec = formFactory.createTextWithLabelElement(formElement,SECUNDUM_REFERENCE, "", style);
184
	        microReference = formFactory.createTextWithLabelElement(formElement, "Secundum Details", "", style);
181
	        textTaxonSec = formFactory.createTextWithLabelElement(formElement,SECUNDUM_REFERENCE, "", SWT.NULL);
182
	        microReference = formFactory.createTextWithLabelElement(formElement, "Secundum Details", "", SWT.NULL);
185 183
            if (entity.getTaxon().getSec() != null){
186 184
                textTaxonSec.setText(taxon.getSec().getTitleCache());
187 185
            }
......
203 201

  
204 202
            if (entity.getParent().getTaxon() == null){
205 203
                TextWithLabelElement textParent = formFactory.createTextWithLabelElement(
206
                        formElement,CLASSIFICATION_STR, entity.getClassification().getTitleCache(), style);
204
                        formElement,CLASSIFICATION_STR, entity.getClassification().getTitleCache(), SWT.NULL);
207 205
                textParent.setEnabled(false);
208 206
            }else{
209 207
                TextWithLabelElement textParent = formFactory.createTextWithLabelElement(
210
                        formElement, Messages.TaxonNodeWizardPage_PARENT, entity.getParent().getTaxon().getTitleCache(), style);
208
                        formElement, Messages.TaxonNodeWizardPage_PARENT, entity.getParent().getTaxon().getTitleCache(), SWT.NULL);
211 209
                textParent.setEnabled(false);
212 210
            }
213 211
	    }
214 212

  
215 213

  
216
        combo_status = formFactory.createEnumComboElement(TaxonNodeStatus.class, formElement, style, true);
214
        combo_status = formFactory.createEnumComboElement(TaxonNodeStatus.class, formElement, SWT.NULL, true);
217 215
        if (!isCreateNew()){
218 216
            combo_status.setSelection(entity.getStatus());
219 217
        }
......
247 245
	        multiLanguageTextStatusNotes.setEnabled(entity.getStatus() != null);
248 246
	    }
249 247

  
248
/*
249
 * singleSourceSection = formFactory.createOriginalSourceElement(formElement, entity);
250
        if (isCreateNew() || entity.getSource() == null){
251
            DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
252
            entity.setSource(source);
253
            singleSourceSection.setEntity(source);
254
        }else{
255
            singleSourceSection.setEntity(entity.getSource());
250 256

  
257
        }
258
 */
259
	    super.createControls(formElement, entity, style);
251 260

  
252
		singleSourceSection = formFactory.createOriginalSourceElement(formElement, entity);
253
		if (isCreateNew() || entity.getSource() == null){
254
		    DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
255
		    entity.setSource(source);
256
		    singleSourceSection.setEntity(source);
257
		}else{
258
		    singleSourceSection.setEntity(entity.getSource());
259

  
260
		}
261 261

  
262 262
		selectionNodeAgentRelation = formFactory.createTaxonNodeAgentRelationCollectionSection(formElement, getConversationHolder(), StoreUtil.getSectionStyle(TaxonNodeAgentRelationCollectionSection.class, entity.getClass().getCanonicalName()));
263 263
		selectionNodeAgentRelation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
......
334 334
			}
335 335
			textNewTaxonName.setEnabled(enabled);
336 336
			complete = !textNewTaxonName.getText().isEmpty();
337
		}
338

  
339
        if (eventSource == singleSourceSection) {
340
//            getEntity().setSource((DescriptionElementSource)sourceSection.getEntity());
341

  
342
        }else if (eventSource == selection_SecRef) {
337
		} else if (eventSource == selection_SecRef) {
343 338
            if (taxon != null){
344 339
                taxon.setSec(selection_SecRef.getEntity());
345 340
            }
346
        }else if (eventSource == microReference) {
341
        } else if (eventSource == microReference) {
347 342
            getEntity().getTaxon().setSecMicroReference(microReference.getText());
348 343

  
349 344
        }  else if (eventSource == checkbox_publish) {
......
559 554
        }
560 555
        updateControlStates();
561 556
    }
557

  
558
    @Override
559
    public SelectionArbitrator getSelectionArbitrator() {
560
        // TODO Auto-generated method stub
561
        return null;
562
    }
562 563
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/description/DescriptionElementSourceElement.java
38 38

  
39 39
	private EntitySelectionElement<TaxonName> selection_name;
40 40

  
41

  
41 42
	public DescriptionElementSourceElement(CdmFormFactory cdmFormFactory,
42 43
			AbstractFormSection<?> formElement, DescriptionElementSource element,
43 44
			SelectionListener removeListener, int style, boolean isCommonNameReference) {
44 45
		super(cdmFormFactory, formElement, element, removeListener, style, isCommonNameReference);
45
		formFactory.createSelectionArbitrator(this);
46
		cdmFormFactory.createSelectionArbitrator(this);
46 47
	}
47 48

  
48 49
	/** {@inheritDoc} */
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipDetailElement.java
23 23
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
24 24
import eu.etaxonomy.taxeditor.ui.element.LabelElement;
25 25
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
26
import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSingleSourceElement;
26
import eu.etaxonomy.taxeditor.ui.section.supplemental.AbstractSourcedEntityElement;
27 27
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
28 28

  
29 29
/**
......
32 32
 * @author n.hoffmann
33 33
 * @created Mar 18, 2010
34 34
 */
35
public class NameRelationshipDetailElement extends AbstractSingleSourceElement<NameRelationship>{
35
public class NameRelationshipDetailElement extends AbstractSourcedEntityElement<NameRelationship>{
36 36

  
37 37
	private RuleConsideredElement ruleConsidered;
38 38
	private EntitySelectionElement<?> selection_toName;
39 39
	private TermComboElement<NameRelationshipType> combo_relationshipType;
40 40
	private LabelElement label;
41 41

  
42
//	private OriginalSourceElement sourceElement;
43

  
42 44
	/**
43 45
	 * <p>Constructor for NameRelationshipDetailElement.</p>
44 46
	 *
......
49 51
	 * @param style a int.
50 52
	 */
51 53
	public NameRelationshipDetailElement(CdmFormFactory cdmFormFactory,
52
			AbstractFormSection formElement,
53
			NameRelationship entity, SelectionListener removeListener, int style) {
54
		super(cdmFormFactory, formElement, entity, removeListener, style);
54
	        AbstractFormSection formElement,
55
            NameRelationship entity, SelectionListener removeListener, int style){
56
	    super(cdmFormFactory, formElement, entity, removeListener, style);
55 57
	}
56 58

  
57 59
	@Override
58 60
	public void createControls(ICdmFormElement element, int style) {
61

  
59 62
	    NameDetailsConfigurator config = PreferencesUtil.getPreferredNameDetailsConfiguration();
60 63
		label = formFactory.createLabel(element, null);
61 64
		if (config == null || config.isNameRelationsRuleConsideredActivated()){
......
64 67
		            || config.isNameRelationsRuleConsideredCodeEditionActivated(), style);
65 68
		}
66 69
		super.createControls(element, style);
70

  
67 71
	}
68 72

  
69 73
	@Override
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractOriginalSourceElement.java
19 19
import eu.etaxonomy.cdm.model.reference.ICdmTarget;
20 20
import eu.etaxonomy.cdm.model.reference.OriginalSourceBase;
21 21
import eu.etaxonomy.cdm.model.reference.OriginalSourceType;
22
import eu.etaxonomy.cdm.model.reference.Reference;
22 23
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
23 24
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
24 25
import eu.etaxonomy.taxeditor.ui.combo.OriginalSourceTypeComparator;
......
27 28
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
28 29
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
29 30
import eu.etaxonomy.taxeditor.ui.section.common.ExternalLinksSection;
31
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
30 32

  
31 33
/**
32 34
 * @author n.hoffmann
33 35
 * @created Mar 16, 2010
34 36
 */
35 37
public abstract class AbstractOriginalSourceElement<T extends OriginalSourceBase> extends AbstractReferencedEntityElement<T> {
36
	
38

  
39

  
40
    protected EntitySelectionElement<Reference> selection_reference;
41
    protected TextWithLabelElement text_referenceDetail;
37 42
	protected EnumComboElement<OriginalSourceType> combo_origsourcetype;
38 43
	protected TextWithLabelElement text_idInSource;
39 44
	protected TextWithLabelElement text_idNamespace;
......
58 63

  
59 64
	@Override
60 65
	public void setEntity(T entity) {
61
	    super.setEntity(entity);
66
	    selection_reference.setEntity(entity.getCitation());
67
        text_referenceDetail.setText(entity.getCitationMicroReference());
62 68
        text_originaleNameString.setText(entity.getOriginalNameString());
63 69
        ICdmTarget cdmSource = entity.getCdmSource();
64 70
        String source = "";
......
78 84
	 * @wbp.parser.entryPoint*/
79 85
	@Override
80 86
	public void createControls(ICdmFormElement formElement, int style) {
87
	    if (isCommonNameReference && PreferencesUtil.getFilterCommonNameReferences()){
88
          selection_reference = formFactory
89
                    .createCommonNameReferenceSelectionElement(formElement, "Reference",
90
                            null, EntitySelectionElement.ALL, style);
91
        }else{
92
           selection_reference = formFactory
93
                      .createSelectionElement(Reference.class,//getConversationHolder(),
94
                               formElement, "Reference",
95
                              null, EntitySelectionElement.ALL, style);
96
        }
97

  
98
        text_referenceDetail = formFactory.createTextWithLabelElement(
99
                  formElement, "Reference Detail", null, SWT.NULL);
100

  
81 101
		combo_origsourcetype = formFactory
82 102
				.createEnumComboElement(OriginalSourceType.class,
83 103
						formElement, new OriginalSourceTypeComparator(getEntity()), style, false);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractReferencedEntityElement.java
9 9

  
10 10
package eu.etaxonomy.taxeditor.ui.section.supplemental;
11 11

  
12
import org.eclipse.swt.SWT;
13 12
import org.eclipse.swt.events.SelectionListener;
14 13

  
15
import eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase;
16
import eu.etaxonomy.cdm.model.reference.Reference;
17
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
14
import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
18 15
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
19 16
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
20 17
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
21 18
import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
22 19
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
23
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
24 20
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
25
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
26 21

  
27 22
/**
28 23
 * @author n.hoffmann
......
33 28

  
34 29
	private SelectionArbitrator selectionArbitrator;
35 30

  
36
	protected EntitySelectionElement<Reference> selection_reference;
37
	protected TextWithLabelElement text_referenceDetail;
31
//	protected EntitySelectionElement<Reference> selection_reference;
32
//	protected TextWithLabelElement text_referenceDetail;
38 33

  
39 34
	protected boolean isCommonNameReference = false;
40 35

  
......
61 56

  
62 57
	@Override
63 58
	public void createControls(ICdmFormElement formElement, int style) {
64
	    if (isCommonNameReference && PreferencesUtil.getFilterCommonNameReferences()){
65
	        selection_reference = formFactory
66
                    .createCommonNameReferenceSelectionElement(formElement, "Reference",
67
                            null, EntitySelectionElement.ALL, style);
68
	    }else{
69
	        selection_reference = formFactory
70
	                .createSelectionElement(Reference.class,//getConversationHolder(),
71
	                         formElement, "Reference",
72
	                        null, EntitySelectionElement.ALL, style);
73
	    }
74

  
75
		text_referenceDetail = formFactory.createTextWithLabelElement(
76
				formElement, "Reference Detail", null, SWT.NULL);
59

  
77 60
	}
78 61

  
79 62
	@Override
80 63
	public void setEntity(T entity) {
81 64
		this.entity = entity;
82 65

  
83
		selection_reference.setEntity(entity.getCitation());
84
		text_referenceDetail.setText(entity.getCitationMicroReference());
66

  
85 67
	}
86 68

  
87 69
	@Override
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractSingleSourceElement.java
8 8
*/
9 9
package eu.etaxonomy.taxeditor.ui.section.supplemental;
10 10

  
11
import org.eclipse.swt.events.SelectionListener;
12

  
13 11
import eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase;
14
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
12
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
15 13
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
16 14
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
17 15
import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
18
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
16
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
19 17
import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceElement;
20 18

  
21 19
/**
......
23 21
 * @since Aug 18, 2020
24 22
 */
25 23
public abstract class AbstractSingleSourceElement <T extends SingleSourcedEntityBase>
26
            extends AbstractEntityCollectionElement<T> implements ISelectableElement{
24
            extends AbstractCdmDetailElement<T> implements ISelectableElement{
27 25

  
28
    private OriginalSourceElement singleSourceSection;
26
    protected OriginalSourceElement singleSourceSection;
29 27

  
30 28
    /**
31 29
     * @param formFactory
......
35 33
     * @param backgroundColor
36 34
     * @param style
37 35
     */
38
    public AbstractSingleSourceElement(CdmFormFactory formFactory, AbstractFormSection formElement, T entity, SelectionListener removeListener,
39
            int style) {
40
        super(formFactory,formElement, entity, removeListener, null, style);
41
        // TODO Auto-generated constructor stub
36
    public AbstractSingleSourceElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
37
        super(formFactory, formElement);
38
//        setEntity(entity);
39
//        super(formFactory,formElement, entity, removeListener, null, style);
40
//        // TODO Auto-generated constructor stub
42 41
    }
43 42

  
44 43

  
45 44

  
46
    @Override
47
    public void setEntity(T entity) {
48
        this.entity = entity;
49

  
50
    }
45
//    @Override
46
//    public void setEntity(T entity) {
47
//        this.entity = entity;
48
//
49
//    }
51 50

  
52 51
    @Override
53
    public void createControls(ICdmFormElement formElement, int style) {
52
    public void createControls(ICdmFormElement formElement, T entity, int style) {
54 53
        singleSourceSection = formFactory.createOriginalSourceElement(formElement, entity);
54
        if (entity.getSource() == null){
55
            DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
56
            entity.setSource(source);
57
            singleSourceSection.setEntity(source);
58
        }else{
59
            singleSourceSection.setEntity(entity.getSource());
60

  
61
        }
55 62
    }
56 63

  
57 64

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/supplemental/AbstractSourcedEntityElement.java
1
/**
2
 * Copyright (C) 2007 EDIT
3
 * European Distributed Institute of Taxonomy
4
 * http://www.e-taxonomy.eu
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * See LICENSE.TXT at the top of this package for the full license terms.
8
 */
9

  
10
package eu.etaxonomy.taxeditor.ui.section.supplemental;
11

  
12
import org.eclipse.swt.events.SelectionListener;
13

  
14
import eu.etaxonomy.cdm.model.common.SingleSourcedEntityBase;
15
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
16
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
17
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
18
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
19
import eu.etaxonomy.taxeditor.ui.element.ISelectableElement;
20
import eu.etaxonomy.taxeditor.ui.element.SelectionArbitrator;
21
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionElement;
22
import eu.etaxonomy.taxeditor.ui.section.reference.OriginalSourceElement;
23

  
24
/**
25
 * @author n.hoffmann
26
 * @created Mar 25, 2010
27
 */
28
public abstract class AbstractSourcedEntityElement<T extends SingleSourcedEntityBase>
29
		extends AbstractEntityCollectionElement<T> implements ISelectableElement {
30

  
31
	private SelectionArbitrator selectionArbitrator;
32
	private OriginalSourceElement sourceElement;
33
//	protected EntitySelectionElement<Reference> selection_reference;
34
//	protected TextWithLabelElement text_referenceDetail;
35

  
36
	protected boolean isCommonNameReference = false;
37

  
38
	public AbstractSourcedEntityElement(CdmFormFactory formFactory,
39
			AbstractFormSection section, T entity,
40
			SelectionListener removeListener, int style, boolean isCommonNameReference) {
41
		super(formFactory, section, entity, removeListener, null, style);
42
		// make this element selectable
43
		if(formFactory.getSelectionProvider() != null){
44
			selectionArbitrator = formFactory.createSelectionArbitrator(this);
45
		}
46
		this.isCommonNameReference = isCommonNameReference;
47
	}
48

  
49
    public AbstractSourcedEntityElement(CdmFormFactory formFactory,
50
            AbstractFormSection section, T entity,
51
            SelectionListener removeListener, int style) {
52
        super(formFactory, section, entity, removeListener, null, style);
53
        // make this element selectable
54
        if(formFactory.getSelectionProvider() != null){
55
            selectionArbitrator = formFactory.createSelectionArbitrator(this);
56
        }
57
    }
58

  
59
	@Override
60
	public void createControls(ICdmFormElement formElement, int style) {
61

  
62
	    sourceElement = formFactory.createOriginalSourceElement(formElement, entity);
63
        if (entity.getSource() == null){
64
            DescriptionElementSource source = DescriptionElementSource.NewPrimarySourceInstance(null, null);
65
            entity.setSource(source);
66
            sourceElement.setEntity(source);
67
        }else{
68
            sourceElement.setEntity(entity.getSource());
69

  
70
        }
71
//	    sourceElement = formFactory.createOriginalSourceElement(formElement, entity);
72
	}
73

  
74
	@Override
75
	public void setEntity(T entity) {
76
		this.entity = entity;
77

  
78
//		selection_reference.setEntity(entity.getCitation());
79
//		text_referenceDetail.setText(entity.getCitationMicroReference());
80
	}
81

  
82
	@Override
83
    public SelectionArbitrator getSelectionArbitrator() {
84
		return selectionArbitrator;
85
	}
86

  
87
}

Also available in: Unified diff

Add picture from clipboard (Maximum size: 40 MB)