GLOBE Projects

GLOBE Side Navigation

An error occurred while processing the template.
Java method "com.sun.proxy.$Proxy41.getUserByEmailAddress(long, String)" threw an exception when invoked on com.sun.proxy.$Proxy41 object "gov.globe.liferay.portal.impl.service.user.GlobeUserLocalServiceWrapper2@5c52bffb"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: user = userLocalService.getUserByEmai...  [in template "10132#10165#GLOBE-PROJECT-TEMPLATE" at line 77, column 25]
----
1<#assign 
2    orgArray = [] 
3    countryArray = [] 
4    userArray = [] 
5    badgeArray = [] 
6    languageArray = [] 
7    protocolArray = [] 
8    reportTypesArray = [] 
9    orgLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.OrganizationLocalService") 
10    userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") 
11    groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") 
12    userGroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserGroupLocalService") 
13    idLocalService = serviceLocator.findService("gov.globe.util.idlookup.service.IDLookupLocalService") 
14    assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
15    globeMemberId = idLocalService.getId("globe.usergroupid.globe_members") 
16    candidateId = idLocalService.getId("globe.usergroupid.candidates") 
17    studentsId = idLocalService.getId("globe.usergroupid.students") 
18    projectDate = getterUtil.getString(project_date.getData()) 
19    reportType = "" 
20    accountType = "" 
21    videoLink = "" 
22    presentationLink = "" 
23/> 
24 
25<#if (project_authororganization.getSiblings()?has_content)> 
26    <#list project_authororganization.getSiblings() as authOrg > 
27        <#assign 
28            accountTypeArr = stringUtil.split(authOrg.getData(), "@@@") 
29            dataArray = stringUtil.split(accountTypeArr[0], "$$$") 
30        /> 
31        <#if (accountTypeArr?size > 1)> 
32            <#assign 
33                accountType = accountTypeArr[1] 
34            /> 
35        <#else> 
36            <#assign 
37                accountType = "regular" 
38            /> 
39        </#if> 
40         
41        <#if (dataArray?has_content && dataArray?size > 0) > 
42            <#assign orgValue = dataArray[0] /> 
43            <#if (orgValue?is_string && !orgValue?eval?is_number)> 
44                <#assign org = orgLocalService.getOrganization(company.getCompanyId(), orgValue) /> 
45            <#else> 
46                <#assign org = orgLocalService.getOrganization(orgValue?eval) /> 
47            </#if> 
48            <#assign 
49                orgName = org.getName() 
50                group = org.getGroup() 
51                orgURL = group.getFriendlyURL() 
52                orgLink = "<a href='/web${orgURL}'>${orgName}</a>" 
53                orgArray = orgArray + [orgLink] 
54            /> 
55            <#attempt > 
56                <#list orgLocalService.getParentOrganizations(org.getOrganizationId()) as parentOrg > 
57                    <#if parentOrg.getType() == "country_organization" > 
58                        <#assign 
59                            countryLink = "<a href='/web${parentOrg.getGroup().getFriendlyURL()}'>${parentOrg.getName()}</a>" 
60                            countryArray = countryArray + [countryLink] 
61                        /> 
62                        <#break > 
63                    </#if> 
64                </#list> 
65            <#recover > 
66            </#attempt> 
67            <#if (dataArray?size > 1) > 
68                <#assign 
69                    userData = dataArray[1] 
70                /> 
71                 
72                <#-- check if name has an email --> 
73                <#if (userData?contains("("))> 
74                    <#assign 
75                        emailAddress = stringUtil.extractLast(userData, "(") 
76                        emailAddress = stringUtil.extractFirst(emailAddress, ")") 
77                        user = userLocalService.getUserByEmailAddress(company.getCompanyId(), emailAddress) 
78                    /> 
79                    <#if user.isActive() > 
80                        <#if (userGroupLocalService.hasUserUserGroup(user.getUserId(), globeMemberId) 
81                                || userGroupLocalService.hasUserUserGroup(user.getUserId(), candidateId) 
82                                || userGroupLocalService.hasUserUserGroup(user.getUserId(), studentsId)) > 
83                            <#assign 
84                                groupUser = groupLocalService.getGroup(user.getGroup().getGroupId()) 
85                                userLink = "<a href='/web${groupUser.getFriendlyURL()}'>${user.getFullName()}</a>" 
86                            /> 
87                        <#else> 
88                            <#assign 
89                                userLink = "${user.getFullName()}" 
90                            /> 
91                        </#if> 
92                    <#else> 
93                        <#assign 
94                            userLink = "${user.getFullName()} (inactive)" 
95                        /> 
96                    </#if> 
97                    <#assign 
98                        userArray = userArray + [userLink] 
99                    /> 
100                 
101                <#else> 
102                    <#-- no email - just show name --> 
103                    <#assign 
104                        userArray = userArray + [userData] 
105                    /> 
106                </#if> 
107                 
108            </#if> 
109        </#if> 
110    </#list> 
111</#if> 
112<#if (project_badges?has_content && project_badges.getChildren()?has_content)> 
113    <#list project_badges.getChildren() as badge > 
114        <#if (badge.getData()?has_content && badge.getData()?eval) > 
115            <#assign badgeArray = badgeArray + [languageUtil.get(locale, badge.getName())] /> 
116        </#if> 
117    </#list> 
118</#if> 
119<#if (project_report_type_2?has_content) > 
120    <#-- this is the NEW way of specifying report types --> 
121    <#list project_report_type_2.getChildren() as reportTypeObj > 
122        <#if (reportTypeObj.getData()?has_content && (reportTypeObj.getName() == "ivss_report" || reportTypeObj.getName() == "mission_earth_report")) > 
123            <#assign reportType = reportTypeObj.getName() /> 
124        </#if> 
125        <#if (reportTypeObj.getData()?has_content && reportTypeObj.getData()?eval) > 
126            <#switch reportTypeObj.getName() > 
127                <#case "ivss_report"> 
128                    <#assign reportTypesArray = reportTypesArray + ["International Virtual Science Symposium Report"] /> 
129                <#break > 
130                <#case "standard_research_report"> 
131                    <#assign reportTypesArray = reportTypesArray + ["Standard Research Report"] /> 
132                <#break > 
133                <#case "mission_earth_report"> 
134                    <#assign reportTypesArray = reportTypesArray + ["Mission Earth Report"] /> 
135                <#break > 
136                <#case "mission_mosquito_report"> 
137                    <#assign reportTypesArray = reportTypesArray + ["Mission Mosquito Report"] /> 
138                <#break > 
139                <#case "student_research_symposia_report"> 
140                    <#assign reportTypesArray = reportTypesArray + ["U.S. Student Research Symposia (SRS)"] /> 
141                <#break > 
142            </#switch> 
143        </#if> 
144    </#list> 
145<#elseif (type_student_report?has_content) > 
146    <#-- this is the OLD way of specifying the report type --> 
147    <#assign 
148        project_report_type = type_student_report.getChild("project_report_type") 
149    /> 
150    <#if (project_report_type.getData() == "science_fair_report") > 
151        <#assign  
152            reportType = "ivss_report" 
153            reportTypesArray = reportTypesArray + ["International Virtual Science Symposium Report"] 
154        /> 
155    <#elseif (project_report_type.getData() == "standard_report") > 
156        <#assign 
157            reportType = "standard_research_report" 
158            reportTypesArray = reportTypesArray + ["Standard Research Report"] 
159        /> 
160    <#elseif (project_report_type.getData() == "mission_earth_report") > 
161        <#assign 
162            reportType = "mission_earth_report" 
163            reportTypesArray = reportTypesArray + ["Mission Earth Report"] 
164        /> 
165    </#if> 
166</#if> 
167 
168<#if report_language?has_content > 
169    <#list report_language.getChildren() as language> 
170        <#if (language.getData()?has_content && language.getData()?eval) > 
171            <#if (language.getName() == "other") > 
172                <#assign otherLanguage = language.getChild("other_string") /> 
173                <#if (otherLanguage.getData()?has_content) > 
174                    <#assign languageArray = languageArray +  
175                        [stringUtil.upperCaseFirstLetter(language.getName()) +  
176                            " (" + otherLanguage.getData() + ")"] /> 
177                </#if> 
178            <#else> 
179                <#assign languageArray = languageArray + [stringUtil.upperCaseFirstLetter(language.getName())] /> 
180            </#if> 
181        </#if> 
182    </#list> 
183</#if> 
184<#if protocol_checkboxes?has_content && protocol_checkboxes.getData()?has_content > 
185    <#assign protocolIds = stringUtil.split(protocol_checkboxes.getData()) /> 
186    <#list protocolIds as protocolId > 
187        <#if (protocolId?has_content) > 
188            <#assign 
189                category = assetCategoryLocalService.getCategory(protocolId?eval) 
190                protocolArray = protocolArray + [category.getName()] 
191            /> 
192        </#if> 
193    </#list> 
194</#if> 
195 
196<#if (proejct_video_url??) > 
197    <#if (proejct_video_url.getData()?has_content) > 
198        <#assign videoLink = proejct_video_url.getData() /> 
199    </#if> 
200</#if> 
201 
202<#if (project_poster_presentation??) > 
203    <#if (project_poster_presentation.getData()?has_content) > 
204        <#assign presentationLink = project_poster_presentation.getData() /> 
205    </#if> 
206</#if> 
207 
208<#if (project_presentation?has_content) > 
209    <#if project_presentation.getChild("proejct_video_url")??> 
210        <#assign  
211            proejct_video_url = project_presentation.getChild("proejct_video_url") 
212            videoLink = proejct_video_url.getData() 
213        /> 
214    </#if> 
215    <#if project_presentation.getChild("project_poster_presentation")??> 
216        <#assign  
217            project_poster_presentation = project_presentation.getChild("project_poster_presentation") 
218            presentationLink = project_poster_presentation.getData() 
219        /> 
220    </#if> 
221</#if> 
222 
223<#assign 
224    organizations = stringUtil.merge(orgArray, ", ") 
225    countries = stringUtil.merge(countryArray, ", ") 
226    users = stringUtil.merge(userArray, ", ") 
227    badges = stringUtil.merge(badgeArray, ", ") 
228    languages = stringUtil.merge(languageArray, ", ") 
229    reportTypes = stringUtil.merge(reportTypesArray, ", ") 
230    protocols = stringUtil.merge(protocolArray, ", ") 
231    projectImageUrl = project_thumbnail_image.getData() 
232/> 
233<#if (validator.isNull(projectImageUrl) || projectImageUrl == "") > 
234    <#assign 
235        projectImageUrl = "/o/gov-globe-main-theme/images/GLOBElogo-2015.png" 
236    /> 
237</#if> 
238 
239<style type="text/css" > 
240    #report-container #report-details-container { 
241        display: flex; 
242
243    #report-container #report-details-container #report-details { 
244        flex: 1; 
245
246    #report-container #report-details-container .report-data-row { 
247        padding-bottom: 7px; 
248
249    #report-container #report-details-container .report-data-row .report-data-title { 
250        font-weight: 700; 
251
252    #report-container #report-details-container .report-data-row .report-data-value { 
253        padding:0px 10px; 
254
255    #report-container #report-image { 
256        width: 225px; 
257        vertical-align: top; 
258
259    #report-container #report-image img { 
260        height: 200px; 
261        object-fit: cover; 
262
263    #report-container #report-url-description { 
264        margin: 20px 0 0; 
265
266    #report-container #report-url-description #report-description { 
267        margin-top: 20px; 
268
269</style> 
270 
271<div id="report-container"> 
272    <h2 style="padding-bottom:10px;">${project_title.getData()}</h2> 
273    <div id="report-details-container"> 
274        <div id="report-details"> 
275            <div class="report-data-row" ><span class="report-data-title" >Organization(s):</span><span class="report-data-value" >${organizations}</span></div> 
276            <div class="report-data-row" ><span class="report-data-title" >Country:</span><span class="report-data-value" >${countries}</span></div> 
277            <div class="report-data-row" ><span class="report-data-title" >Student(s):</span><span class="report-data-value" >${project_authors.getData()}</span></div> 
278            <div class="report-data-row" ><span class="report-data-title" >Grade Level:</span><span class="report-data-value" >${languageUtil.get(locale,project_grade.getData())}</span></div> 
279             
280            <div class="report-data-row" ><span class="report-data-title" > 
281            <#if (accountType == 'obs_cs' || accountType == 'obs_school')> 
282                Teacher:</span><span class="report-data-value">${users}</span></div> 
283            <#else> 
284                GLOBE Teacher:</span><span class="report-data-value">${users}</span></div> 
285            </#if> 
286 
287            <div class="report-data-row" ><span class="report-data-title" >Contributors:</span><span class="report-data-value" >${project_additional_authors.getData()}</span></div> 
288            <div class="report-data-row" ><span class="report-data-title" >Report Type(s):</span><span class="report-data-value" >${reportTypes}</span></div> 
289            <div class="report-data-row" ><span class="report-data-title" >Protocols:</span><span class="report-data-value" >${protocols}</span></div> 
290 
291            <#if (reportType == "ivss_report" || reportType == "mission_earth_report") > 
292                <#if (videoLink?has_content && videoLink?length > 0) > 
293                    <#if (!stringUtil.startsWith(videoLink, "http://") && !stringUtil.startsWith(videoLink, "https://")) > 
294                        <#assign videoLink = "http://" + videoLink /> 
295                    </#if> 
296                    <div class="report-data-row"> 
297                        <span class="report-data-title">Presentation Video:</span><span  
298                                class="report-data-value" > 
299                            <a href="${videoLink}" target="_blank">View Video</a> 
300                        </span> 
301                    </div> 
302                </#if> 
303 
304 
305 
306                <#if (presentationLink?has_content && presentationLink?length > 0) > 
307                    <div class="report-data-row"> 
308                        <span class="report-data-title">Presentation Poster:</span><span  
309                                class="report-data-value"> 
310                            <a href="${presentationLink}" target="_blank">View Document</a> 
311                        </span> 
312                    </div> 
313                </#if> 
314            </#if> 
315            <#if (reportType == "ivss_report") > 
316                <div class="report-data-row"> 
317                    <span class="report-data-title">Optional Badges:</span><span  
318                            class="report-data-value" >${badges}</span> 
319                </div> 
320            </#if> 
321            <div class="report-data-row" > 
322                <span class="report-data-title" >Language(s):</span><span  
323                        class="report-data-value" >${languages}</span> 
324            </div> 
325            <div class="report-data-row" > 
326                <span class="report-data-title" >Date Submitted:</span><span  
327                        class="report-data-value" >${projectDate}</span> 
328            </div> 
329        </div> 
330        <div id="report-image" > 
331            <img src="${projectImageUrl}" alt="${project_thumbnail_alt_tag.getData()}"> 
332        </div> 
333    </div> 
334    <div id="report-url-description"> 
335        <#if (project_linkto_document.getData() != "")> 
336            <div > 
337                <a href="${project_linkto_document.getData()}" target="_blank"><b>View Research Report</b></a><br> 
338            </div> 
339        </#if> 
340        <div id="report-description"> 
341            ${project_description.getData()} 
342        </div> 
343    </div> 
344</div> 



Comments

Dear Anna, I congratulate you on your work. I learned a lot. Hope you will continue to work on projects like this. Hope you will present your reserch to your classmates or local community. Even hypothesis was not supported by the data, this is how we learn trough research. Wish you all the best.
Dear Ms. Mezga,

Thank you so much for looking into my project! I appreciate all of the ideas that you shared. I have presented most of my data to my class during our school science fair. I will also be attending Bay Day in May to present my project to the community at our local college. I also presented to various judges and students from other districts about my project at YCSEF, our regional science fair. My teacher and I were very surprised that my data did not support my hypothesis, but it did help as I was trying to figure out why it was not supported. Through revisiting my research and researching more, I finally made the connection as to why this was, and it actually really made sense. I think it took my data showing me something different for me to look at the research in a different way to make that connection. Thank you for looking at my presentation and sharing your expertise with me!

Thank you,
Anna Willard