package org.gcube.portlets.user.geoportaldataviewer.client.ui.products.concessioni; import java.util.List; import org.gcube.application.geoportalcommon.shared.products.content.WorkspaceContentDV; import org.gcube.application.geoportalcommon.shared.products.model.AbstractRelazioneScavoDV; import org.gcube.application.geoportalcommon.shared.products.model.RelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; import org.gcube.portlets.user.geoportaldataviewer.client.ui.util.CustomFlexTable; import com.github.gwtbootstrap.client.ui.Button; import com.github.gwtbootstrap.client.ui.Paragraph; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; public class RelazioneScavoView extends Composite { private static final String SHOW_ITALIAN_DESCR = "Italian description"; private static final String SHOW_ENGLISH_DESCR = "English description"; private static RelazioneScavoViewUiBinder uiBinder = GWT.create(RelazioneScavoViewUiBinder.class); interface RelazioneScavoViewUiBinder extends UiBinder { } @UiField HTMLPanel relazioneScavoPanel; @UiField Paragraph abstractParagraphIta; @UiField Paragraph abstractParagraphEng; @UiField Button linkAbstractLanguage; private CustomFlexTable customTable = new CustomFlexTable(); public RelazioneScavoView(AbstractRelazioneScavoDV abstractDV, RelazioneScavoDV relazioneScavoDV, boolean autheticatedUser) { initWidget(uiBinder.createAndBindUi(this)); if(abstractDV.getAbstractSectionIta()!=null) { abstractParagraphIta.setText(abstractDV.getAbstractSectionIta()); if(abstractDV.getAbstractSectionEng()!=null) { linkAbstractLanguage.setVisible(true); abstractParagraphEng.setText(abstractDV.getAbstractSectionEng()); linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR); } } //customTable.addNextKeyValue("Created", relazioneScavoDV.getCreationTime()); //customTable.addNextKeyValue("ID Licenza", relazioneScavoDV.getLicenseID()); customTable.addNextKeyValues("Responsabili", relazioneScavoDV.getResponsabili(), GeoportalDataViewerConstants.NEW_LINE_BR); linkAbstractLanguage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { GWT.log("Clicked"); if(abstractParagraphIta.isVisible()) { linkAbstractLanguage.setText(SHOW_ITALIAN_DESCR); abstractParagraphIta.setVisible(false); abstractParagraphEng.setVisible(true); }else { linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR); abstractParagraphIta.setVisible(true); abstractParagraphEng.setVisible(false); } } }); //Showing the Download PFD relazione accoding to policy if(relazioneScavoDV.getPolicy()==null || relazioneScavoDV.getPolicy().equalsIgnoreCase("OPEN")) { relazioneScavoPanel.setVisible(true); showLintToDownloadLastContent(relazioneScavoDV.getListWsContent()); //DOWNLOAD RS }else { //I need to be authenticated to show the fields according to POLICY if(autheticatedUser) { showLintToDownloadLastContent(relazioneScavoDV.getListWsContent()); } } relazioneScavoPanel.add(customTable); } private void showLintToDownloadLastContent(List listContent) { if(listContent!=null) { int size = listContent.size(); WorkspaceContentDV lastDoc = listContent.get(size-1); customTable.addNextKeyWidget("PDF Relazione", new HTML("download")); } } }