瀏覽代碼

Extracted logging methods for better overwriting in subclasses.

Thomas Kutz 9 年之前
父節點
當前提交
4be954f85f

+ 16 - 5
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/execution/AbstractGeneratorEntryExecutor.java

@@ -37,17 +37,28 @@ public abstract class AbstractGeneratorEntryExecutor implements IGeneratorEntryE
 
 	@Override
 	public void execute(GeneratorEntry entry) {
-		NamedElement element = (NamedElement) entry.getElementRef();
-		logger.log("Generating '" + element.getName() + "' to target project ..."
-				+ helper.getTargetProjectValue(entry).getStringValue());
+		logStart(entry);
 		try {
 			execute(factory.create(entry), entry);
 		} catch (Exception ex) {
-			logger.logError(ex);
+			logException(ex);
 		} finally {
-			logger.log("done...");
+			logEnd(entry);
 		}
+	}
+
+	protected void logStart(GeneratorEntry entry) {
+		String elementName = ((NamedElement) entry.getElementRef()).getName();
+		String targetProject = helper.getTargetProjectValue(entry).getStringValue();
+		logger.log(String.format("Generating %s to target project %s ...", elementName, targetProject));
+	}
+
+	protected void logEnd(GeneratorEntry entry) {
+		logger.log("done...");
+	}
 
+	protected void logException(Exception ex) {
+		logger.logError(ex);
 	}
 
 }

+ 2 - 2
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/filesystem/DefaultFileSystemAccessFactory.java

@@ -31,9 +31,9 @@ import com.google.inject.Provider;
 public class DefaultFileSystemAccessFactory {
 
 	@Inject
-	private Provider<ISCTFileSystemAccess> fileSystemProvider;
+	protected Provider<ISCTFileSystemAccess> fileSystemProvider;
 	@Inject
-	private ICoreLibraryHelper helper;
+	protected ICoreLibraryHelper helper;
 
 	public ISCTFileSystemAccess create(GeneratorEntry entry) {
 		ISCTFileSystemAccess result = fileSystemProvider.get();