3838import org .jmol .api .JmolAdapter ;
3939import org .jmol .api .JmolStatusListener ;
4040import org .jmol .api .JmolViewer ;
41- import org .jmol .util .Logger ;
41+ import org .jmol .util .LoggerInterface ;
42+ import org .slf4j .Logger ;
43+ import org .slf4j .LoggerFactory ;
4244
4345import javax .swing .*;
46+
4447import java .awt .*;
4548import java .awt .event .ActionEvent ;
4649import java .awt .event .ActionListener ;
@@ -52,6 +55,8 @@ public class JmolPanel
5255extends JPrintPanel
5356implements ActionListener
5457{
58+ private static final Logger logger = LoggerFactory .getLogger (JmolPanel .class );
59+
5560 private static final long serialVersionUID = -3661941083797644242L ;
5661
5762 private JmolViewer viewer ;
@@ -62,13 +67,13 @@ public class JmolPanel
6267
6368 Structure structure ;
6469
65- private boolean verbose = false ;
66-
6770 public JmolPanel () {
6871 super ();
6972 statusListener = new MyJmolStatusListener ();
7073 adapter = new SmarterJmolAdapter ();
71- Logger .setLogLevel ( verbose ?Logger .LEVEL_INFO :Logger .LEVEL_ERROR );
74+ JmolLoggerAdapter jmolLogger = new JmolLoggerAdapter (LoggerFactory .getLogger (org .jmol .api .JmolViewer .class ));
75+ org .jmol .util .Logger .setLogger (jmolLogger );
76+ org .jmol .util .Logger .setLogLevel ( jmolLogger .getLogLevel () );
7277 viewer = JmolViewer .allocateViewer (this ,
7378 adapter ,
7479 null ,null ,null ,null ,
@@ -173,7 +178,8 @@ public void actionPerformed(ActionEvent event) {
173178 return ;
174179 }
175180
176- JComboBox source = (JComboBox ) event .getSource ();
181+ @ SuppressWarnings ("unchecked" )
182+ JComboBox <String > source = (JComboBox <String >) event .getSource ();
177183 String value = source .getSelectedItem ().toString ();
178184 evalString ("save selection; " );
179185
@@ -267,7 +273,7 @@ private void colorBySCOP() {
267273 List <String >ranges = domain .getRanges ();
268274
269275 for (String range : ranges ){
270- if ( verbose ) System . out . println (range );
276+ logger . debug (range );
271277 String [] spl = range .split (":" );
272278 String script = " select " ;
273279 if ( spl .length > 1 )
@@ -276,7 +282,7 @@ private void colorBySCOP() {
276282 script += "*" + spl [0 ]+"/1;" ;
277283 script += " color [" + c1 .getRed () + "," +c1 .getGreen () + "," +c1 .getBlue ()+"];" ;
278284 script += " color cartoon [" + c1 .getRed () + "," +c1 .getGreen () + "," +c1 .getBlue ()+"] ;" ;
279- if ( verbose ) System . out . println (script );
285+ logger . debug (script );
280286 evalString (script );
281287
282288 }
@@ -286,7 +292,7 @@ private void colorBySCOP() {
286292 }
287293
288294 private void colorByPDP () {
289- if ( verbose ) System . out . println ("colorByPDP" );
295+ logger . debug ("colorByPDP" );
290296 if ( structure == null )
291297 return ;
292298
@@ -310,13 +316,13 @@ private void colorByPDP() {
310316 int end = s .getTo ();
311317 Group startG = ca [start ].getGroup ();
312318 Group endG = ca [end ].getGroup ();
313- if ( verbose ) System . out . println (" Segment: " +startG .getResidueNumber () +":" + startG .getChainId () + " - " + endG .getResidueNumber ()+":" +endG .getChainId () + " " + s );
319+ logger . debug (" Segment: " +startG .getResidueNumber () +":" + startG .getChainId () + " - " + endG .getResidueNumber ()+":" +endG .getChainId () + " " + s );
314320 String j1 = startG .getResidueNumber ()+"" ;
315321 String j2 = endG .getResidueNumber ()+":" +endG .getChainId ();
316322 String script = " select " +j1 +"-" +j2 +"/1;" ;
317323 script += " color [" + c1 .getRed () + "," +c1 .getGreen () + "," +c1 .getBlue ()+"];" ;
318324 script += " color cartoon [" + c1 .getRed () + "," +c1 .getGreen () + "," +c1 .getBlue ()+"] ;" ;
319- if ( verbose ) System . out . println (script );
325+ logger . debug (script );
320326 evalString (script );
321327 }
322328
@@ -356,15 +362,55 @@ public void destroy(){
356362 adapter = null ;
357363 }
358364
359- public boolean isVerbose () {
360- return verbose ;
361- }
362-
363- public void setVerbose (boolean verbose ) {
364- this .verbose = verbose ;
365- if (statusListener instanceof MyJmolStatusListener ) {
366- ((MyJmolStatusListener )statusListener ).setVerbose (verbose );
365+ public static class JmolLoggerAdapter implements LoggerInterface {
366+ private Logger slf ;
367+ public JmolLoggerAdapter (Logger slf ) {
368+ this .slf =slf ;
369+ }
370+ public int getLogLevel () {
371+ if ( slf .isTraceEnabled () )
372+ return org .jmol .util .Logger .LEVEL_MAX ;
373+ if ( slf .isDebugEnabled () )
374+ return org .jmol .util .Logger .LEVEL_DEBUG ;
375+ if ( slf .isInfoEnabled () )
376+ return org .jmol .util .Logger .LEVEL_INFO ;
377+ if ( slf .isWarnEnabled () )
378+ return org .jmol .util .Logger .LEVEL_WARN ;
379+ if ( slf .isErrorEnabled () )
380+ return org .jmol .util .Logger .LEVEL_ERROR ;
381+ throw new IllegalStateException ("Unknown SLF4J error level" );
382+ }
383+ @ Override
384+ public void debug (String txt ) {
385+ slf .debug (txt );
386+ }
387+ @ Override
388+ public void info (String txt ) {
389+ slf .info (txt );
390+ }
391+ @ Override
392+ public void warn (String txt ) {
393+ slf .warn (txt );
394+ }
395+ @ Override
396+ public void warnEx (String txt , Throwable e ) {
397+ slf .warn (txt ,e );
398+ }
399+ @ Override
400+ public void error (String txt ) {
401+ slf .error (txt );
402+ }
403+ @ Override
404+ public void errorEx (String txt , Throwable e ) {
405+ slf .error (txt ,e );
406+ }
407+ @ Override
408+ public void fatal (String txt ) {
409+ slf .error (txt );
410+ }
411+ @ Override
412+ public void fatalEx (String txt , Throwable e ) {
413+ slf .error (txt ,e );
367414 }
368415 }
369-
370416}
0 commit comments