flex2.compiler.util.AbstractLogger Maven / Gradle / Ivy
/*
*
* 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;
*/
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy