ckan2zenodo-publisher-widget/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/view/Ckan2ZenodoViewManager.java

69 lines
1.8 KiB
Java

package org.gcube.portlets.widgets.ckan2zenodopublisher.client.view;
import java.util.ArrayList;
import java.util.List;
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.uibinder.AccordionBasicPanel;
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.uibinder.BasicInformationView;
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.view.uibinder.PublishFileView;
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoFile;
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
import com.google.gwt.user.client.ui.VerticalPanel;
public class Ckan2ZenodoViewManager {
AccordionBasicPanel basePanel;
public Ckan2ZenodoViewManager() {
}
public AccordionBasicPanel viewForPublishing(final ZenodoItem zenodoItem){
basePanel = new AccordionBasicPanel();
BasicInformationView basicForm = new BasicInformationView(zenodoItem) {
@Override
public void submitHandler() {
}
@Override
public void setError(boolean visible, String error) {
}
@Override
public void setConfirm(boolean visible, String msg) {
}
};
basePanel.getAcc_basic_info().add(basicForm);
if(zenodoItem.getFiles()!=null) {
List<PublishFileView> lstPFV = new ArrayList<PublishFileView>();
VerticalPanel fileVP = new VerticalPanel();
for (ZenodoFile file : zenodoItem.getFiles()) {
PublishFileView pfv = addFileForPublishing(file);
lstPFV.add(pfv);
fileVP.add(pfv);
}
basePanel.getAcc_files().add(fileVP);
}
return basePanel;
}
private PublishFileView addFileForPublishing(ZenodoFile file) {
PublishFileView pv = new PublishFileView(file);
pv.getField_file_name().setValue(file.getFilename());
pv.getSwitchButton().setValue(true);
return pv;
}
}