Package de.itemis.tooling.xturtle.ui.preferences

Source Code of de.itemis.tooling.xturtle.ui.preferences.TurtlePreferenceBasedValidationSeverityLevels

/*******************************************************************************
* Copyright (c) 2013 AKSW Xturtle Project, itemis AG (http://www.itemis.eu).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
******************************************************************************/
package de.itemis.tooling.xturtle.ui.preferences;

import javax.inject.Inject;

import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.xtext.diagnostics.Severity;

import de.itemis.tooling.xturtle.validation.TurtleValidationSeverityLevels;

public class TurtlePreferenceBasedValidationSeverityLevels implements
    TurtleValidationSeverityLevels, IPropertyChangeListener {

  IPreferenceStore prefernces;
  Severity unresolvedUri;
  Severity unresolvedQname;
  Severity prefixMismatch;
  Severity nsMismatch;
  Severity unusedPrefix;
  Severity xsdType;
  Severity duplicateSubject;

  @Inject
  public TurtlePreferenceBasedValidationSeverityLevels(IPreferenceStore store) {
    prefernces=store;
    prefernces.addPropertyChangeListener(this);
    initValues();
  }

  public Severity getUnresolvedUriRefLevel() {
    return unresolvedUri;
  }

  public Severity getUnresolvedQNameLevel() {
    return unresolvedQname;
  }

  public Severity getPrefixMismatchLevel() {
    return prefixMismatch;
  }

  public Severity getNamespaceMismatchLevel() {
    return nsMismatch;
  }

  public Severity getUnusedPrefixLevel() {
    return unusedPrefix;
  }

  public Severity getXsdTypeLevel() {
    return xsdType;
  }

  public Severity getDuplicateSubjectLevel() {
    return duplicateSubject;
  }

  public void propertyChange(PropertyChangeEvent event) {
    if(event.getProperty().contains(".validation.")){
      initValues();
    }
  }

  private void initValues() {
    unresolvedQname=getSeverity(TurtlePreferenceConstants.VALIDATION_UNRESOLVED_QNAME_KEY);
    unresolvedUri=getSeverity(TurtlePreferenceConstants.VALIDATION_UNRESOLVED_URI_KEY);
    unusedPrefix=getSeverity(TurtlePreferenceConstants.VALIDATION_UNUSED_PREFIX_KEY);
    nsMismatch=getSeverity(TurtlePreferenceConstants.VALIDATION_NS_MISMATCH_KEY);
    prefixMismatch=getSeverity(TurtlePreferenceConstants.VALIDATION_PREFIX_MISMATCH_KEY);
    xsdType=getSeverity(TurtlePreferenceConstants.VALIDATION_XSD_TYPE_KEY);
    duplicateSubject=getSeverity(TurtlePreferenceConstants.VALIDATION_DUPLICATE_SUBJECT_KEY);
  }

  Severity getSeverity(String key){
    Severity result=null;
    String s=prefernces.getString(key);
    if("info".equals(s)){
      result=Severity.INFO;
    }else if("warn".equals(s)){
      result=Severity.WARNING;
    }else if("error".equals(s)){
      result=Severity.ERROR;
    }
    return result;
  }

}
TOP

Related Classes of de.itemis.tooling.xturtle.ui.preferences.TurtlePreferenceBasedValidationSeverityLevels

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.