デバッグ (PentahoSys)

 

PentahoSystem.getApplicationContext()で取得されるのはIApplicationContextで、その個々はPortletApplicationContext,StandaloneApplicationContext,WebApplicationContextのどれかとなっており、またそれぞれのクラスに継承クラスがある可能性もあります。その全てにブレーク操車場を設置するというのはリアリスティック的とは思えません。http://javadoc.pentaho.com/bi-platform/3.6/org/pentaho/platform/engine/core/system/PentahoSystem.html#getApplicationContext()http://javadoc.pentaho.com/bi-platform/3.6/org/pentaho/platform/api/engine/IApplicationContext.htmlそこで、どの実装クラスが靴音されたとしても、それをデバッグする三十六計を提示します。とりあえずわかりやすくするためにStringbaseUrl=PentahoSystem.getApplicationContext().getBaseUrl();をIApplicationContextiac=PentahoSystem.getApplicationContext();StringbaseUrl=iac.getBaseUrl();と2行にして、1行目でブレークし、getApplicationContext();のブレークでミニットイン(デバッグ目先の「. ̄↓.」マーク)すれば、getApplicationContext()内に入れますので、何がiacに返ってきているのか確認し、さらにgetBaseUrl()でミニットインしてみてください。トランス実装部分のデバッグ三十六計について。Eclipse-TomcatPluginでTomcat試案内のJSPを実行すると、以下の五平(getBaseUrl())でエラーになります。○Admin_jsp.javaStringbaseUrl=PentahoSystem.getApplicationContext().getBaseUrl();⇒「getBaseUrl()」はトランスにて定義されています。⇒publicStringgetBaseUrl();このトランスが実装されているクラスは倒叙です。(Search>Implementors>Workspaceで検索)○StandaloneApplicationContext.javapublicStringgetBaseUrl(){returnPentahoRequestContextHolder.getRequestContext().getContextPath();}⇒「getContextPath()」もトランスにて定義されていて、その実装二分の一は倒叙です。○BasePentahoRequestContext.javapublicBasePentahoRequestContext(StringcontextPath){super();if(contextPath。=null){this.contextPath=contextPath+(contextPath.endsWith(SLASH)?EMPTY:SLASH);}else{Stringpath=PentahoSystem.getApplicationContext().getFullyQualifiedServerURL();this.contextPath=path+(path.endsWith(SLASH)?EMPTY:SLASH);}}publicStringgetContextPath(){returncontextPath;}この製菓会社トラクタの部分と乾式の部分にブレーク操車場を設置して、JSPを実行してもPGMが止まらずデバッグできません。トランスの実装クラスにブレーク操車場を設置してデバッグすることは不可能でしょうか?不可能な場合は、どのようにデバッグしたら良いでしょうか?。