| /* |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| |
| package flex2.compiler.util; |
| |
| import flex2.compiler.Logger; |
| import flex2.compiler.ILocalizableMessage; |
| //import flash.localization.LocalizationManager; |
| |
| /** |
| * A partial Logger implemenation, which adds some localization |
| * related functionality. |
| * |
| * @author Roger Gonzalez |
| */ |
| public abstract class AbstractLogger implements Logger |
| { |
| public boolean initialized = false; |
| protected String INFO, WARNING, ERROR, COL, RECOMPILE, REASON, INCLUDEUPDATED, INCLUDEAFFECTED; |
| |
| public void init(/*LocalizationManager l10n*/) |
| { |
| if (initialized) |
| return; |
| initialized = true; |
| /* |
| if (l10n != null) |
| { |
| // todo - perhaps move this into the messages file itself using some sort of simple macro syntax? |
| INFO = l10n.getLocalizedTextString( "flex2.compiler.util.AbstractLogger.Info"); |
| WARNING = l10n.getLocalizedTextString( "flex2.compiler.util.AbstractLogger.Warning"); |
| ERROR = l10n.getLocalizedTextString( "flex2.compiler.util.AbstractLogger.Error"); |
| COL = l10n.getLocalizedTextString("flex2.compiler.util.AbstractLogger.col"); |
| RECOMPILE = l10n.getLocalizedTextString("flex2.compiler.util.AbstractLogger.Recompile"); |
| REASON = l10n.getLocalizedTextString("flex2.compiler.util.AbstractLogger.Reason"); |
| INCLUDEUPDATED = l10n.getLocalizedTextString("flex2.compiler.util.AbstractLogger.IncludeUpdated"); |
| INCLUDEAFFECTED = INCLUDEUPDATED; |
| } |
| */ |
| |
| if (INFO == null) |
| { |
| INFO = "Info"; |
| } |
| |
| if (WARNING == null) |
| { |
| WARNING = "Warning"; |
| } |
| |
| if (ERROR == null) |
| { |
| ERROR = "Error"; |
| } |
| |
| if (COL == null) |
| { |
| COL = "col"; |
| } |
| |
| if (RECOMPILE == null) |
| { |
| RECOMPILE = "Recompile"; |
| } |
| |
| if (REASON == null) |
| { |
| REASON = "Reason"; |
| } |
| |
| if (INCLUDEUPDATED == null) |
| { |
| INCLUDEUPDATED = "Updated"; |
| INCLUDEAFFECTED = INCLUDEUPDATED; |
| } |
| } |
| |
| public String formatPrefix(/* LocalizationManager l10n, */ILocalizableMessage m ) |
| { |
| init( /*l10n*/ ); |
| StringBuilder prefix = new StringBuilder(); |
| if (m.getPath() != null) |
| { |
| prefix.append( m.getPath() ); |
| if (m.getLine() != -1) |
| { |
| prefix.append( '(' ); |
| prefix.append( m.getLine() ); |
| prefix.append( ")" ); |
| |
| if (m.getColumn() != -1) |
| { |
| prefix.append( ": " ); |
| prefix.append( COL ); |
| prefix.append( ": " ); |
| prefix.append( m.getColumn() ); |
| } |
| } |
| prefix.append( ": " ); |
| } |
| if (m.getLevel() == ILocalizableMessage.ERROR) |
| { |
| prefix.append( ERROR ); |
| prefix.append( ": "); |
| } |
| else if (m.getLevel() == ILocalizableMessage.WARNING) |
| { |
| prefix.append( WARNING ); |
| prefix.append( ": " ); |
| } |
| else if (m.getLevel() == ILocalizableMessage.INFO) |
| { |
| } |
| else |
| { |
| assert false : "Unhandled ILocalizableMessage type"; |
| } |
| |
| return prefix.toString(); |
| } |
| |
| protected String formatExceptionDetail(ILocalizableMessage m /*, LocalizationManager loc*/) |
| { |
| String exText = null; |
| Exception ex = m.getExceptionDetail(); |
| if (ex != null) |
| { |
| /* |
| if (ex instanceof ILocalizableMessage) |
| { |
| exText = loc.getLocalizedTextString( m.getExceptionDetail() ); |
| } |
| else |
| { |
| */ |
| exText = ex.getMessage(); |
| if (exText == null) |
| exText = ex.getClass().getName(); |
| //} |
| } |
| exText = exText == null ? "" : ": " + exText; |
| return exText; |
| } |
| |
| /* |
| public void setLocalizationManager( LocalizationManager mgr ) |
| { |
| localizationManager = mgr; |
| } |
| |
| public LocalizationManager getLocalizationManager() |
| { |
| return localizationManager; |
| } |
| |
| private LocalizationManager localizationManager; |
| */ |
| } |