1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.portal.business.portlet;
35
36 import fr.paris.lutece.portal.business.XmlContent;
37 import fr.paris.lutece.portal.business.page.Page;
38 import fr.paris.lutece.portal.business.stylesheet.StyleSheet;
39 import fr.paris.lutece.util.xml.XmlUtil;
40
41 import java.sql.Timestamp;
42
43 import java.util.Map;
44
45 import javax.servlet.http.HttpServletRequest;
46
47
48
49
50
51 public abstract class Portlet implements XmlContent
52 {
53
54
55 public static final int STATUS_PUBLISHED = 0;
56 public static final int STATUS_UNPUBLISHED = 1;
57 public static final int FLAG_DISPLAY_ON_SMALL_DEVICE = 0x00000001;
58 public static final int FLAG_DISPLAY_ON_NORMAL_DEVICE = 0x00000010;
59 public static final int FLAG_DISPLAY_ON_LARGE_DEVICE = 0x00000100;
60 public static final int FLAG_DISPLAY_ON_XLARGE_DEVICE = 0x00001000;
61 private static final String VALUE_TRUE = "1";
62 private static final String VALUE_FALSE = "0";
63
64
65
66 private static final int MODE_NORMAL = 0;
67 private static final int MODE_ADMIN = 1;
68 private int _nId;
69 private int _nPageId;
70 private int _nStyleId;
71 private int _nColumn;
72 private int _nOrder;
73 private int _nStatus;
74 private int _nAcceptAlias;
75 private int _nDisplayPortletTitle;
76 private String _strName;
77 private String _strPortletTypeId;
78 private String _strPortletTypeName;
79 private String _strUrlCreation;
80 private String _strUrlUpdate;
81 private String _strPluginName;
82 private String _strHomeClassName;
83 private String _strRole;
84 private Timestamp _dateUpdate;
85 private int _nDeviceFlags;
86
87
88
89
90
91
92
93
94
95 public int getId( )
96 {
97 return _nId;
98 }
99
100
101
102
103
104
105
106 public void setId( int nId )
107 {
108 _nId = nId;
109 }
110
111
112
113
114
115
116 public int getStyleId( )
117 {
118 return _nStyleId;
119 }
120
121
122
123
124
125
126
127 public void setStyleId( int nStyleId )
128 {
129 _nStyleId = nStyleId;
130 }
131
132
133
134
135
136
137 public int getPageId( )
138 {
139 return _nPageId;
140 }
141
142
143
144
145
146
147
148 public void setPageId( int nPageId )
149 {
150 _nPageId = nPageId;
151 }
152
153
154
155
156
157
158 public int getStatus( )
159 {
160 return _nStatus;
161 }
162
163
164
165
166
167
168
169 public void setStatus( int nStatus )
170 {
171 _nStatus = nStatus;
172 }
173
174
175
176
177
178
179 public String getName( )
180 {
181 return _strName;
182 }
183
184
185
186
187
188
189
190 public void setName( String strName )
191 {
192 _strName = strName;
193 }
194
195
196
197
198
199
200 public String getPortletTypeId( )
201 {
202 return _strPortletTypeId;
203 }
204
205
206
207
208
209
210
211 public void setPortletTypeId( String strPortletTypeId )
212 {
213 _strPortletTypeId = strPortletTypeId;
214 }
215
216
217
218
219
220
221 public String getPortletTypeName( )
222 {
223 return _strPortletTypeName;
224 }
225
226
227
228
229
230
231
232 public void setPortletTypeName( String strPortletTypeName )
233 {
234 _strPortletTypeName = strPortletTypeName;
235 }
236
237
238
239
240
241
242 public String getUrlCreation( )
243 {
244 return _strUrlCreation;
245 }
246
247
248
249
250
251
252
253 public void setUrlCreation( String strUrlCreation )
254 {
255 _strUrlCreation = strUrlCreation;
256 }
257
258
259
260
261
262
263 public String getUrlUpdate( )
264 {
265 return _strUrlUpdate;
266 }
267
268
269
270
271
272
273
274 public void setUrlUpdate( String strUrlUpdate )
275 {
276 _strUrlUpdate = strUrlUpdate;
277 }
278
279
280
281
282
283
284 public Timestamp getDateUpdate( )
285 {
286 return _dateUpdate;
287 }
288
289
290
291
292
293
294
295 public void setDateUpdate( Timestamp dateUpdate )
296 {
297 _dateUpdate = dateUpdate;
298 }
299
300
301
302
303
304
305 public int getColumn( )
306 {
307 return _nColumn;
308 }
309
310
311
312
313
314
315
316 public void setColumn( int nColumn )
317 {
318 _nColumn = nColumn;
319 }
320
321
322
323
324
325
326 public int getOrder( )
327 {
328 return _nOrder;
329 }
330
331
332
333
334
335
336
337 public void setOrder( int nType )
338 {
339 _nOrder = nType;
340 }
341
342
343
344
345
346
347 public int getDeviceDisplayFlags( )
348 {
349 return _nDeviceFlags;
350 }
351
352
353
354
355
356
357
358
359 public boolean hasDeviceDisplayFlag( int nFlag )
360 {
361 return ( _nDeviceFlags & nFlag ) != 0;
362 }
363
364
365
366
367
368
369
370 public void setDeviceDisplayFlags( int nFlags )
371 {
372 _nDeviceFlags = nFlags;
373 }
374
375
376
377
378
379
380 public String getHomeClassName( )
381 {
382 return _strHomeClassName;
383 }
384
385
386
387
388
389
390
391 public void setHomeClassName( String strHomeClassName )
392 {
393 _strHomeClassName = strHomeClassName;
394 }
395
396
397
398
399
400
401 public int getAcceptAlias( )
402 {
403 return _nAcceptAlias;
404 }
405
406
407
408
409
410
411
412 public void setDisplayPortletTitle( int nDisplayPortletTitle )
413 {
414 _nDisplayPortletTitle = nDisplayPortletTitle;
415 }
416
417
418
419
420
421
422 public int getDisplayPortletTitle( )
423 {
424 return _nDisplayPortletTitle;
425 }
426
427
428
429
430
431
432
433 public void setAcceptAlias( int nAcceptAlias )
434 {
435 _nAcceptAlias = nAcceptAlias;
436 }
437
438
439
440
441
442
443 public String getPluginName( )
444 {
445 return _strPluginName;
446 }
447
448
449
450
451
452
453
454 public void setPluginName( String strPluginName )
455 {
456 _strPluginName = strPluginName;
457 }
458
459
460
461
462
463
464
465 public String getRole( )
466 {
467 _strRole = ( _strRole == null ) ? Page.ROLE_NONE : _strRole;
468
469 return _strRole;
470 }
471
472
473
474
475
476
477
478
479 public void setRole( String strRole )
480 {
481 _strRole = ( ( strRole == null ) || ( strRole.equals( "" ) ) ) ? Page.ROLE_NONE : strRole;
482 }
483
484
485
486
487
488
489
490
491
492
493 public void copy( Portlet portlet )
494 {
495 setId( portlet.getId( ) );
496 setPortletTypeId( portlet.getPortletTypeId( ) );
497 setPageId( portlet.getPageId( ) );
498 setStyleId( portlet.getStyleId( ) );
499 setName( portlet.getName( ) );
500 setPortletTypeName( portlet.getPortletTypeName( ) );
501 setUrlCreation( portlet.getUrlCreation( ) );
502 setUrlUpdate( portlet.getUrlUpdate( ) );
503 setDateUpdate( portlet.getDateUpdate( ) );
504 setColumn( portlet.getColumn( ) );
505 setOrder( portlet.getOrder( ) );
506 setAcceptAlias( portlet.getAcceptAlias( ) );
507 setPluginName( portlet.getPluginName( ) );
508 setDisplayPortletTitle( portlet.getDisplayPortletTitle( ) );
509 setDeviceDisplayFlags( portlet.getDeviceDisplayFlags( ) );
510 setStatus( portlet.getStatus( ) );
511 setRole( portlet.getRole( ) );
512 }
513
514
515
516
517
518
519
520
521 protected String addPortletTags( StringBuffer strPortlet )
522 {
523 StringBuffer strXml = new StringBuffer( );
524 XmlUtil.beginElement( strXml, TAG_PORTLET );
525 XmlUtil.addElementHtml( strXml, TAG_PORTLET_NAME, getName( ) );
526 XmlUtil.addElement( strXml, TAG_PORTLET_ID, getId( ) );
527 XmlUtil.addElement( strXml, TAG_PAGE_ID, getPageId( ) );
528 XmlUtil.addElement( strXml, TAG_PLUGIN_NAME, getPluginName( ) );
529 XmlUtil.addElement( strXml, TAG_DISPLAY_PORTLET_TITLE, getDisplayPortletTitle( ) );
530
531 String strDisplayOnSmallDevice = ( ( getDeviceDisplayFlags( ) & FLAG_DISPLAY_ON_SMALL_DEVICE ) != 0 ) ? VALUE_TRUE : VALUE_FALSE;
532 XmlUtil.addElement( strXml, TAG_DISPLAY_ON_SMALL_DEVICE, strDisplayOnSmallDevice );
533
534 String strDisplayOnNormalDevice = ( ( getDeviceDisplayFlags( ) & FLAG_DISPLAY_ON_NORMAL_DEVICE ) != 0 ) ? VALUE_TRUE : VALUE_FALSE;
535 XmlUtil.addElement( strXml, TAG_DISPLAY_ON_NORMAL_DEVICE, strDisplayOnNormalDevice );
536
537 String strDisplayOnLargeDevice = ( ( getDeviceDisplayFlags( ) & FLAG_DISPLAY_ON_LARGE_DEVICE ) != 0 ) ? VALUE_TRUE : VALUE_FALSE;
538 XmlUtil.addElement( strXml, TAG_DISPLAY_ON_LARGE_DEVICE, strDisplayOnLargeDevice );
539
540 String strDisplayOnXLargeDevice = ( ( getDeviceDisplayFlags( ) & FLAG_DISPLAY_ON_XLARGE_DEVICE ) != 0 ) ? VALUE_TRUE : VALUE_FALSE;
541 XmlUtil.addElement( strXml, TAG_DISPLAY_ON_XLARGE_DEVICE, strDisplayOnXLargeDevice );
542
543 strXml.append( strPortlet.toString( ) );
544 XmlUtil.endElement( strXml, TAG_PORTLET );
545
546 return strXml.toString( );
547 }
548
549
550
551
552
553
554
555
556 public String getXslFile( int nMode )
557 {
558 StyleSheet xsl;
559
560
561
562 switch( nMode )
563 {
564 case MODE_NORMAL:
565 case MODE_ADMIN:
566 xsl = PortletHome.getXsl( getId( ), MODE_NORMAL );
567
568 break;
569
570 default:
571 xsl = PortletHome.getXsl( getId( ), nMode );
572
573 break;
574 }
575
576 return xsl.getFile( );
577 }
578
579
580
581
582
583
584
585
586 public byte [ ] getXslSource( int nMode )
587 {
588 StyleSheet xsl;
589
590
591
592 switch( nMode )
593 {
594 case MODE_NORMAL:
595 case MODE_ADMIN:
596 xsl = PortletHome.getXsl( getId( ), MODE_NORMAL );
597
598 break;
599
600 default:
601 xsl = PortletHome.getXsl( getId( ), nMode );
602
603 break;
604 }
605
606 return xsl.getSource( );
607 }
608
609
610
611
612
613
614
615 public Map<String, String> getXslParams( )
616 {
617 return null;
618 }
619
620
621
622
623 public abstract void remove( );
624
625
626
627
628
629
630
631 public boolean isContentGeneratedByXmlAndXsl( )
632 {
633 return true;
634 }
635
636
637
638
639
640
641
642
643
644 public String getHtmlContent( HttpServletRequest request )
645 {
646 return null;
647 }
648
649
650
651
652
653
654
655
656
657
658 public boolean canBeCachedForAnonymousUsers( )
659 {
660 return true;
661 }
662
663
664
665
666
667
668
669
670
671
672 public boolean canBeCachedForConnectedUsers( )
673 {
674 return true;
675 }
676 }