[535938] Extract EAttribute filtering to a method

Bug: 535938
Change-Id: Id05bdd80e4a935f5a49d4843313d83e90990d86b
Signed-off-by: Balazs Bea <balazs.bea@incquerylabs.com>
diff --git a/plugins/org.eclipse.viatra.modelobfuscator.runtime/src/org/eclipse/viatra/modelobfuscator/emf/simple/AbstractModelObfuscator.xtend b/plugins/org.eclipse.viatra.modelobfuscator.runtime/src/org/eclipse/viatra/modelobfuscator/emf/simple/AbstractModelObfuscator.xtend
index f8fcd2d..7f1b18f 100644
--- a/plugins/org.eclipse.viatra.modelobfuscator.runtime/src/org/eclipse/viatra/modelobfuscator/emf/simple/AbstractModelObfuscator.xtend
+++ b/plugins/org.eclipse.viatra.modelobfuscator.runtime/src/org/eclipse/viatra/modelobfuscator/emf/simple/AbstractModelObfuscator.xtend
@@ -11,15 +11,16 @@
  *******************************************************************************/
 package org.eclipse.viatra.modelobfuscator.emf.simple
 
+import com.google.common.base.Preconditions
 import java.util.Map
+import org.eclipse.emf.common.util.EList
+import org.eclipse.emf.ecore.EAttribute
 import org.eclipse.emf.ecore.EObject
+import org.eclipse.emf.ecore.resource.Resource
 import org.eclipse.emf.ecore.resource.ResourceSet
+import org.eclipse.emf.ecore.util.EcoreUtil
 import org.eclipse.viatra.modelobfuscator.api.ModelObfuscator
 import org.eclipse.viatra.modelobfuscator.util.StringObfuscator
-import com.google.common.base.Preconditions
-import org.eclipse.emf.ecore.util.EcoreUtil
-import org.eclipse.emf.common.util.EList
-import org.eclipse.emf.ecore.resource.Resource
 
 abstract class AbstractModelObfuscator implements ModelObfuscator {
   protected ResourceSet inputResourceSet
@@ -46,10 +47,7 @@
       EcoreUtil.getAllContents(it, true).filter(EObject).forEach [ obj |
         // only attributes modified
         obj.eClass.EAllAttributes.filter [
-          // we don't need (or can't) to modify such attributes
-          changeable && !derived && !volatile &&
-          // the value must be String then
-          EAttributeType.instanceClass == String
+          filterAttribute(it)
         ].forEach [
           val old = obj.eGet(it)
           if (many) {
@@ -70,7 +68,14 @@
       ]
     ]
   }
-  
+
+  protected def boolean filterAttribute(EAttribute eAttribute) {
+    // we don't need (or can't) to modify such attributes
+    eAttribute.changeable && !eAttribute.derived && !eAttribute.volatile &&
+    // the value must be String then
+    eAttribute.EAttributeType.instanceClass == String
+  }
+
   protected def String modifyData(String data, boolean obfuscate)
 
   /**