Revision 1956

View differences:

org.gvsig.tools/library/tags/org.gvsig.tools-3.0.189/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/desktopopen/DefaultDesktopOpen.java
1
package org.gvsig.desktopopen;
2

  
3
import java.awt.Desktop;
4
import java.io.File;
5
import java.io.IOException;
6
import java.net.URI;
7
import java.util.ArrayList;
8
import java.util.List;
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11

  
12
/*
13
 * Based on portions of code of MightyPork, http://www.ondrovo.com/
14
 * extracted from :
15
 * http://stackoverflow.com/questions/18004150/desktop-api-is-not-supported-on-the-current-platform
16
 */
17
public class DefaultDesktopOpen implements DesktopOpen {
18

  
19
    private static Logger logger = LoggerFactory.getLogger(DefaultDesktopOpen.class);
20

  
21
    public enum EnumOS {
22

  
23
        linux, macos, solaris, unknown, windows;
24

  
25
        public boolean isLinux() {
26

  
27
            return this == linux || this == solaris;
28
        }
29

  
30
        public boolean isMac() {
31

  
32
            return this == macos;
33
        }
34

  
35
        public boolean isWindows() {
36

  
37
            return this == windows;
38
        }
39
    }
40

  
41
    @Override
42
    public boolean browse(URI uri) {
43

  
44
        if ( browseDESKTOP(uri) ) {
45
            return true;
46
        }
47

  
48
        return openSystemSpecific(uri.toString());
49
    }
50

  
51
    @Override
52
    public boolean open(File file) {
53

  
54
        if ( openDESKTOP(file) ) {
55
            return true;
56
        }
57

  
58
        return openSystemSpecific(file.getPath());
59
    }
60

  
61
    @Override
62
    public boolean edit(File file) {
63

  
64
        if ( editDESKTOP(file) ) {
65
            return true;
66
        }
67

  
68
        return openSystemSpecific(file.getPath());
69
    }
70

  
71
    private boolean openSystemSpecific(String what) {
72

  
73
        EnumOS os = getOs();
74

  
75
        if (os.isLinux()) {
76
//            if (runCommand("gnome-open", "%s", what)) {
77
//                return true;
78
//            }
79
//            if (runCommand("kde-open", "%s", what)) {
80
//                return true;
81
//            }
82
            if (runCommand("xdg-open", "%s", what)) {
83
                return true;
84
            }
85
        }
86

  
87
        if ( os.isMac() ) {
88
            if ( runCommand("open", "%s", what) ) {
89
                return true;
90
            }
91
        }
92

  
93
        if ( os.isWindows() ) {
94
            if ( runCommand("explorer", "%s", what) ) {
95
                return true;
96
            }
97
        }
98

  
99
        return false;
100
    }
101

  
102
    private boolean browseDESKTOP(URI uri) {
103

  
104
        logger.info("Trying to use Desktop.getDesktop().browse() with " + uri.toString());
105
        try {
106
            if ( !Desktop.isDesktopSupported() ) {
107
                logger.warn("Platform is not supported.");
108
                return false;
109
            }
110

  
111
            if ( !Desktop.getDesktop().isSupported(Desktop.Action.BROWSE) ) {
112
                logger.warn("BROWSE is not supported.");
113
                return false;
114
            }
115

  
116
            Desktop.getDesktop().browse(uri);
117

  
118
            return true;
119
        } catch (Throwable t) {
120
            if( logger.isDebugEnabled() ) {
121
                logger.warn("Error using desktop browse.", t);
122
            } else {
123
                logger.warn("Error using Desktop.getDesktop().browse(). "+ t.toString());
124
            }
125
            return false;
126
        }
127
    }
128

  
129
    private boolean openDESKTOP(File file) {
130

  
131
        logger.info("Trying to use Desktop.getDesktop().open() with " + file.toString());
132
        try {
133
            if ( !Desktop.isDesktopSupported() ) {
134
                logger.warn("Platform is not supported.");
135
                return false;
136
            }
137

  
138
            if ( !Desktop.getDesktop().isSupported(Desktop.Action.OPEN) ) {
139
                logger.warn("OPEN is not supported.");
140
                return false;
141
            }
142

  
143
            Desktop.getDesktop().open(file);
144

  
145
            return true;
146
        } catch (Throwable t) {
147
            if( logger.isDebugEnabled() ) {
148
                logger.warn("Error using desktop open.", t);
149
            } else {
150
                logger.warn("Error using Desktop.getDesktop().open(). "+ t.toString());
151
            }
152
            return false;
153
        }
154
    }
155

  
156
    private boolean editDESKTOP(File file) {
157

  
158
        logger.info("Trying to use Desktop.getDesktop().edit() with " + file);
159
        try {
160
            if ( !Desktop.isDesktopSupported() ) {
161
                logger.warn("Platform is not supported.");
162
                return false;
163
            }
164

  
165
            if ( !Desktop.getDesktop().isSupported(Desktop.Action.EDIT) ) {
166
                logger.warn("EDIT is not supported.");
167
                return false;
168
            }
169

  
170
            Desktop.getDesktop().edit(file);
171

  
172
            return true;
173
        } catch (Throwable t) {
174
            if( logger.isDebugEnabled() ) {
175
                logger.warn("Error using desktop edit.", t);
176
            } else {
177
                logger.warn("Error using Desktop.getDesktop().edit(). "+ t.toString());
178
            }
179
            return false;
180
        }
181
    }
182

  
183
    private boolean runCommand(String command, String args, String file) {
184

  
185
        logger.info("Trying to exec:\n   cmd = " + command + "\n   args = " + args + "\n   %s = " + file);
186

  
187
        String[] parts = prepareCommand(command, args, file);
188

  
189
        try {
190
            Process p = Runtime.getRuntime().exec(parts);
191
            if ( p == null ) {
192
                return false;
193
            }
194

  
195
            try {
196
                int retval = p.exitValue();
197
                if ( retval == 0 ) {
198
                    logger.warn("Process ended immediately.");
199
                    return false;
200
                } else {
201
                    logger.warn("Process crashed.");
202
                    return false;
203
                }
204
            } catch (IllegalThreadStateException itse) {
205
                logger.warn("Process is running.");
206
                return true;
207
            }
208
        } catch (IOException e) {
209
            if( logger.isDebugEnabled() ) {
210
                logger.warn("Error running command.", e);
211
            } else {
212
                logger.warn("Error running command. "+ e.toString());
213
            }
214
            return false;
215
        }
216
    }
217

  
218
    private String[] prepareCommand(String command, String args, String file) {
219

  
220
        List<String> parts = new ArrayList<>();
221
        parts.add(command);
222

  
223
        if ( args != null ) {
224
            for ( String s : args.split(" ") ) {
225
                s = String.format(s, file); // put in the filename thing
226

  
227
                parts.add(s.trim());
228
            }
229
        }
230

  
231
        return parts.toArray(new String[parts.size()]);
232
    }
233

  
234
    public EnumOS getOs() {
235

  
236
        String s = System.getProperty("os.name").toLowerCase();
237

  
238
        if ( s.contains("win") ) {
239
            return EnumOS.windows;
240
        }
241

  
242
        if ( s.contains("mac") ) {
243
            return EnumOS.macos;
244
        }
245

  
246
        if ( s.contains("solaris") ) {
247
            return EnumOS.solaris;
248
        }
249

  
250
        if ( s.contains("sunos") ) {
251
            return EnumOS.solaris;
252
        }
253

  
254
        if ( s.contains("linux") ) {
255
            return EnumOS.linux;
256
        }
257

  
258
        if ( s.contains("unix") ) {
259
            return EnumOS.linux;
260
        } else {
261
            return EnumOS.unknown;
262
        }
263
    }
264
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.189/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/htmlbuilder/impl/DefaultHTMLBuilder.java
1

  
2
package org.gvsig.htmlbuilder.impl;
3

  
4
import java.awt.Color;
5
import java.util.ArrayList;
6
import java.util.Date;
7
import java.util.LinkedHashMap;
8
import java.util.List;
9
import java.util.Map;
10
import org.apache.commons.lang3.StringEscapeUtils;
11
import org.apache.commons.lang3.StringUtils;
12
import org.gvsig.htmlbuilder.HTMLBuilder;
13
import org.gvsig.htmlbuilder.HTMLBuilder.HTMLColor;
14
import org.gvsig.htmlbuilder.HTMLBuilder.HTMLComplexElement;
15
import org.gvsig.htmlbuilder.HTMLBuilder.HTMLElement;
16
import org.gvsig.htmlbuilder.HTMLBuilder.HTMLElementWithAttributes;
17
import org.gvsig.htmlbuilder.HTMLBuilder.HTMLElementWithContents;
18

  
19
/**
20
 *
21
 * @author jjdelcerro
22
 */
23
public class DefaultHTMLBuilder implements HTMLBuilder {
24
    
25
    public class CustomHTMLElement implements HTMLElement {
26

  
27
        private final String text;
28
        
29
        CustomHTMLElement(String text) {
30
            this.text = text;
31
        }
32
        
33
        @Override
34
        public boolean allowContents() {
35
            return false;
36
        }
37
        
38
        @Override
39
        public boolean allowAttributes() {
40
            return false;
41
        }
42

  
43
        @Override
44
        public String toHTML() {
45
            return this.text;
46
        }
47

  
48
        @Override
49
        public String toString() {
50
            return this.toHTML();
51
        }
52
        
53
    }
54

  
55
    public class ContentsHTMLElement implements HTMLElementWithContents {
56
        private final List<HTMLElement>contents;
57
        
58
        public ContentsHTMLElement() {
59
            this.contents = new ArrayList<>();
60
        }
61

  
62
        @Override
63
        public boolean allowContents() {
64
            return true;
65
        }
66

  
67
        @Override
68
        public boolean allowAttributes() {
69
            return false;
70
        }
71

  
72
        @Override
73
        public String toHTML() {
74
            StringBuilder builder = new StringBuilder();
75
            for (HTMLElement content : this.contents) {
76
                builder.append(content.toHTML());
77
            }
78
            return builder.toString();
79
        }
80

  
81
        @Override
82
        public String toString() {
83
            return this.toHTML();
84
        }
85
        
86
        @Override
87
        public HTMLElementWithContents contents(Object... values) {
88
            if( values == null ) {
89
                return this;
90
            }
91
            for (Object value : values) {
92
                if( value == null ) {
93
                    continue;
94
                }
95
                if( value instanceof HTMLElement ) {
96
                    this.contents.add((HTMLElement) value);
97
                } else {
98
                    this.contents.add(custom(value.toString()));
99
                }
100
            }
101
            return this;
102
        }
103
        
104

  
105
        @Override
106
        public List<HTMLElement> getContents() {
107
            return this.contents;
108
        }
109

  
110
    }
111
    
112
    public class DefaultHTMLElement implements HTMLComplexElement {
113

  
114
        private final String name;
115
        private final boolean allowContents;
116
        private final boolean allowAttributes;
117
        private Map<String,String> attributes;
118
        private Map<String,String> style;        
119
        private ContentsHTMLElement contents;
120
        
121
        @SuppressWarnings("OverridableMethodCallInConstructor")
122
        public DefaultHTMLElement(String name, 
123
                boolean allowContents, 
124
                boolean allowAttributes, 
125
                Object... contents
126
            ) {
127
            this.name = name;
128
            this.allowAttributes = allowAttributes;
129
            this.allowContents = allowContents;
130
            this.attributes = null;
131
            this.contents = null;
132
            if( this.allowContents ) {
133
                this.contents(contents);
134
            }
135
        }
136
        
137
        @Override
138
        public Map<String,String> getAttributes() {
139
            if( this.attributes==null ) {
140
                this.attributes = new LinkedHashMap<>();
141
            }
142
            return this.attributes;
143
        }
144
        
145
        @Override
146
        public Map<String,String> getStyle() {
147
            if( this.style==null ) {
148
                this.style = new LinkedHashMap<>();
149
            }
150
            return this.style;
151
        }
152
        
153
        @Override
154
        public List<HTMLElement> getContents() {
155
            if( this.contents==null ) {
156
                this.contents = new ContentsHTMLElement();
157
            }
158
            return this.contents.getContents();
159
        }
160
        
161
        @Override
162
        public HTMLComplexElement set(String name, String value) {
163
            if( !this.allowAttributes()) {
164
                throw new RuntimeException("The element '"+this.name+"' don't allow attributes.");
165
            }
166
            this.getAttributes().put(name, value);
167
            return this;
168
        }
169
        
170
        @Override
171
        public HTMLComplexElement set(String name) {
172
            return set(name, (String)null);
173
        }
174
        
175
        @Override
176
        public HTMLComplexElement set(String name, int value) {
177
            return set(name, String.valueOf(value));
178
        }
179
        
180
        @Override
181
        public HTMLComplexElement set(String name, double value) {
182
            return set(name, String.valueOf(value));
183
        }
184
        
185
        @Override
186
        public HTMLComplexElement set(String name, HTMLColor value) {
187
            return set(name, value.toHTML());
188
        }
189
        
190
        @Override
191
        public HTMLComplexElement style(String name, String value) {
192
            if( !this.allowAttributes()) {
193
                throw new RuntimeException("The element '"+this.name+"' don't allow attributes.");
194
            }
195
            this.getStyle().put(name, value);
196
            return this;
197
        }
198
        
199
        @Override
200
        public HTMLComplexElement style(String name, int value) {
201
            return style(name, String.valueOf(value));
202
        }
203
        
204
        @Override
205
        public HTMLComplexElement style(String name, double value) {
206
            return style(name, String.valueOf(value));
207
        }
208
        
209
        @Override
210
        public HTMLComplexElement style(String name, HTMLColor value) {
211
            return style(name, value.toHTML());
212
        }
213
        
214
        @Override
215
        public HTMLComplexElement contents(Object... values) {
216
            if( values == null ) {
217
                return this;
218
            }
219
            if( !this.allowContents() ) {
220
                throw new RuntimeException("The element '"+this.name+"' don't allow contents.");
221
            }
222
            for (Object value : values) {
223
                if( value == null ) {
224
                    continue;
225
                }
226
                if( value instanceof HTMLElement ) {
227
                    this.getContents().add((HTMLElement) value);
228
                } else {
229
                    this.getContents().add(custom(value.toString()));
230
                }
231
            }
232
            return this;
233
        }
234
        
235
        @Override
236
        public boolean allowContents() {
237
            return this.allowContents;
238
        }
239
        
240
        @Override
241
        public boolean allowAttributes() {
242
            return this.allowAttributes;
243
        }
244
        
245
        @Override
246
        public String toHTML() {
247
            StringBuilder builder = new StringBuilder();
248
            builder.append("<");
249
            builder.append(this.name);
250
            if( this.attributes!=null ) {
251
                for (Map.Entry<String, String> entry : this.attributes.entrySet()) {
252
                    builder.append(" ");
253
                    builder.append(entry.getKey());
254
                    if( entry.getValue()!=null ) {
255
                        builder.append("=\"");
256
                        builder.append(StringEscapeUtils.escapeHtml4(entry.getValue()));
257
                        builder.append("\"");
258
                    }
259
                }
260
            }
261
            if( this.style!=null ) {
262
                builder.append(" style=\"");
263
                for (Map.Entry<String, String> entry : this.style.entrySet()) {
264
                    builder.append(entry.getKey());
265
                    builder.append(":");
266
                    builder.append(StringEscapeUtils.escapeHtml4(entry.getValue()));
267
                    builder.append(" ");
268
                }
269
                builder.append("\"");
270
            }
271
            if( this.contents!=null ) {
272
                builder.append(">\n");
273
                builder.append(this.contents.toHTML());
274
                builder.append("</");
275
                builder.append(this.name);
276
                builder.append(">\n");
277
            } else {
278
                builder.append("/>\n");
279
            }
280
            return builder.toString();
281
        }
282

  
283
        @Override
284
        public String toString() {
285
            return this.toHTML();
286
        }
287
        
288
    }
289
    
290
    public class DefaultHTMLColor implements HTMLColor {
291
        
292
        private String color = "white";
293
        
294
        public DefaultHTMLColor(String color) {
295
            this.color = color;
296
        }
297
        
298
        public DefaultHTMLColor(int r, int g, int b) {
299
            this("rgb("+r+","+g+","+b+")");
300
        }
301
        
302
        public DefaultHTMLColor(Color color) {
303
            this(color.getRed(), color.getGreen(), color.getBlue());
304
        }
305

  
306
        @Override
307
        public boolean allowContents() {
308
            return false;
309
        }
310

  
311
        @Override
312
        public boolean allowAttributes() {
313
            return false;
314
        }
315

  
316
        @Override
317
        public String toHTML() {
318
            return this.color;
319
        }
320

  
321
        @Override
322
        public String toString() {
323
            return this.color;
324
        }
325
        
326
        
327
    }
328
    
329
    @Override
330
    public HTMLElement custom(String value) {
331
        return new CustomHTMLElement(value);
332
    }
333
    
334
    @Override
335
    public HTMLElement plain(String value) {
336
        return new CustomHTMLElement(StringEscapeUtils.escapeHtml4(value));
337
    }
338
    
339
    @Override
340
    public HTMLElement plainWithNl(String value) {
341
        return new CustomHTMLElement(StringEscapeUtils.escapeHtml4(value).replace("\n", "<br>\n"));
342
    }
343
    
344
    @Override
345
    public HTMLElement contents(HTMLElement... values) {
346
        return new ContentsHTMLElement().contents((Object[]) values);
347
    }
348

  
349
    @Override
350
    public HTMLColor color(Color color) {
351
        return new DefaultHTMLColor(color);
352
    }
353
    
354
    @Override
355
    public HTMLColor color(int r, int g, int b) {
356
        return new DefaultHTMLColor(r, g, b);
357
    }
358
    
359
    @Override
360
    public HTMLColor color(String color) {
361
        return new DefaultHTMLColor(color);
362
    }
363

  
364
    @Override
365
    public HTMLComplexElement  a(String link, Object... contents) {
366
        return new DefaultHTMLElement("a", true, true, contents);
367
    }
368
    
369
    @Override
370
    public HTMLComplexElement  a(Object... contents) {
371
        return new DefaultHTMLElement("a", true, true, contents);
372
    }
373
    
374
    @Override
375
    public HTMLComplexElement  abbr(Object... contents) {
376
        return new DefaultHTMLElement("abbr", true, true, contents);
377
    }
378

  
379
    @Override
380
    public HTMLComplexElement  acronym(Object... contents) {
381
        return new DefaultHTMLElement("acronym", true, true, contents);
382
    }
383

  
384
    @Override
385
    public HTMLComplexElement  address(Object... contents) {
386
        return new DefaultHTMLElement("address", true, true, contents);
387
    }
388

  
389
    @Override
390
    public HTMLComplexElement  area(Object... contents) {
391
        return new DefaultHTMLElement("area", true, true, contents);
392
    }
393

  
394
    @Override
395
    public HTMLComplexElement  article(Object... contents) {
396
        return new DefaultHTMLElement("article", true, true, contents);
397
    }
398

  
399
    @Override
400
    public HTMLComplexElement  aside(Object... contents) {
401
        return new DefaultHTMLElement("aside", true, true, contents);
402
    }
403
    
404
    @Override
405
    public HTMLComplexElement  b(Object... contents) {
406
        return new DefaultHTMLElement("b", true, true, contents);
407
    }
408

  
409
    @Override
410
    public HTMLElementWithAttributes  base() {
411
        return new DefaultHTMLElement("base", false, true);
412
    }
413

  
414
    @Override
415
    public HTMLElementWithAttributes  basefont() {
416
        return new DefaultHTMLElement("basefont", false, true);
417
    }
418

  
419
    @Override
420
    public HTMLComplexElement  bdi(Object... contents) {
421
        return new DefaultHTMLElement("bdi", true, true, contents);
422
    }
423

  
424
    @Override
425
    public HTMLComplexElement  bdo(Object... contents) {
426
        return new DefaultHTMLElement("bdo", true, true, contents);
427
    }
428

  
429
    @Deprecated 
430
    @Override
431
    public HTMLElementWithContents  big(Object... contents) {
432
        return new DefaultHTMLElement("big", true, false, contents);
433
    }
434

  
435
    @Override
436
    public HTMLComplexElement  blockquote(Object... contents) {
437
        return new DefaultHTMLElement("blockquote", true, true, contents);
438
    }
439

  
440
    @Override
441
    public HTMLComplexElement  body(Object... contents) {
442
        return new DefaultHTMLElement("body", true, true, contents);
443
    }
444

  
445
    @Override
446
    public HTMLElement  br() {
447
        return new DefaultHTMLElement("br", false, false);
448
    }
449

  
450
    @Override
451
    public HTMLComplexElement  button(Object... contents) {
452
        return new DefaultHTMLElement("button", true, true, contents);
453
    }
454

  
455
    @Override
456
    public HTMLComplexElement  canvas(Object... contents) {
457
        return new DefaultHTMLElement("canvas", true, true, contents);
458
    }
459

  
460
    @Override
461
    public HTMLComplexElement  caption(Object... contents) {
462
        return new DefaultHTMLElement("caption", true, true, contents);
463
    }
464

  
465
    @Override
466
    @Deprecated
467
    public HTMLElementWithContents  center(Object... contents) {
468
        return new DefaultHTMLElement("center", true, false, contents);
469
    }
470

  
471
    @Override
472
    public HTMLComplexElement  cite(Object... contents) {
473
        return new DefaultHTMLElement("cite", true, true, contents);
474
    }
475

  
476
    @Override
477
    public HTMLComplexElement  code(Object... contents) {
478
        return new DefaultHTMLElement("code", true, true, contents);
479
    }
480

  
481
    @Override
482
    public HTMLElementWithAttributes  col() {
483
        return new DefaultHTMLElement("col", false, true);
484
    }
485

  
486
    @Override
487
    public HTMLComplexElement  colgroup(Object... contents) {
488
        return new DefaultHTMLElement("colgroup", true, true, contents);
489
    }
490

  
491
    @Override
492
    public HTMLComplexElement  data(Object... contents) {
493
        return new DefaultHTMLElement("data", true, true, contents);
494
    }
495

  
496
    @Override
497
    public HTMLComplexElement  datalist(Object... contents) {
498
        return new DefaultHTMLElement("datalist", true, true, contents);
499
    }
500

  
501
    @Override
502
    public HTMLComplexElement  dd(Object... contents) {
503
        return new DefaultHTMLElement("dd", true, true, contents);
504
    }
505

  
506
    @Override
507
    public HTMLComplexElement  del(Object... contents) {
508
        return new DefaultHTMLElement("del", true, true, contents);
509
    }
510

  
511
    @Override
512
    public HTMLComplexElement  details(Object... contents) {
513
        return new DefaultHTMLElement("details", true, true, contents);
514
    }
515

  
516
    @Override
517
    public HTMLComplexElement  dfn(Object... contents) {
518
        return new DefaultHTMLElement("dfn", true, true, contents);
519
    }
520

  
521
    @Override
522
    public HTMLComplexElement  dialog(Object... contents) {
523
        return new DefaultHTMLElement("dialog", true, true, contents);
524
    }
525

  
526
    @Override
527
    public HTMLElementWithContents  dir(Object... contents) {
528
        return new DefaultHTMLElement("dir", true, false, contents);
529
    }
530

  
531
    @Override
532
    public HTMLComplexElement  div(Object... contents) {
533
        return new DefaultHTMLElement("div", true, true, contents);
534
    }
535

  
536
    @Override
537
    public HTMLComplexElement  dl(Object... contents) {
538
        return new DefaultHTMLElement("dl", true, true, contents);
539
    }
540

  
541
    @Override
542
    public HTMLComplexElement  dt(Object... contents) {
543
        return new DefaultHTMLElement("dt", true, true, contents);
544
    }
545

  
546
    @Override
547
    public HTMLComplexElement  em(Object... contents) {
548
        return new DefaultHTMLElement("em", true, true, contents);
549
    }
550

  
551
    @Override
552
    public HTMLElementWithAttributes  embed() {
553
        return new DefaultHTMLElement("embed", false, true);
554
    }
555

  
556
    @Override
557
    public HTMLComplexElement  fieldset(Object... contents) {
558
        return new DefaultHTMLElement("fieldset", true, true, contents);
559
    }
560

  
561
    @Override
562
    public HTMLComplexElement  figcaption(Object... contents) {
563
        return new DefaultHTMLElement("figcaption", true, true, contents);
564
    }
565

  
566
    @Override
567
    public HTMLComplexElement figure(Object... contents) {
568
        return new DefaultHTMLElement("figure", true, true, contents);
569
    }
570

  
571
    @Override
572
    public HTMLComplexElement font(Object... contents) {
573
        return new DefaultHTMLElement("font", true, true, contents);
574
    }
575

  
576
    @Override
577
    public HTMLComplexElement font(int size, HTMLColor color) {
578
        return this.font()
579
                .set(HTMLBuilder.size, size)
580
                .set(HTMLBuilder.color, color);
581
    }
582
    
583
    @Override
584
    public HTMLComplexElement font(int size, HTMLColor color, String face, Object... contents) {
585
        return this.font(size, color).set(HTMLBuilder.face, face);
586
    }
587
    
588
    @Override
589
    public HTMLComplexElement  footer(Object... contents) {
590
        return new DefaultHTMLElement("footer", true, true, contents);
591
    }
592

  
593
    @Override
594
    public HTMLComplexElement  form(Object... contents) {
595
        return new DefaultHTMLElement("form", true, true, contents);
596
    }
597
    
598
    @Override
599
    public HTMLComplexElement  frame(Object... contents) {
600
        return new DefaultHTMLElement("frame", true, true, contents);
601
    }
602
    
603
    @Override
604
    public HTMLComplexElement  frameset(Object... contents) {
605
        return new DefaultHTMLElement("frameset", true, true, contents);
606
    }
607
    
608
    @Override
609
    public HTMLComplexElement  h1(Object... contents) {
610
        return new DefaultHTMLElement("h1", true, true, contents);
611
    }
612
    
613
    @Override
614
    public HTMLComplexElement  h2(Object... contents) {
615
        return new DefaultHTMLElement("h2", true, true, contents);
616
    }
617
    
618
    @Override
619
    public HTMLComplexElement  h3(Object... contents) {
620
        return new DefaultHTMLElement("h3", true, true, contents);
621
    }
622
    
623
    @Override
624
    public HTMLComplexElement  h4(Object... contents) {
625
        return new DefaultHTMLElement("h4", true, true, contents);
626
    }
627
    
628
    @Override
629
    public HTMLComplexElement  h5(Object... contents) {
630
        return new DefaultHTMLElement("h5", true, true, contents);
631
    }
632
    
633
    @Override
634
    public HTMLComplexElement  h6(Object... contents) {
635
        return new DefaultHTMLElement("h6", true, true, contents);
636
    }
637
    
638
    @Override
639
    public HTMLComplexElement  head(Object... contents) {
640
        return new DefaultHTMLElement("head", true, true, contents);
641
    }
642
    
643
    @Override
644
    public HTMLComplexElement  header(Object... contents) {
645
        return new DefaultHTMLElement("header", true, true, contents);
646
    }
647
    
648
    @Override
649
    public HTMLComplexElement  hr(Object... contents) {
650
        return new DefaultHTMLElement("hr", true, true, contents);
651
    }
652
    
653
    @Override
654
    public HTMLComplexElement  html(Object... contents) {
655
        return new DefaultHTMLElement("html", true, true, contents);
656
    }
657
    
658
    @Override
659
    public HTMLComplexElement  i(Object... contents) {
660
        return new DefaultHTMLElement("i", true, true, contents);
661
    }
662
    
663
    @Override
664
    public HTMLComplexElement  iframe(Object... contents) {
665
        return new DefaultHTMLElement("iframe", true, true, contents);
666
    }
667
    
668
    @Override
669
    public HTMLElementWithAttributes  img() {
670
        return new DefaultHTMLElement("img", false, true);
671
    }
672
    
673
    @Override
674
    public HTMLElementWithAttributes  input(Object... contents) {
675
        return new DefaultHTMLElement("input", true, true, contents);
676
    }
677
    
678
    @Override
679
    public HTMLComplexElement  ins(Object... contents) {
680
        return new DefaultHTMLElement("ins", true, true, contents);
681
    }
682
    
683
    @Override
684
    public HTMLComplexElement  kbd(Object... contents) {
685
        return new DefaultHTMLElement("kbd", true, true, contents);
686
    }
687
    
688
    @Override
689
    public HTMLComplexElement  label(Object... contents) {
690
        return new DefaultHTMLElement("label", true, true, contents);
691
    }
692
    
693
    @Override
694
    public HTMLComplexElement  legend(Object... contents) {
695
        return new DefaultHTMLElement("legend", true, true, contents);
696
    }
697
    
698
    @Override
699
    public HTMLComplexElement  li(Object... contents) {
700
        return new DefaultHTMLElement("li", true, true, contents);
701
    }
702
    
703
    @Override
704
    public HTMLElementWithAttributes link() {
705
        return new DefaultHTMLElement("ins", false, true);
706
    }
707
    
708
    @Override
709
    public HTMLElementWithAttributes link(String rel, String type, String href) {
710
        return link()
711
                .set(HTMLBuilder.rel, rel)
712
                .set(HTMLBuilder.type, type)
713
                .set(HTMLBuilder.href, href);
714
    }
715
    
716
    @Override
717
    public HTMLComplexElement  main(Object... contents) {
718
        return new DefaultHTMLElement("main", true, true, contents);
719
    }
720
    
721
    @Override
722
    public HTMLComplexElement  map(Object... contents) {
723
        return new DefaultHTMLElement("map", true, true, contents);
724
    }
725
    
726
    @Override
727
    public HTMLComplexElement  mark(Object... contents) {
728
        return new DefaultHTMLElement("mark", true, true, contents);
729
    }
730
    
731
    @Override
732
    public HTMLElementWithAttributes  meta() {
733
        return new DefaultHTMLElement("meta", false, true);
734
    }
735
    
736
    @Override
737
    public HTMLElementWithAttributes  meta(String charset) {
738
        return mark().set(HTMLBuilder.charset, charset);
739
    }
740
    
741
    @Override
742
    public HTMLElementWithAttributes  meta(String name, String content) {
743
        return mark()
744
                .set(HTMLBuilder.name, name)
745
                .set(HTMLBuilder.content, content);
746
    }
747
    
748
    @Override
749
    public HTMLComplexElement  meter(Object... contents) {
750
        return new DefaultHTMLElement("meter", true, true, contents);
751
    }
752
    
753
    @Override
754
    public HTMLComplexElement  nav(Object... contents) {
755
        return new DefaultHTMLElement("nav", true, true, contents);
756
    }
757
    
758
    @Override
759
    public HTMLElementWithContents  noframes(Object... contents) {
760
        return new DefaultHTMLElement("noframes", true, false, contents);
761
    }
762
    
763
    @Override
764
    public HTMLElementWithContents  noscript(Object... contents) {
765
        return new DefaultHTMLElement("noscript", true, false, contents);
766
    }
767
    
768
    @Override
769
    public HTMLComplexElement  object(Object... contents) {
770
        return new DefaultHTMLElement("object", true, true, contents);
771
    }
772
    
773
    @Override
774
    public HTMLComplexElement  ol(Object... contents) {
775
        return new DefaultHTMLElement("ol", true, true, contents);
776
    }
777
    
778
    @Override
779
    public HTMLComplexElement  optgroup(Object... contents) {
780
        return new DefaultHTMLElement("optgroup", true, true, contents);
781
    }
782
    
783
    @Override
784
    public HTMLComplexElement  option(Object... contents) {
785
        return new DefaultHTMLElement("option", true, true, contents);
786
    }
787
    
788
    @Override
789
    public HTMLComplexElement  output(Object... contents) {
790
        return new DefaultHTMLElement("output", true, true, contents);
791
    }
792
    
793
    @Override
794
    public HTMLComplexElement  p(Object... contents) {
795
        return new DefaultHTMLElement("p", true, true, contents);
796
    }
797
    
798
    @Override
799
    public HTMLElementWithAttributes  param() {
800
        return new DefaultHTMLElement("param", false, true);
801
    }
802
    
803
    @Override
804
    public HTMLComplexElement  pre(Object... contents) {
805
        return new DefaultHTMLElement("pre", true, true, contents);
806
    }
807
    
808
    @Override
809
    public HTMLComplexElement  progress(Object... contents) {
810
        return new DefaultHTMLElement("progress", true, true, contents);
811
    }
812
    
813
    @Override
814
    public HTMLComplexElement  q(Object... contents) {
815
        return new DefaultHTMLElement("q", true, true, contents);
816
    }
817
    
818
    @Override
819
    public HTMLComplexElement  rp(Object... contents) {
820
        return new DefaultHTMLElement("rp", true, true, contents);
821
    }
822
    
823
    @Override
824
    public HTMLComplexElement  rt(Object... contents) {
825
        return new DefaultHTMLElement("rt", true, true, contents);
826
    }
827
    
828
    @Override
829
    public HTMLComplexElement  ruby(Object... contents) {
830
        return new DefaultHTMLElement("ruby", true, true, contents);
831
    }
832
    
833
    @Override
834
    public HTMLComplexElement  s(Object... contents) {
835
        return new DefaultHTMLElement("s", true, true, contents);
836
    }
837
    
838
    @Override
839
    public HTMLComplexElement  samp(Object... contents) {
840
        return new DefaultHTMLElement("samp", true, true, contents);
841
    }
842
    
843
    @Override
844
    public HTMLComplexElement  script(Object... contents) {
845
        return new DefaultHTMLElement("script", true, true, contents);
846
    }
847
        
848
    @Override
849
    public HTMLComplexElement  section(Object... contents) {
850
        return new DefaultHTMLElement("section", true, true, contents);
851
    }
852
    
853
    @Override
854
    public HTMLComplexElement  select(Object... contents) {
855
        return new DefaultHTMLElement("select", true, true, contents);
856
    }
857
    
858
    @Override
859
    public HTMLComplexElement  small(Object... contents) {
860
        return new DefaultHTMLElement("small", true, true, contents);
861
    }
862
    
863
    @Override
864
    public HTMLComplexElement  source(Object... contents) {
865
        return new DefaultHTMLElement("source", true, true, contents);
866
    }
867
    
868
    @Override
869
    public HTMLComplexElement  span(Object... contents) {
870
        return new DefaultHTMLElement("span", true, true, contents);
871
    }
872

  
873
    @Override
874
    public HTMLElementWithContents  strike(Object... contents) {
875
        return new DefaultHTMLElement("strike", true, false);
876
    }
877
    
878
    @Override
879
    public HTMLComplexElement  strong(Object... contents) {
880
        return new DefaultHTMLElement("strong", true, true, contents);
881
    }
882
    
883
    @Override
884
    public HTMLComplexElement  style(Object... contents) {
885
        return new DefaultHTMLElement("style", true, true, contents);
886
    }
887
    
888
    @Override
889
    public HTMLComplexElement  sub(Object... contents) {
890
        return new DefaultHTMLElement("sub", true, true, contents);
891
    }
892
    
893
    @Override
894
    public HTMLComplexElement  summary(Object... contents) {
895
        return new DefaultHTMLElement("summary", true, true, contents);
896
    }
897
    
898
    @Override
899
    public HTMLComplexElement  sup(Object... contents) {
900
        return new DefaultHTMLElement("sup", true, true, contents);
901
    }
902
    
903
    @Override
904
    public HTMLComplexElement  svg(Object... contents) {
905
        return new DefaultHTMLElement("svg", true, true, contents);
906
    }
907
    
908
    @Override
909
    public HTMLComplexElement  table(Object... contents) {
910
        return new DefaultHTMLElement("table", true, true, contents);
911
    }
912
    
913
    @Override
914
    public HTMLComplexElement  table(int border, int cellpadding, int cellspacing) {
915
        return table()
916
                .set(HTMLBuilder.border, border)
917
                .set(HTMLBuilder.cellpadding, cellpadding)
918
                .set(HTMLBuilder.cellspacing, cellspacing);
919
    }
920
    
921
    @Override
922
    public HTMLComplexElement  table(int border, int cellpadding, int cellspacing, int widthpercent) {
923
        return table(border, cellpadding, cellspacing)
924
                .set(HTMLBuilder.width, String.valueOf(widthpercent)+"%");
925
    }
926
    
927
    @Override
928
    public HTMLComplexElement  tbody(Object... contents) {
929
        return new DefaultHTMLElement("tbody", true, true, contents);
930
    }
931
    
932
    @Override
933
    public HTMLComplexElement  td(Object... contents) {
934
        return new DefaultHTMLElement("td", true, true, contents);
935
    }
936
    
937
    @Override
938
    public HTMLComplexElement  td(boolean wrap, int colspan) {
939
        return td(wrap,colspan, null);
940
    }
941
    
942
    @Override
943
    public HTMLComplexElement  td(boolean wrap, int colspan, String valign) {
944
        HTMLComplexElement x = td();
945
        if( !wrap ) {
946
            x.set(HTMLBuilder.nowrap);
947
        }
948
        if( colspan>1 ) {
949
            x.set(HTMLBuilder.colspan, colspan);
950
        }
951
        if( !StringUtils.isEmpty(valign) ) {
952
            x.set(HTMLBuilder.valign, valign);
953
        } 
954
        return x;
955
    }
956
    
957
    @Override
958
    public HTMLComplexElement  template(Object... contents) {
959
        return new DefaultHTMLElement("template", true, true, contents);
960
    }
961
    
962
    @Override
963
    public HTMLComplexElement  textarea(Object... contents) {
964
        return new DefaultHTMLElement("textarea", true, true, contents);
965
    }
966
    
967
    @Override
968
    public HTMLComplexElement  textarea(int rows, int cols) {
969
        return textarea()
970
                .set(HTMLBuilder.rows, rows)
971
                .set(HTMLBuilder.cols, cols)
972
                ;
973
    }
974

  
975
    @Override
976
    public HTMLComplexElement  textarea(int rows, int cols, int maxlength) {
977
        return textarea(rows, cols)
978
                .set(HTMLBuilder.maxlength, maxlength)
979
                ;
980
    }
981
    
982
    @Override
983
    public HTMLComplexElement  tfoot(Object... contents) {
984
        return new DefaultHTMLElement("tfoot", true, true, contents);
985
    }
986
    
987
    @Override
988
    public HTMLComplexElement  th(Object... contents) {
989
        return new DefaultHTMLElement("th", true, true, contents);
990
    }
991
    
992
    @Override
993
    public HTMLComplexElement  thead(Object... contents) {
994
        return new DefaultHTMLElement("thead", true, true, contents);
995
    }
996
    
997
    @Override
998
    public HTMLComplexElement  time(Object... contents) {
999
        return new DefaultHTMLElement("time", true, true, contents);
1000
    }
1001
    
1002
    @Override
1003
    public HTMLComplexElement  time(String datetime) {
1004
        return time().set(HTMLBuilder.datetime, datetime);
1005
    }
1006
    
1007
    @Override
1008
    public HTMLComplexElement  time(Date datetime) {
1009
        return time().set(HTMLBuilder.datetime,
1010
                datetime.getYear() + "-" + datetime.getMonth() +"-" + datetime.getDay() + " " + 
1011
                datetime.getHours() +":"+ datetime.getMinutes()
1012
        );
1013
    }
1014
    
1015
    @Override
1016
    public HTMLComplexElement  title(Object... contents) {
1017
        return new DefaultHTMLElement("title", true, true, contents);
1018
    }
1019
    
1020
    @Override
1021
    public HTMLComplexElement  tr(Object... contents) {
1022
        return new DefaultHTMLElement("tr", true, true, contents);
1023
    }
1024

  
1025
    @Override
1026
    public HTMLComplexElement  tr(String valign) {
1027
        return tr().set(HTMLBuilder.valign, valign);
1028
    }
1029
    
1030
    @Override
1031
    public HTMLComplexElement  tr(HTMLColor color){
1032
        return tr().set(HTMLBuilder.bgcolor, color);
1033
    }
1034

  
1035
    @Override
1036
    public HTMLComplexElement  tr(String valign, HTMLColor color) {
1037
        return tr(color).set(HTMLBuilder.valign, valign);
1038
    }
1039
    
1040
    @Override
1041
    public HTMLComplexElement  track(Object... contents) {
1042
        return new DefaultHTMLElement("track", true, true, contents);
1043
    }
1044
    
1045
    @Override
1046
    public HTMLElementWithContents  tt(Object... contents) {
1047
        return new DefaultHTMLElement("tt", true, false, contents);
1048
    }
1049
    
1050
    @Override
1051
    public HTMLComplexElement  u(Object... contents) {
1052
        return new DefaultHTMLElement("u", true, true, contents);
1053
    }
1054
    
1055
    @Override
1056
    public HTMLComplexElement  ul(Object... contents) {
1057
        return new DefaultHTMLElement("ul", true, true, contents);
1058
    }
1059
    
1060
    @Override
1061
    public HTMLComplexElement  var(Object... contents) {
1062
        return new DefaultHTMLElement("var", true, true, contents);
1063
    }
1064
    
1065
    @Override
1066
    public HTMLComplexElement  video(Object... contents) {
1067
        return new DefaultHTMLElement("video", true, true, contents);
1068
    }
1069
    
1070
    @Override
1071
    public HTMLComplexElement  wbr(Object... contents) {
1072
        return new DefaultHTMLElement("wbr", true, true, contents);
1073
    }
1074
    
1075
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.189/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/svgsupport/DumbSVGRenderer.java
1

  
2
package org.gvsig.svgsupport;
3

  
4
import java.awt.Graphics2D;
5
import java.awt.geom.Rectangle2D;
6
import java.io.File;
7
import java.io.IOException;
8
import java.net.URISyntaxException;
9
import java.net.URL;
10

  
11

  
12
public class DumbSVGRenderer implements SVGRenderer {
13

  
14
    private URL source;
15

  
16
    @Override
17
    public void drawInsideRectangle(Graphics2D g, Rectangle2D rect, boolean keepAspectRatio) {
18

  
19
    }
20

  
21
    @Override
22
    public Rectangle2D getBounds() {
23
        return new Rectangle2D.Float(0, 0, 1, 1);
24
    }
25

  
26
    @Override
27
    public URL getSource() {
28
        return source;
29
    }
30

  
31
    @Override
32
    public void setSource(URL url) throws IOException {
33
        this.source = url;
34
    }
35

  
36
    @Override
37
    public void setSource(File f) throws IOException {
38
        try {
39
            this.source = source.toURI().toURL();
40
        } catch (URISyntaxException ex) {
41

  
42
        }
43
    }
44
    
45
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.189/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/svgsupport/DumbSVGSupportManager.java
1

  
2
package org.gvsig.svgsupport;
3

  
4
import java.io.File;
5
import java.io.IOException;
6
import java.net.URL;
7

  
8

  
9
public class DumbSVGSupportManager implements SVGSupportManager {
10

  
11
    @Override
12
    public SVGRenderer createRenderer() {
13
        return new DumbSVGRenderer();
14
    }
15

  
16
    @Override
17
    public SVGRenderer createRenderer(URL source) throws IOException {
18
        SVGRenderer renderer = new DumbSVGRenderer();
19
        renderer.setSource(source);
20
        return renderer;
21
    }
22

  
23
    @Override
24
    public SVGRenderer createRenderer(File source) throws IOException {
25
        SVGRenderer renderer = new DumbSVGRenderer();
26
        renderer.setSource(source);
27
        return renderer;
28
    }
29
    
30
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.189/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/tools/util/impl/ToolsUtilLibraryImpl.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 2 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.tools.util.impl;
24

  
25
import org.gvsig.configurableactions.DefaultConfigurableActionsMamager;
26
import org.gvsig.filedialogchooser.impl.DefaultFileDialogChooserManager;
27
import org.gvsig.imageviewer.DefaultImageViewerManager;
28
import org.gvsig.propertypage.impl.DefaultPropertiesPageManager;
29
import org.gvsig.svgsupport.DumbSVGSupportManager;
30
import org.gvsig.tools.library.AbstractLibrary;
31
import org.gvsig.tools.library.Library;
32
import org.gvsig.tools.library.LibraryException;
33
import org.gvsig.tools.util.ToolsUtilLibrary;
34
import org.gvsig.tools.util.ToolsUtilLocator;
35

  
36
/**
37
 * {@link Library} for the default tools util implementation.
38
 *
39
 * @author gvSIG team
40
 */
41
public class ToolsUtilLibraryImpl extends AbstractLibrary {
42

  
43
    @Override
44
    public void doRegistration() {
45
        super.doRegistration();
46
        registerAsImplementationOf(ToolsUtilLibrary.class);
47
    }
48

  
49
    @Override
50
    protected void doInitialize() throws LibraryException {
51
        ToolsUtilLocator.registerDefaultToolsUtilManager(DefaultToolsUtilManager.class);
52
        ToolsUtilLocator.registerDefaultFileDialogChooserManager(DefaultFileDialogChooserManager.class);
53
        ToolsUtilLocator.registerDefaultSVGSupportManager(DumbSVGSupportManager.class);
54
        ToolsUtilLocator.registerDefaultImageViewerManager(DefaultImageViewerManager.class);
55
        ToolsUtilLocator.registerDefaultConfigurableActionsMamager(DefaultConfigurableActionsMamager.class);
56
        ToolsUtilLocator.registerDefaultPropertiesPageManager(DefaultPropertiesPageManager.class);
57
    }
58

  
59
    @Override
60
    protected void doPostInitialize() throws LibraryException {
61

  
62
    }
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff