static private final String VIEW_STATE_DISPLAY_RESULT = "VIEW_STATE_DISPLAY_RESULT"; - static private final String VIEW_STATE_DISPLAY_SERVICE = "VIEW_STATE_DISPLAY_SERVICE"; +// static private final String VIEW_STATE_DISPLAY_SERVICE = "VIEW_STATE_DISPLAY_SERVICE"; + + private static final String XSL_FILE = "/WEB-INF/lib/xsl/portlet.xsl"; + Non mi piace molto avere il path dell'XSL in EnginFramePortlet. Perchè non lo abbiamo hardcoded nel transformer? AA: il motivo è per genrializzare generateHTML, pasadno il path all'XSL chiunque può chiamarlo private String sdfURL; // URL to then EnginFrame Service Definition File private String baseURL; + private String portletXSL; Come sopra.. AA: Come sopra.. - String html = PortletXSLTransformer.generateHTML(this, request, response, baseURL, service.getId(), result.value); + log("submitServiceWithNoOptions(result):\n"+result.value); + String html = PortletXSLTransformer.generateHTML(request, response, baseURL, Utils.extractURI(result.value), false, portletXSL, result.value); Non è meglio passare "this" e "serviceId" e calcolare il path all'XSL e fare extractURI nel tranformer? Qualcosa in contrario se modifico il tutto per fare così? AA: OK, secondo me dovresti mettere dei getters nella Portlet, e.g., getBaseURL, getXSL, ecc. Oppure possiamo creare una classe, e.g. TransformationParams, che contiene i dati della trasformazione + + protected String getTitle(RenderRequest request) { + if(cache != null) { Se non dico cazzate, cache è sempre != null perchè è allocata nel costruttore. AA: Non so perché, ma a un certo punto mi aveva dato NPE + Service service = cache.getService(request); + if(service != null) { + return service.getName(); + } + } + return super.getTitle(request); + } Vuoi usare il nome del servizio come titolo della finestra? AA: non vi piace come idea? +} \ No newline at end of file