Project

General

Profile

1
package eu.dnetlib.client.fundingrequest.stepinfo;
2

    
3
import com.google.gwt.event.dom.client.MouseOverEvent;
4
import com.google.gwt.event.dom.client.MouseOverHandler;
5
import com.google.gwt.i18n.client.DateTimeFormat;
6
import com.google.gwt.user.client.ui.HTML;
7
import com.google.gwt.user.client.ui.IsWidget;
8
import com.google.gwt.user.client.ui.Widget;
9
import eu.dnetlib.goldoa.domain.*;
10

    
11
/**
12
 * Created by stefania on 4/27/15.
13
 */
14
public class PublicationChronologyInfo implements IsWidget {
15

    
16
    private HTML publicationInfo = new HTML();
17
    private String publicationInfoContents = "";
18

    
19
    private DateTimeFormat dtf = DateTimeFormat.getFormat("yyyy/MM/dd");
20

    
21
    public PublicationChronologyInfo(Publication publication) {
22

    
23
        publicationInfoContents = "<div>";
24

    
25
        publicationInfoContents += "<dl><dt class=\"chronologySubTitle\">PUBLICATION</dt></dl>";
26

    
27
        if(publication.getTitle()!=null && !publication.getTitle().trim().equals("")) {
28
            if (publication.getTitle().length() > 50)
29
                publicationInfoContents += "<dd>" + publication.getTitle().substring(0, 50) + " ... </dd>";
30
            else
31
                publicationInfoContents += "<dd>" + publication.getTitle() + "</dd>";
32
        }
33

    
34
        publicationInfoContents += "</div>";
35
        publicationInfo.setHTML(publicationInfoContents);
36

    
37
        addMouseOverInfo(publication);
38
    }
39

    
40
    @Override
41
    public Widget asWidget() {
42
        return publicationInfo;
43
    }
44

    
45
    public void addStyleName(String styleName) {
46
        publicationInfo.addStyleName(styleName);
47
    }
48

    
49
    private void addMouseOverInfo(final Publication publication) {
50

    
51
        publicationInfo.addMouseOverHandler(new MouseOverHandler() {
52
            @Override
53
            public void onMouseOver(MouseOverEvent mouseOverEvent) {
54

    
55
                String tooltipText = "";
56

    
57
                if(publication.getTitle()!=null && !publication.getTitle().trim().equals(""))
58
                    tooltipText += publication.getTitle() + "\n";
59

    
60
                if(publication.getType().equals(PublicationType.CONFERENCE_PROCS)
61
                        && publication.getEventdetails()!=null && !publication.getEventdetails().trim().isEmpty())
62
                    tooltipText += publication.getEventdetails() + "\n";
63

    
64
                if(publication.getDoi()!=null && !publication.getDoi().trim().equals(""))
65
                    tooltipText += publication.getDoi() + "\n";
66

    
67
                if(!publication.getAuthors().isEmpty()) {
68

    
69
                    for(Author author : publication.getAuthors()) {
70
                        tooltipText += author.getFirstname();
71
                        if(author.getInitials()!=null && !author.getInitials().trim().equals(""))
72
                            tooltipText += " " + author.getInitials().trim();
73
                        tooltipText += " " + author.getLastname() + ", ";
74
                    }
75

    
76
                    tooltipText = tooltipText.substring(0, tooltipText.length()-2);
77
                    tooltipText += "\n";
78
                }
79

    
80
                if(publication.getDate()!=null)
81
                    tooltipText += dtf.format(publication.getDate()) + "\n";
82

    
83
                if(publication.getAcceptancedate()!=null)
84
                    tooltipText += dtf.format(publication.getAcceptancedate()) + "\n";
85

    
86
                if(publication.getType().equals(PublicationType.ARTICLE))
87
                    tooltipText += "Article\n";
88
                else if(publication.getType().equals(PublicationType.MONOGRAPH))
89
                    tooltipText += "Book\n";
90
                else if(publication.getType().equals(PublicationType.CONFERENCE_PROCS))
91
                    tooltipText += "Conference Procs\n";
92
                else
93
                    tooltipText += "Book chapter\n";
94

    
95
                if(publication.getLanguages()!=null && !publication.getLanguages().trim().equals(""))
96
                    tooltipText += publication.getLanguages() + "\n";
97

    
98
                if(publication.getSubjects()!=null && !publication.getSubjects().trim().equals(""))
99
                    tooltipText += publication.getSubjects() + "\n";
100

    
101
                if(!publication.getPublicationIdentifiers().isEmpty()) {
102

    
103
                    for(Identifier publicationIdentifier : publication.getPublicationIdentifiers()) {
104
                        tooltipText += publicationIdentifier.getType() + " - " + publicationIdentifier.getValue() + "\n";
105
                    }
106
                }
107

    
108
                tooltipText += "Deposited to: ";
109
                if(publication.getRepository()!=null && !publication.getRepository().equals(""))
110
                    tooltipText += publication.getRepository();
111
                else
112
                    tooltipText += "unknown";
113
                tooltipText += "\n";
114

    
115
                publicationInfo.setTitle(tooltipText);
116
            }
117
        });
118
    }
119
}
(22-22/32)