initial commit
0 parents
Showing
90 changed files
with
2766 additions
and
0 deletions
.idea/compiler.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project version="4"> | ||
3 | <component name="CompilerConfiguration"> | ||
4 | <annotationProcessing> | ||
5 | <profile name="Maven default annotation processors profile" enabled="true"> | ||
6 | <sourceOutputDir name="target/generated-sources/annotations" /> | ||
7 | <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> | ||
8 | <outputRelativeToContentRoot value="true" /> | ||
9 | <module name="webnotifications" /> | ||
10 | <module name="webnotifications (1)" /> | ||
11 | <module name="webnotifications-demo" /> | ||
12 | </profile> | ||
13 | </annotationProcessing> | ||
14 | <bytecodeTargetLevel> | ||
15 | <module name="webnotifications" target="1.7" /> | ||
16 | <module name="webnotifications (1)" target="1.7" /> | ||
17 | <module name="webnotifications-demo" target="1.6" /> | ||
18 | <module name="webnotifications-root" target="1.5" /> | ||
19 | </bytecodeTargetLevel> | ||
20 | </component> | ||
21 | </project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/encodings.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project version="4"> | ||
3 | <component name="Encoding"> | ||
4 | <file url="file://$PROJECT_DIR$/webnotifications" charset="UTF-8" /> | ||
5 | <file url="file://$PROJECT_DIR$/webnotifications-demo" charset="UTF-8" /> | ||
6 | </component> | ||
7 | </project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/libraries/Maven__ant_ant_1_6_5.xml
0 → 100644
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: ant:ant:1.6.5"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/ant/ant/1.6.5/ant-1.6.5.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/ant/ant/1.6.5/ant-1.6.5-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/ant/ant/1.6.5/ant-1.6.5-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: ant:ant-launcher:1.6.5"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/ant/ant-launcher/1.6.5/ant-launcher-1.6.5.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/ant/ant-launcher/1.6.5/ant-launcher-1.6.5-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/ant/ant-launcher/1.6.5/ant-launcher-1.6.5-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.ibm.icu:icu4j:50.1.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/ibm/icu/icu4j/50.1.1/icu4j-50.1.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/ibm/icu/icu4j/50.1.1/icu4j-50.1.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/ibm/icu/icu4j/50.1.1/icu4j-50.1.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/libraries/Maven__com_vaadin_external_atmosphere_atmosphere_runtime_2_2_4_vaadin5.xml
0 → 100644
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin.external.atmosphere:atmosphere-runtime:2.2.4.vaadin5"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/atmosphere/atmosphere-runtime/2.2.4.vaadin5/atmosphere-runtime-2.2.4.vaadin5.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/atmosphere/atmosphere-runtime/2.2.4.vaadin5/atmosphere-runtime-2.2.4.vaadin5-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/atmosphere/atmosphere-runtime/2.2.4.vaadin5/atmosphere-runtime-2.2.4.vaadin5-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin.external.flute:flute:1.3.0.gg2"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/flute/flute/1.3.0.gg2/flute-1.3.0.gg2.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/flute/flute/1.3.0.gg2/flute-1.3.0.gg2-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/flute/flute/1.3.0.gg2/flute-1.3.0.gg2-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin.external.google:guava:16.0.1.vaadin1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/guava/16.0.1.vaadin1/guava-16.0.1.vaadin1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/guava/16.0.1.vaadin1/guava-16.0.1.vaadin1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/google/guava/16.0.1.vaadin1/guava-16.0.1.vaadin1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin.external.slf4j:vaadin-slf4j-jdk14:1.6.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/slf4j/vaadin-slf4j-jdk14/1.6.1/vaadin-slf4j-jdk14-1.6.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/slf4j/vaadin-slf4j-jdk14/1.6.1/vaadin-slf4j-jdk14-1.6.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/slf4j/vaadin-slf4j-jdk14/1.6.1/vaadin-slf4j-jdk14-1.6.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin.external.streamhtmlparser:streamhtmlparser-jsilver:0.0.10.vaadin1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1/streamhtmlparser-jsilver-0.0.10.vaadin1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1/streamhtmlparser-jsilver-0.0.10.vaadin1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/external/streamhtmlparser/streamhtmlparser-jsilver/0.0.10.vaadin1/streamhtmlparser-jsilver-0.0.10.vaadin1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-client:7.4.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client/7.4.6/vaadin-client-7.4.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client/7.4.6/vaadin-client-7.4.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client/7.4.6/vaadin-client-7.4.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-client-compiler:7.4.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client-compiler/7.4.6/vaadin-client-compiler-7.4.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client-compiler/7.4.6/vaadin-client-compiler-7.4.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client-compiler/7.4.6/vaadin-client-compiler-7.4.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-client-compiler-deps:1.2.0"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client-compiler-deps/1.2.0/vaadin-client-compiler-deps-1.2.0.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client-compiler-deps/1.2.0/vaadin-client-compiler-deps-1.2.0-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-client-compiler-deps/1.2.0/vaadin-client-compiler-deps-1.2.0-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-push:7.4.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-push/7.4.6/vaadin-push-7.4.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-push/7.4.6/vaadin-push-7.4.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-push/7.4.6/vaadin-push-7.4.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-sass-compiler:0.9.12"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-sass-compiler/0.9.12/vaadin-sass-compiler-0.9.12.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-sass-compiler/0.9.12/vaadin-sass-compiler-0.9.12-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-sass-compiler/0.9.12/vaadin-sass-compiler-0.9.12-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-server:7.4.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-server/7.4.6/vaadin-server-7.4.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-server/7.4.6/vaadin-server-7.4.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-server/7.4.6/vaadin-server-7.4.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-shared:7.4.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-shared/7.4.6/vaadin-shared-7.4.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-shared/7.4.6/vaadin-shared-7.4.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-shared/7.4.6/vaadin-shared-7.4.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: com.vaadin:vaadin-themes:7.4.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-themes/7.4.6/vaadin-themes-7.4.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-themes/7.4.6/vaadin-themes-7.4.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/com/vaadin/vaadin-themes/7.4.6/vaadin-themes-7.4.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: commons-codec:commons-codec:1.8"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.8/commons-codec-1.8.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.8/commons-codec-1.8-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/commons-codec/commons-codec/1.8/commons-codec-1.8-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: commons-collections:commons-collections:3.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/commons-collections/commons-collections/3.1/commons-collections-3.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/commons-collections/commons-collections/3.1/commons-collections-3.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/commons-collections/commons-collections/3.1/commons-collections-3.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: commons-io:commons-io:2.4"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/2.4/commons-io-2.4-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: commons-logging:commons-logging:1.1.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: javax.servlet:javax.servlet-api:3.0.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: javax.validation:validation-api:1.0.0.GA"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: javax.validation:validation-api:sources:1.0.0.GA"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/libraries/Maven__junit_junit_4_8_1.xml
0 → 100644
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: junit:junit:4.8.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.8.1/junit-4.8.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.8.1/junit-4.8.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.8.1/junit-4.8.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: net.sourceforge.cssparser:cssparser:0.9.11"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/cssparser/cssparser/0.9.11/cssparser-0.9.11-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: net.sourceforge.nekohtml:nekohtml:1.9.19"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/net/sourceforge/nekohtml/nekohtml/1.9.19/nekohtml-1.9.19-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.apache.commons:commons-lang3:3.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.apache.httpcomponents:httpclient:4.3.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpclient/4.3.1/httpclient-4.3.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.apache.httpcomponents:httpcore:4.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpcore/4.3/httpcore-4.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.apache.httpcomponents:httpmime:4.3.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/httpcomponents/httpmime/4.3.1/httpmime-4.3.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.apache.james:apache-mime4j:0.6"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/james/apache-mime4j/0.6/apache-mime4j-0.6.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/james/apache-mime4j/0.6/apache-mime4j-0.6-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/apache/james/apache-mime4j/0.6/apache-mime4j-0.6-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-annotations:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-annotations/8.1.12.v20130726/jetty-annotations-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-annotations/8.1.12.v20130726/jetty-annotations-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-annotations/8.1.12.v20130726/jetty-annotations-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-client:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/8.1.12.v20130726/jetty-client-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/8.1.12.v20130726/jetty-client-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-client/8.1.12.v20130726/jetty-client-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-continuation:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-continuation/8.1.12.v20130726/jetty-continuation-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-continuation/8.1.12.v20130726/jetty-continuation-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-continuation/8.1.12.v20130726/jetty-continuation-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-http:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-http/8.1.12.v20130726/jetty-http-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-io:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-io/8.1.12.v20130726/jetty-io-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-jndi:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-jndi/8.1.12.v20130726/jetty-jndi-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-jndi/8.1.12.v20130726/jetty-jndi-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-jndi/8.1.12.v20130726/jetty-jndi-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-plus:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-plus/8.1.12.v20130726/jetty-plus-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-plus/8.1.12.v20130726/jetty-plus-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-plus/8.1.12.v20130726/jetty-plus-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-security:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/8.1.12.v20130726/jetty-security-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/8.1.12.v20130726/jetty-security-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-security/8.1.12.v20130726/jetty-security-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-server:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/8.1.12.v20130726/jetty-server-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/8.1.12.v20130726/jetty-server-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-server/8.1.12.v20130726/jetty-server-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-servlet:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/8.1.12.v20130726/jetty-servlet-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/8.1.12.v20130726/jetty-servlet-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlet/8.1.12.v20130726/jetty-servlet-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-servlets:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlets/8.1.12.v20130726/jetty-servlets-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlets/8.1.12.v20130726/jetty-servlets-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-servlets/8.1.12.v20130726/jetty-servlets-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-util:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-util/8.1.12.v20130726/jetty-util-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-webapp:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/8.1.12.v20130726/jetty-webapp-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/8.1.12.v20130726/jetty-webapp-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-webapp/8.1.12.v20130726/jetty-webapp-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty:jetty-xml:8.1.12.v20130726"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/8.1.12.v20130726/jetty-xml-8.1.12.v20130726.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/8.1.12.v20130726/jetty-xml-8.1.12.v20130726-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/jetty-xml/8.1.12.v20130726/jetty-xml-8.1.12.v20130726-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty.orbit:javax.activation:1.1.0.v201105071233"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.activation/1.1.0.v201105071233/javax.activation-1.1.0.v201105071233.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.activation/1.1.0.v201105071233/javax.activation-1.1.0.v201105071233-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.activation/1.1.0.v201105071233/javax.activation-1.1.0.v201105071233-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty.orbit:javax.annotation:1.1.0.v201108011116"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.annotation/1.1.0.v201108011116/javax.annotation-1.1.0.v201108011116.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.annotation/1.1.0.v201108011116/javax.annotation-1.1.0.v201108011116-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.annotation/1.1.0.v201108011116/javax.annotation-1.1.0.v201108011116-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/libraries/Maven__org_eclipse_jetty_orbit_javax_mail_glassfish_1_4_1_v201005082020.xml
0 → 100644
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty.orbit:javax.mail.glassfish:1.4.1.v201005082020"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.mail.glassfish/1.4.1.v201005082020/javax.mail.glassfish-1.4.1.v201005082020.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.mail.glassfish/1.4.1.v201005082020/javax.mail.glassfish-1.4.1.v201005082020-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.mail.glassfish/1.4.1.v201005082020/javax.mail.glassfish-1.4.1.v201005082020-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty.orbit:javax.transaction:1.1.1.v201105210645"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.transaction/1.1.1.v201105210645/javax.transaction-1.1.1.v201105210645.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.transaction/1.1.1.v201105210645/javax.transaction-1.1.1.v201105210645-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/javax.transaction/1.1.1.v201105210645/javax.transaction-1.1.1.v201105210645-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.eclipse.jetty.orbit:org.objectweb.asm:3.1.0.v200803061910"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/org.objectweb.asm/3.1.0.v200803061910/org.objectweb.asm-3.1.0.v200803061910.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/org.objectweb.asm/3.1.0.v200803061910/org.objectweb.asm-3.1.0.v200803061910-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/eclipse/jetty/orbit/org.objectweb.asm/3.1.0.v200803061910/org.objectweb.asm-3.1.0.v200803061910-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.jdesktop:swing-worker:1.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/jdesktop/swing-worker/1.1/swing-worker-1.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/jdesktop/swing-worker/1.1/swing-worker-1.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/jdesktop/swing-worker/1.1/swing-worker-1.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.jsoup:jsoup:1.8.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/jsoup/jsoup/1.8.1/jsoup-1.8.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/jsoup/jsoup/1.8.1/jsoup-1.8.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/jsoup/jsoup/1.8.1/jsoup-1.8.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.ow2.asm:asm:5.0.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/5.0.3/asm-5.0.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.ow2.asm:asm-commons:5.0.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.ow2.asm:asm-tree:5.0.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.ow2.asm:asm-util:5.0.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: org.w3c.css:sac:1.3"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/org/w3c/css/sac/1.3/sac-1.3.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/org/w3c/css/sac/1.3/sac-1.3-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/org/w3c/css/sac/1.3/sac-1.3-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: xalan:serializer:2.7.1"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/xalan/serializer/2.7.1/serializer-2.7.1.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/xalan/serializer/2.7.1/serializer-2.7.1-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/xalan/serializer/2.7.1/serializer-2.7.1-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: xerces:xercesImpl:2.11.0"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/xerces/xercesImpl/2.11.0/xercesImpl-2.11.0-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <component name="libraryTable"> | ||
2 | <library name="Maven: xml-apis:xml-apis:1.4.01"> | ||
3 | <CLASSES> | ||
4 | <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar!/" /> | ||
5 | </CLASSES> | ||
6 | <JAVADOC> | ||
7 | <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01-javadoc.jar!/" /> | ||
8 | </JAVADOC> | ||
9 | <SOURCES> | ||
10 | <root url="jar://$MAVEN_REPOSITORY$/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01-sources.jar!/" /> | ||
11 | </SOURCES> | ||
12 | </library> | ||
13 | </component> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/misc.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project version="4"> | ||
3 | <component name="MavenProjectsManager"> | ||
4 | <option name="originalFiles"> | ||
5 | <list> | ||
6 | <option value="$PROJECT_DIR$/pom.xml" /> | ||
7 | </list> | ||
8 | </option> | ||
9 | </component> | ||
10 | <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.7" project-jdk-type="JavaSDK"> | ||
11 | <output url="file://$PROJECT_DIR$/out" /> | ||
12 | </component> | ||
13 | </project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/modules.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project version="4"> | ||
3 | <component name="ProjectModuleManager"> | ||
4 | <modules> | ||
5 | <module fileurl="file://$PROJECT_DIR$/webnotifications/webnotifications.iml" filepath="$PROJECT_DIR$/webnotifications/webnotifications.iml" /> | ||
6 | <module fileurl="file://$PROJECT_DIR$/webnotifications-demo/webnotifications-demo.iml" filepath="$PROJECT_DIR$/webnotifications-demo/webnotifications-demo.iml" /> | ||
7 | <module fileurl="file://$PROJECT_DIR$/.idea/webnotifications-root.iml" filepath="$PROJECT_DIR$/.idea/webnotifications-root.iml" /> | ||
8 | </modules> | ||
9 | </component> | ||
10 | </project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/uiDesigner.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project version="4"> | ||
3 | <component name="Palette2"> | ||
4 | <group name="Swing"> | ||
5 | <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
6 | <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> | ||
7 | </item> | ||
8 | <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
9 | <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> | ||
10 | </item> | ||
11 | <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
12 | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> | ||
13 | </item> | ||
14 | <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true"> | ||
15 | <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> | ||
16 | </item> | ||
17 | <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
18 | <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> | ||
19 | <initial-values> | ||
20 | <property name="text" value="Button" /> | ||
21 | </initial-values> | ||
22 | </item> | ||
23 | <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
24 | <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> | ||
25 | <initial-values> | ||
26 | <property name="text" value="RadioButton" /> | ||
27 | </initial-values> | ||
28 | </item> | ||
29 | <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
30 | <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> | ||
31 | <initial-values> | ||
32 | <property name="text" value="CheckBox" /> | ||
33 | </initial-values> | ||
34 | </item> | ||
35 | <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
36 | <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> | ||
37 | <initial-values> | ||
38 | <property name="text" value="Label" /> | ||
39 | </initial-values> | ||
40 | </item> | ||
41 | <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
42 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> | ||
43 | <preferred-size width="150" height="-1" /> | ||
44 | </default-constraints> | ||
45 | </item> | ||
46 | <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
47 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> | ||
48 | <preferred-size width="150" height="-1" /> | ||
49 | </default-constraints> | ||
50 | </item> | ||
51 | <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
52 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> | ||
53 | <preferred-size width="150" height="-1" /> | ||
54 | </default-constraints> | ||
55 | </item> | ||
56 | <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
57 | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | ||
58 | <preferred-size width="150" height="50" /> | ||
59 | </default-constraints> | ||
60 | </item> | ||
61 | <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
62 | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | ||
63 | <preferred-size width="150" height="50" /> | ||
64 | </default-constraints> | ||
65 | </item> | ||
66 | <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
67 | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | ||
68 | <preferred-size width="150" height="50" /> | ||
69 | </default-constraints> | ||
70 | </item> | ||
71 | <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
72 | <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> | ||
73 | </item> | ||
74 | <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
75 | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | ||
76 | <preferred-size width="150" height="50" /> | ||
77 | </default-constraints> | ||
78 | </item> | ||
79 | <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
80 | <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> | ||
81 | <preferred-size width="150" height="50" /> | ||
82 | </default-constraints> | ||
83 | </item> | ||
84 | <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
85 | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> | ||
86 | <preferred-size width="150" height="50" /> | ||
87 | </default-constraints> | ||
88 | </item> | ||
89 | <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
90 | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> | ||
91 | <preferred-size width="200" height="200" /> | ||
92 | </default-constraints> | ||
93 | </item> | ||
94 | <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
95 | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> | ||
96 | <preferred-size width="200" height="200" /> | ||
97 | </default-constraints> | ||
98 | </item> | ||
99 | <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true"> | ||
100 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> | ||
101 | </item> | ||
102 | <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
103 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> | ||
104 | </item> | ||
105 | <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
106 | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> | ||
107 | </item> | ||
108 | <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
109 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> | ||
110 | </item> | ||
111 | <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
112 | <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> | ||
113 | <preferred-size width="-1" height="20" /> | ||
114 | </default-constraints> | ||
115 | </item> | ||
116 | <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false"> | ||
117 | <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> | ||
118 | </item> | ||
119 | <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false"> | ||
120 | <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> | ||
121 | </item> | ||
122 | </group> | ||
123 | </component> | ||
124 | </project> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
.idea/vcs.xml
0 → 100644
.idea/webnotifications-root.iml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||
3 | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false"> | ||
4 | <output url="file://$MODULE_DIR$/target/classes" /> | ||
5 | <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||
6 | <content url="file://$MODULE_DIR$"> | ||
7 | <excludeFolder url="file://$MODULE_DIR$/target" /> | ||
8 | </content> | ||
9 | <orderEntry type="inheritedJdk" /> | ||
10 | <orderEntry type="sourceFolder" forTests="false" /> | ||
11 | </component> | ||
12 | </module> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
LICENSE.txt
0 → 100644
1 | |||
2 | Apache License | ||
3 | Version 2.0, January 2004 | ||
4 | http://www.apache.org/licenses/ | ||
5 | |||
6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | ||
7 | |||
8 | 1. Definitions. | ||
9 | |||
10 | "License" shall mean the terms and conditions for use, reproduction, | ||
11 | and distribution as defined by Sections 1 through 9 of this document. | ||
12 | |||
13 | "Licensor" shall mean the copyright owner or entity authorized by | ||
14 | the copyright owner that is granting the License. | ||
15 | |||
16 | "Legal Entity" shall mean the union of the acting entity and all | ||
17 | other entities that control, are controlled by, or are under common | ||
18 | control with that entity. For the purposes of this definition, | ||
19 | "control" means (i) the power, direct or indirect, to cause the | ||
20 | direction or management of such entity, whether by contract or | ||
21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the | ||
22 | outstanding shares, or (iii) beneficial ownership of such entity. | ||
23 | |||
24 | "You" (or "Your") shall mean an individual or Legal Entity | ||
25 | exercising permissions granted by this License. | ||
26 | |||
27 | "Source" form shall mean the preferred form for making modifications, | ||
28 | including but not limited to software source code, documentation | ||
29 | source, and configuration files. | ||
30 | |||
31 | "Object" form shall mean any form resulting from mechanical | ||
32 | transformation or translation of a Source form, including but | ||
33 | not limited to compiled object code, generated documentation, | ||
34 | and conversions to other media types. | ||
35 | |||
36 | "Work" shall mean the work of authorship, whether in Source or | ||
37 | Object form, made available under the License, as indicated by a | ||
38 | copyright notice that is included in or attached to the work | ||
39 | (an example is provided in the Appendix below). | ||
40 | |||
41 | "Derivative Works" shall mean any work, whether in Source or Object | ||
42 | form, that is based on (or derived from) the Work and for which the | ||
43 | editorial revisions, annotations, elaborations, or other modifications | ||
44 | represent, as a whole, an original work of authorship. For the purposes | ||
45 | of this License, Derivative Works shall not include works that remain | ||
46 | separable from, or merely link (or bind by name) to the interfaces of, | ||
47 | the Work and Derivative Works thereof. | ||
48 | |||
49 | "Contribution" shall mean any work of authorship, including | ||
50 | the original version of the Work and any modifications or additions | ||
51 | to that Work or Derivative Works thereof, that is intentionally | ||
52 | submitted to Licensor for inclusion in the Work by the copyright owner | ||
53 | or by an individual or Legal Entity authorized to submit on behalf of | ||
54 | the copyright owner. For the purposes of this definition, "submitted" | ||
55 | means any form of electronic, verbal, or written communication sent | ||
56 | to the Licensor or its representatives, including but not limited to | ||
57 | communication on electronic mailing lists, source code control systems, | ||
58 | and issue tracking systems that are managed by, or on behalf of, the | ||
59 | Licensor for the purpose of discussing and improving the Work, but | ||
60 | excluding communication that is conspicuously marked or otherwise | ||
61 | designated in writing by the copyright owner as "Not a Contribution." | ||
62 | |||
63 | "Contributor" shall mean Licensor and any individual or Legal Entity | ||
64 | on behalf of whom a Contribution has been received by Licensor and | ||
65 | subsequently incorporated within the Work. | ||
66 | |||
67 | 2. Grant of Copyright License. Subject to the terms and conditions of | ||
68 | this License, each Contributor hereby grants to You a perpetual, | ||
69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||
70 | copyright license to reproduce, prepare Derivative Works of, | ||
71 | publicly display, publicly perform, sublicense, and distribute the | ||
72 | Work and such Derivative Works in Source or Object form. | ||
73 | |||
74 | 3. Grant of Patent License. Subject to the terms and conditions of | ||
75 | this License, each Contributor hereby grants to You a perpetual, | ||
76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable | ||
77 | (except as stated in this section) patent license to make, have made, | ||
78 | use, offer to sell, sell, import, and otherwise transfer the Work, | ||
79 | where such license applies only to those patent claims licensable | ||
80 | by such Contributor that are necessarily infringed by their | ||
81 | Contribution(s) alone or by combination of their Contribution(s) | ||
82 | with the Work to which such Contribution(s) was submitted. If You | ||
83 | institute patent litigation against any entity (including a | ||
84 | cross-claim or counterclaim in a lawsuit) alleging that the Work | ||
85 | or a Contribution incorporated within the Work constitutes direct | ||
86 | or contributory patent infringement, then any patent licenses | ||
87 | granted to You under this License for that Work shall terminate | ||
88 | as of the date such litigation is filed. | ||
89 | |||
90 | 4. Redistribution. You may reproduce and distribute copies of the | ||
91 | Work or Derivative Works thereof in any medium, with or without | ||
92 | modifications, and in Source or Object form, provided that You | ||
93 | meet the following conditions: | ||
94 | |||
95 | (a) You must give any other recipients of the Work or | ||
96 | Derivative Works a copy of this License; and | ||
97 | |||
98 | (b) You must cause any modified files to carry prominent notices | ||
99 | stating that You changed the files; and | ||
100 | |||
101 | (c) You must retain, in the Source form of any Derivative Works | ||
102 | that You distribute, all copyright, patent, trademark, and | ||
103 | attribution notices from the Source form of the Work, | ||
104 | excluding those notices that do not pertain to any part of | ||
105 | the Derivative Works; and | ||
106 | |||
107 | (d) If the Work includes a "NOTICE" text file as part of its | ||
108 | distribution, then any Derivative Works that You distribute must | ||
109 | include a readable copy of the attribution notices contained | ||
110 | within such NOTICE file, excluding those notices that do not | ||
111 | pertain to any part of the Derivative Works, in at least one | ||
112 | of the following places: within a NOTICE text file distributed | ||
113 | as part of the Derivative Works; within the Source form or | ||
114 | documentation, if provided along with the Derivative Works; or, | ||
115 | within a display generated by the Derivative Works, if and | ||
116 | wherever such third-party notices normally appear. The contents | ||
117 | of the NOTICE file are for informational purposes only and | ||
118 | do not modify the License. You may add Your own attribution | ||
119 | notices within Derivative Works that You distribute, alongside | ||
120 | or as an addendum to the NOTICE text from the Work, provided | ||
121 | that such additional attribution notices cannot be construed | ||
122 | as modifying the License. | ||
123 | |||
124 | You may add Your own copyright statement to Your modifications and | ||
125 | may provide additional or different license terms and conditions | ||
126 | for use, reproduction, or distribution of Your modifications, or | ||
127 | for any such Derivative Works as a whole, provided Your use, | ||
128 | reproduction, and distribution of the Work otherwise complies with | ||
129 | the conditions stated in this License. | ||
130 | |||
131 | 5. Submission of Contributions. Unless You explicitly state otherwise, | ||
132 | any Contribution intentionally submitted for inclusion in the Work | ||
133 | by You to the Licensor shall be under the terms and conditions of | ||
134 | this License, without any additional terms or conditions. | ||
135 | Notwithstanding the above, nothing herein shall supersede or modify | ||
136 | the terms of any separate license agreement you may have executed | ||
137 | with Licensor regarding such Contributions. | ||
138 | |||
139 | 6. Trademarks. This License does not grant permission to use the trade | ||
140 | names, trademarks, service marks, or product names of the Licensor, | ||
141 | except as required for reasonable and customary use in describing the | ||
142 | origin of the Work and reproducing the content of the NOTICE file. | ||
143 | |||
144 | 7. Disclaimer of Warranty. Unless required by applicable law or | ||
145 | agreed to in writing, Licensor provides the Work (and each | ||
146 | Contributor provides its Contributions) on an "AS IS" BASIS, | ||
147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | ||
148 | implied, including, without limitation, any warranties or conditions | ||
149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | ||
150 | PARTICULAR PURPOSE. You are solely responsible for determining the | ||
151 | appropriateness of using or redistributing the Work and assume any | ||
152 | risks associated with Your exercise of permissions under this License. | ||
153 | |||
154 | 8. Limitation of Liability. In no event and under no legal theory, | ||
155 | whether in tort (including negligence), contract, or otherwise, | ||
156 | unless required by applicable law (such as deliberate and grossly | ||
157 | negligent acts) or agreed to in writing, shall any Contributor be | ||
158 | liable to You for damages, including any direct, indirect, special, | ||
159 | incidental, or consequential damages of any character arising as a | ||
160 | result of this License or out of the use or inability to use the | ||
161 | Work (including but not limited to damages for loss of goodwill, | ||
162 | work stoppage, computer failure or malfunction, or any and all | ||
163 | other commercial damages or losses), even if such Contributor | ||
164 | has been advised of the possibility of such damages. | ||
165 | |||
166 | 9. Accepting Warranty or Additional Liability. While redistributing | ||
167 | the Work or Derivative Works thereof, You may choose to offer, | ||
168 | and charge a fee for, acceptance of support, warranty, indemnity, | ||
169 | or other liability obligations and/or rights consistent with this | ||
170 | License. However, in accepting such obligations, You may act only | ||
171 | on Your own behalf and on Your sole responsibility, not on behalf | ||
172 | of any other Contributor, and only if You agree to indemnify, | ||
173 | defend, and hold each Contributor harmless for any liability | ||
174 | incurred by, or claims asserted against, such Contributor by reason | ||
175 | of your accepting any such warranty or additional liability. | ||
176 | |||
177 | END OF TERMS AND CONDITIONS |
README.md
0 → 100644
1 | # MyComponent Add-on for Vaadin 7 | ||
2 | |||
3 | MyComponent is an UI component add-on for Vaadin 7. | ||
4 | |||
5 | ## Online demo | ||
6 | |||
7 | Try the add-on demo at <url of the online demo> | ||
8 | |||
9 | ## Download release | ||
10 | |||
11 | Official releases of this add-on are available at Vaadin Directory. For Maven instructions, download and reviews, go to http://vaadin.com/addon/webnotifications | ||
12 | |||
13 | ## Building and running demo | ||
14 | |||
15 | git clone <url of the MyComponent repository> | ||
16 | mvn clean install | ||
17 | cd demo | ||
18 | mvn jetty:run | ||
19 | |||
20 | To see the demo, navigate to http://localhost:8080/ | ||
21 | |||
22 | ## Development with Eclipse IDE | ||
23 | |||
24 | For further development of this add-on, the following tool-chain is recommended: | ||
25 | - Eclipse IDE | ||
26 | - m2e wtp plug-in (install it from Eclipse Marketplace) | ||
27 | - Vaadin Eclipse plug-in (install it from Eclipse Marketplace) | ||
28 | - JRebel Eclipse plug-in (install it from Eclipse Marketplace) | ||
29 | - Chrome browser | ||
30 | |||
31 | ### Importing project | ||
32 | |||
33 | Choose File > Import... > Existing Maven Projects | ||
34 | |||
35 | Note that Eclipse may give "Plugin execution not covered by lifecycle configuration" errors for pom.xml. Use "Permanently mark goal resources in pom.xml as ignored in Eclipse build" quick-fix to mark these errors as permanently ignored in your project. Do not worry, the project still works fine. | ||
36 | |||
37 | ### Debugging server-side | ||
38 | |||
39 | If you have not already compiled the widgetset, do it now by running vaadin:install Maven target for webnotifications-root project. | ||
40 | |||
41 | If you have a JRebel license, it makes on the fly code changes faster. Just add JRebel nature to your webnotifications-demo project by clicking project with right mouse button and choosing JRebel > Add JRebel Nature | ||
42 | |||
43 | To debug project and make code modifications on the fly in the server-side, right-click the webnotifications-demo project and choose Debug As > Debug on Server. Navigate to http://localhost:8080/webnotifications-demo/ to see the application. | ||
44 | |||
45 | ### Debugging client-side | ||
46 | |||
47 | The most common way of debugging and making changes to the client-side code is dev-mode. To create debug configuration for it, open webnotifications-demo project properties and click "Create Development Mode Launch" button on the Vaadin tab. Right-click newly added "GWT development mode for webnotifications-demo.launch" and choose Debug As > Debug Configurations... Open up Classpath tab for the development mode configuration and choose User Entries. Click Advanced... and select Add Folders. Choose Java and Resources under webnotifications/src/main and click ok. Now you are ready to start debugging the client-side code by clicking debug. Click Launch Default Browser button in the GWT Development Mode in the launched application. Now you can modify and breakpoints to client-side classes and see changes by reloading the web page. | ||
48 | |||
49 | Another way of debugging client-side is superdev mode. To enable it, uncomment devModeRedirectEnabled line from the end of DemoWidgetSet.gwt.xml located under webnotifications-demo resources folder and compile the widgetset once by running vaadin:compile Maven target for webnotifications-demo. Refresh webnotifications-demo project resources by right clicking the project and choosing Refresh. Click "Create SuperDevMode Launch" button on the Vaadin tab of the webnotifications-demo project properties panel to create superder mode code server launch configuration and modify the class path as instructed above. After starting the code server by running SuperDevMode launch as Java application, you can navigate to http://localhost:8080/webnotifications-demo/?superdevmode. Now all code changes you do to your client side will get compiled as soon as you reload the web page. You can also access Java-sources and set breakpoints inside Chrome if you enable source maps from inspector settings. | ||
50 | |||
51 | |||
52 | ## Release notes | ||
53 | |||
54 | ### Version 1.0-SNAPSHOT | ||
55 | - ... | ||
56 | - ... | ||
57 | |||
58 | ## Roadmap | ||
59 | |||
60 | This component is developed as a hobby with no public roadmap or any guarantees of upcoming releases. That said, the following features are planned for upcoming releases: | ||
61 | - ... | ||
62 | - ... | ||
63 | |||
64 | ## Issue tracking | ||
65 | |||
66 | The issues for this add-on are tracked on its github.com page. All bug reports and feature requests are appreciated. | ||
67 | |||
68 | ## Contributions | ||
69 | |||
70 | Contributions are welcome, but there are no guarantees that they are accepted as such. Process for contributing is the following: | ||
71 | - Fork this project | ||
72 | - Create an issue to this project about the contribution (bug or feature) if there is no such issue about it already. Try to keep the scope minimal. | ||
73 | - Develop and test the fix or functionality carefully. Only include minimum amount of code needed to fix the issue. | ||
74 | - Refer to the fixed issue in commit | ||
75 | - Send a pull request for the original project | ||
76 | - Comment on the original issue that you have implemented a fix for it | ||
77 | |||
78 | ## License & Author | ||
79 | |||
80 | Add-on is distributed under Apache License 2.0. For license terms, see LICENSE.txt. | ||
81 | |||
82 | MyComponent is written by <...> | ||
83 | |||
84 | # Developer Guide | ||
85 | |||
86 | ## Getting started | ||
87 | |||
88 | Here is a simple example on how to try out the add-on component: | ||
89 | |||
90 | <...> | ||
91 | |||
92 | For a more comprehensive example, see src/test/java/org/vaadin/template/demo/DemoUI.java | ||
93 | |||
94 | ## Features | ||
95 | |||
96 | ### Feature A | ||
97 | |||
98 | <...> | ||
99 | |||
100 | ### Feature B | ||
101 | |||
102 | <...> | ||
103 | |||
104 | ### Feature C | ||
105 | |||
106 | <...> | ||
107 | |||
108 | ## API | ||
109 | |||
110 | MyComponent JavaDoc is available online at <...> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
pom.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
4 | <modelVersion>4.0.0</modelVersion> | ||
5 | <groupId>com.burokrat</groupId> | ||
6 | <artifactId>webnotifications-root</artifactId> | ||
7 | <packaging>pom</packaging> | ||
8 | <version>1.0-SNAPSHOT</version> | ||
9 | <name>MyComponent Add-on Root Project</name> | ||
10 | |||
11 | <modules> | ||
12 | <module>webnotifications</module> | ||
13 | <module>webnotifications-demo</module> | ||
14 | </modules> | ||
15 | |||
16 | </project> |
webnotifications-demo/pom.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
4 | <modelVersion>4.0.0</modelVersion> | ||
5 | <groupId>com.burokrat</groupId> | ||
6 | <artifactId>webnotifications-demo</artifactId> | ||
7 | <packaging>war</packaging> | ||
8 | <version>1.0-SNAPSHOT</version> | ||
9 | <name>MyComponent Add-on Demo</name> | ||
10 | |||
11 | <properties> | ||
12 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
13 | <vaadin.version>7.4.6</vaadin.version> | ||
14 | <vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version> | ||
15 | </properties> | ||
16 | |||
17 | <!-- | ||
18 | <organization> | ||
19 | <name>My Name</name> | ||
20 | <url>https://github.com/mygithubaccount/MyComponent/</url> | ||
21 | </organization> | ||
22 | |||
23 | <scm> | ||
24 | <url>git://github.com/mygithubaccount/MyComponent.git</url> | ||
25 | <connection>scm:git:git://github.com/mygithubaccount/MyComponent.git</connection> | ||
26 | <developerConnection>scm:git:ssh://git@github.com:/mygithubaccount/${ComponentClassName}.git</developerConnection> | ||
27 | <tag>MyComponent add-on for Vaadin</tag> | ||
28 | </scm> | ||
29 | |||
30 | <issueManagement> | ||
31 | <system>GitHub</system> | ||
32 | <url>https://github.com/mygithubaccount/MyComponent/issues</url> | ||
33 | </issueManagement> | ||
34 | --> | ||
35 | |||
36 | <licenses> | ||
37 | <license> | ||
38 | <name>Apache 2</name> | ||
39 | <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | ||
40 | <distribution>repo</distribution> | ||
41 | </license> | ||
42 | </licenses> | ||
43 | |||
44 | <repositories> | ||
45 | <repository> | ||
46 | <id>vaadin-addons</id> | ||
47 | <url>http://maven.vaadin.com/vaadin-addons</url> | ||
48 | </repository> | ||
49 | <repository> | ||
50 | <id>vaadin-snapshots</id> | ||
51 | <url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> | ||
52 | <releases> | ||
53 | <enabled>false</enabled> | ||
54 | </releases> | ||
55 | <snapshots> | ||
56 | <enabled>true</enabled> | ||
57 | </snapshots> | ||
58 | </repository> | ||
59 | </repositories> | ||
60 | |||
61 | <pluginRepositories> | ||
62 | <pluginRepository> | ||
63 | <id>vaadin-snapshots</id> | ||
64 | <url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> | ||
65 | <releases> | ||
66 | <enabled>false</enabled> | ||
67 | </releases> | ||
68 | <snapshots> | ||
69 | <enabled>true</enabled> | ||
70 | </snapshots> | ||
71 | </pluginRepository> | ||
72 | </pluginRepositories> | ||
73 | |||
74 | <dependencyManagement> | ||
75 | <dependencies> | ||
76 | <dependency> | ||
77 | <groupId>com.vaadin</groupId> | ||
78 | <artifactId>vaadin-bom</artifactId> | ||
79 | <version>${vaadin.version}</version> | ||
80 | <type>pom</type> | ||
81 | <scope>import</scope> | ||
82 | </dependency> | ||
83 | </dependencies> | ||
84 | </dependencyManagement> | ||
85 | |||
86 | <dependencies> | ||
87 | <dependency> | ||
88 | <groupId>com.burokrat</groupId> | ||
89 | <artifactId>webnotifications</artifactId> | ||
90 | <version>${version}</version> | ||
91 | </dependency> | ||
92 | <dependency> | ||
93 | <groupId>com.vaadin</groupId> | ||
94 | <artifactId>vaadin-push</artifactId> | ||
95 | <version>${vaadin.version}</version> | ||
96 | </dependency> | ||
97 | <dependency> | ||
98 | <groupId>com.vaadin</groupId> | ||
99 | <artifactId>vaadin-client-compiler</artifactId> | ||
100 | <version>${vaadin.version}</version> | ||
101 | </dependency> | ||
102 | <dependency> | ||
103 | <groupId>com.vaadin</groupId> | ||
104 | <artifactId>vaadin-themes</artifactId> | ||
105 | <version>${vaadin.version}</version> | ||
106 | </dependency> | ||
107 | <dependency> | ||
108 | <groupId>javax.servlet</groupId> | ||
109 | <artifactId>javax.servlet-api</artifactId> | ||
110 | <version>3.0.1</version> | ||
111 | <scope>provided</scope> | ||
112 | </dependency> | ||
113 | </dependencies> | ||
114 | |||
115 | <build> | ||
116 | <plugins> | ||
117 | |||
118 | <plugin> | ||
119 | <groupId>org.apache.maven.plugins</groupId> | ||
120 | <artifactId>maven-compiler-plugin</artifactId> | ||
121 | <version>3.0</version> | ||
122 | <configuration> | ||
123 | <source>1.6</source> | ||
124 | <target>1.6</target> | ||
125 | </configuration> | ||
126 | </plugin> | ||
127 | |||
128 | <plugin> | ||
129 | <artifactId>maven-clean-plugin</artifactId> | ||
130 | <version>2.4.1</version> | ||
131 | <configuration> | ||
132 | <filesets> | ||
133 | <fileset> | ||
134 | <!-- Clean-up widgetset required for "inplace" compilation --> | ||
135 | <directory>${basedir}/src/main/webapp/VAADIN/widgetsets</directory> | ||
136 | </fileset> | ||
137 | <fileset> | ||
138 | <!-- Clean-up gwt cache --> | ||
139 | <directory>${basedir}/src/main/webapp/VAADIN/gwt-unitCache</directory> | ||
140 | </fileset> | ||
141 | </filesets> | ||
142 | </configuration> | ||
143 | </plugin> | ||
144 | |||
145 | <plugin> | ||
146 | <artifactId>maven-war-plugin</artifactId> | ||
147 | <version>2.3</version> | ||
148 | <configuration> | ||
149 | <packagingExcludes> | ||
150 | **/VAADIN/gwt-unitCache/**, | ||
151 | **/VAADIN/widgetsets/WEB-INF/**, | ||
152 | **/WEB-INF/lib/servlet-api-*.jar, | ||
153 | **/WEB-INF/lib/vaadin-client-*.jar, | ||
154 | **/WEB-INF/lib/jetty-*.jar, | ||
155 | **/WEB-INF/lib/ant-*.jar, | ||
156 | **/WEB-INF/classes/gwt-unitCache/**, | ||
157 | **/WEB-INF/classes/themes/**, | ||
158 | **/WEB-INF/classes/widgetsets/** | ||
159 | </packagingExcludes> | ||
160 | <failOnMissingWebXml>false</failOnMissingWebXml> | ||
161 | </configuration> | ||
162 | </plugin> | ||
163 | |||
164 | <plugin> | ||
165 | <groupId>com.vaadin</groupId> | ||
166 | <artifactId>vaadin-maven-plugin</artifactId> | ||
167 | <version>${vaadin.plugin.version}</version> | ||
168 | <configuration> | ||
169 | <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs> | ||
170 | <webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory> | ||
171 | <hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp> | ||
172 | <noServer>true</noServer> | ||
173 | <persistentunitcachedir>${basedir}/target/tmp/gwt-unitCache</persistentunitcachedir> | ||
174 | <compileReport>true</compileReport> | ||
175 | <strict>true</strict> | ||
176 | <runTarget>http://localhost:8080/</runTarget> | ||
177 | </configuration> | ||
178 | <executions> | ||
179 | <!-- You are free to mark this as permanently ignored in Eclipse --> | ||
180 | <execution> | ||
181 | <configuration> | ||
182 | <!-- if you don't specify any modules, the plugin will find them --> | ||
183 | </configuration> | ||
184 | <goals> | ||
185 | <goal>resources</goal> | ||
186 | <goal>update-widgetset</goal> | ||
187 | <goal>compile</goal> | ||
188 | </goals> | ||
189 | </execution> | ||
190 | </executions> | ||
191 | </plugin> | ||
192 | |||
193 | <plugin> | ||
194 | <groupId>org.mortbay.jetty</groupId> | ||
195 | <artifactId>jetty-maven-plugin</artifactId> | ||
196 | <version>8.1.10.v20130312</version> | ||
197 | <configuration> | ||
198 | <webApp> | ||
199 | <contextPath>/</contextPath> | ||
200 | </webApp> | ||
201 | </configuration> | ||
202 | </plugin> | ||
203 | |||
204 | </plugins> | ||
205 | |||
206 | <pluginManagement> | ||
207 | <plugins> | ||
208 | <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> | ||
209 | <plugin> | ||
210 | <groupId>org.eclipse.m2e</groupId> | ||
211 | <artifactId>lifecycle-mapping</artifactId> | ||
212 | <version>1.0.0</version> | ||
213 | <configuration> | ||
214 | <lifecycleMappingMetadata> | ||
215 | <pluginExecutions> | ||
216 | <pluginExecution> | ||
217 | <pluginExecutionFilter> | ||
218 | <groupId>com.vaadin</groupId> | ||
219 | <artifactId>vaadin-maven-plugin</artifactId> | ||
220 | <versionRange> | ||
221 | [${vaadin.plugin.version},) | ||
222 | </versionRange> | ||
223 | <goals> | ||
224 | <goal>resources</goal> | ||
225 | <goal>update-widgetset</goal> | ||
226 | <goal>compile</goal> | ||
227 | <goal>update-theme</goal> | ||
228 | <goal>compile-theme</goal> | ||
229 | </goals> | ||
230 | </pluginExecutionFilter> | ||
231 | <action> | ||
232 | <ignore></ignore> | ||
233 | </action> | ||
234 | </pluginExecution> | ||
235 | </pluginExecutions> | ||
236 | </lifecycleMappingMetadata> | ||
237 | </configuration> | ||
238 | </plugin> | ||
239 | </plugins> | ||
240 | </pluginManagement> | ||
241 | |||
242 | </build> | ||
243 | |||
244 | </project> |
1 | package com.burokrat.demo; | ||
2 | |||
3 | import com.burokrat.notifications.WebNotification; | ||
4 | |||
5 | import javax.servlet.annotation.WebServlet; | ||
6 | |||
7 | import com.vaadin.annotations.Theme; | ||
8 | import com.vaadin.annotations.Title; | ||
9 | import com.vaadin.annotations.VaadinServletConfiguration; | ||
10 | import com.vaadin.server.VaadinRequest; | ||
11 | import com.vaadin.server.VaadinServlet; | ||
12 | import com.vaadin.ui.Button; | ||
13 | import com.vaadin.ui.UI; | ||
14 | import com.vaadin.ui.VerticalLayout; | ||
15 | |||
16 | @Theme("demo") | ||
17 | @Title("MyComponent Add-on Demo") | ||
18 | @SuppressWarnings("serial") | ||
19 | public class DemoUI extends UI | ||
20 | { | ||
21 | |||
22 | @WebServlet(value = "/*", asyncSupported = true) | ||
23 | @VaadinServletConfiguration(productionMode = false, ui = DemoUI.class, widgetset = "com.burokrat.demo.DemoWidgetSet") | ||
24 | public static class Servlet extends VaadinServlet { | ||
25 | } | ||
26 | |||
27 | @Override | ||
28 | protected void init(VaadinRequest request) { | ||
29 | final VerticalLayout layout = new VerticalLayout(); | ||
30 | layout.setMargin(true); | ||
31 | setContent(layout); | ||
32 | |||
33 | final WebNotification.NotificationBuilder notification = WebNotification.create("Hello"); | ||
34 | |||
35 | Button button = new Button("Notify Me"); | ||
36 | button.addClickListener(new Button.ClickListener() { | ||
37 | public void buttonClick(Button.ClickEvent event) { | ||
38 | notification.show(); | ||
39 | } | ||
40 | }); | ||
41 | layout.addComponent(button); | ||
42 | } | ||
43 | } |
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.5.1/distro-source/core/src/gwt-module.dtd"> | ||
3 | <module> | ||
4 | <!-- | ||
5 | This file is automatically updated based on new dependencies by the | ||
6 | goal "vaadin:update-widgetset". | ||
7 | --> | ||
8 | |||
9 | <!-- Inherit add-on widgetset --> | ||
10 | <!--<inherits name="com.burokrat.WidgetSet" />--> | ||
11 | |||
12 | <!-- | ||
13 | Uncomment the following to compile the widgetset for one browser only. | ||
14 | |||
15 | Multiple browsers can be specified as a comma separated list. The | ||
16 | supported user agents at the moment of writing were: | ||
17 | ie8,ie9,gecko1_8,safari,opera | ||
18 | |||
19 | The value gecko1_8 is used for Firefox and safari is used for webkit | ||
20 | based browsers including Google Chrome. | ||
21 | --> | ||
22 | <!-- <set-property name="user.agent" value="safari"/> --> | ||
23 | |||
24 | <!-- | ||
25 | To enable SuperDevMode, uncomment this line. | ||
26 | |||
27 | See https://vaadin.com/wiki/-/wiki/Main/Using%20SuperDevMode for more | ||
28 | information and instructions. | ||
29 | --> | ||
30 | <!-- <set-configuration-property name="devModeRedirectEnabled" value="true" /> --> | ||
31 | |||
32 | |||
33 | <inherits name="com.vaadin.DefaultWidgetSet" /> | ||
34 | </module> |
No preview for this file type

22.8 KB
1 | @import "../valo/valo.scss"; | ||
2 | |||
3 | $gray: #d1d1cf; | ||
4 | $green: #40b527; | ||
5 | $darkgreen: darken($green, 30%); | ||
6 | |||
7 | // Prefix all selectors in your theme with .demo | ||
8 | .demo { | ||
9 | |||
10 | // Include valo theme styles in your theme | ||
11 | @include valo; | ||
12 | |||
13 | // You can style your demo app right here | ||
14 | .demoContentLayout { | ||
15 | background-color: $gray; | ||
16 | background-image: url(images/radial-gradient.png); | ||
17 | background-size: 90%; | ||
18 | background-position: center center; | ||
19 | background-repeat: no-repeat; | ||
20 | } | ||
21 | |||
22 | // You can also customize your component for the demo | ||
23 | // app, but remember that these styles are not part of | ||
24 | // the component. To include built-in CSS for your component, | ||
25 | // edit client/styles.css under java sources | ||
26 | div.webnotifications { | ||
27 | color: $green; | ||
28 | font-size: 50pt; | ||
29 | font-weight: bold; | ||
30 | text-shadow: 0px 3px 0px $darkgreen, | ||
31 | 0px 14px 10px rgba(0,0,0,0.15), | ||
32 | 0px 24px 2px rgba(0,0,0,0.1), | ||
33 | 0px 34px 30px rgba(0,0,0,0.1); | ||
34 | text-align: center; | ||
35 | } | ||
36 | } |
This diff could not be displayed because it is too large.
webnotifications-root.iml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||
3 | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5" inherit-compiler-output="false"> | ||
4 | <output url="file://$MODULE_DIR$/target/classes" /> | ||
5 | <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||
6 | <content url="file://$MODULE_DIR$"> | ||
7 | <sourceFolder url="file://$MODULE_DIR$/webnotifications/src/main" isTestSource="false" /> | ||
8 | <sourceFolder url="file://$MODULE_DIR$/webnotifications/src/test" isTestSource="true" /> | ||
9 | <sourceFolder url="file://$MODULE_DIR$/webnotifications-demo/src/main" isTestSource="false" /> | ||
10 | <sourceFolder url="file://$MODULE_DIR$/webnotifications-demo/src/test" isTestSource="true" /> | ||
11 | <excludeFolder url="file://$MODULE_DIR$/target" /> | ||
12 | </content> | ||
13 | <orderEntry type="inheritedJdk" /> | ||
14 | <orderEntry type="sourceFolder" forTests="false" /> | ||
15 | </component> | ||
16 | </module> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
webnotifications/assembly/MANIFEST.MF
0 → 100644
webnotifications/assembly/assembly.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <assembly | ||
3 | xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" | ||
4 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
5 | xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> | ||
6 | <id>addon</id> | ||
7 | |||
8 | <!-- Note: the base directory for this assembly descriptor is one of the | ||
9 | license specific subprojects --> | ||
10 | |||
11 | <formats> | ||
12 | <format>zip</format> | ||
13 | </formats> | ||
14 | |||
15 | <!-- Do not use because we must put META-INF/MANIFEST.MF there. --> | ||
16 | <includeBaseDirectory>false</includeBaseDirectory> | ||
17 | |||
18 | <fileSets> | ||
19 | <fileSet> | ||
20 | <directory>..</directory> | ||
21 | <includes> | ||
22 | <include>LICENSE.txt</include> | ||
23 | <include>README.md</include> | ||
24 | </includes> | ||
25 | </fileSet> | ||
26 | <fileSet> | ||
27 | <directory>target</directory> | ||
28 | <outputDirectory></outputDirectory> | ||
29 | <includes> | ||
30 | <include>*.jar</include> | ||
31 | <include>*.pdf</include> | ||
32 | </includes> | ||
33 | </fileSet> | ||
34 | </fileSets> | ||
35 | |||
36 | <files> | ||
37 | <!-- This is vaadin.com/directory related manifest needed in the zip package --> | ||
38 | <file> | ||
39 | <source>assembly/MANIFEST.MF</source> | ||
40 | <outputDirectory>META-INF</outputDirectory> | ||
41 | <filtered>true</filtered> | ||
42 | </file> | ||
43 | </files> | ||
44 | </assembly> |
webnotifications/pom.xml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||
4 | <modelVersion>4.0.0</modelVersion> | ||
5 | <groupId>com.burokrat</groupId> | ||
6 | <artifactId>webnotifications</artifactId> | ||
7 | <packaging>jar</packaging> | ||
8 | <version>1.0-SNAPSHOT</version> | ||
9 | <name>MyComponent Add-on</name> | ||
10 | |||
11 | <properties> | ||
12 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
13 | <vaadin.version>7.4.6</vaadin.version> | ||
14 | <vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version> | ||
15 | |||
16 | <!-- ZIP Manifest fields --> | ||
17 | <Implementation-Version>${project.version}</Implementation-Version> | ||
18 | <!-- Must not change this because of the Directory --> | ||
19 | <Implementation-Title>${project.name}</Implementation-Title> | ||
20 | <Implementation-Vendor>${project.organization.name}</Implementation-Vendor> | ||
21 | <Vaadin-License-Title>Apache License 2.0</Vaadin-License-Title> | ||
22 | <Vaadin-Addon>${artifactId}-${project.version}.jar</Vaadin-Addon> | ||
23 | </properties> | ||
24 | |||
25 | <!-- | ||
26 | <organization> | ||
27 | <name>My Name</name> | ||
28 | <url>https://github.com/mygithubaccount/MyComponent/</url> | ||
29 | </organization> | ||
30 | |||
31 | <scm> | ||
32 | <url>git://github.com/mygithubaccount/MyComponent.git</url> | ||
33 | <connection>scm:git:git://github.com/mygithubaccount/MyComponent.git</connection> | ||
34 | <developerConnection>scm:git:ssh://git@github.com:/mygithubaccount/${ComponentClassName}.git</developerConnection> | ||
35 | <tag>MyComponent add-on for Vaadin</tag> | ||
36 | </scm> | ||
37 | |||
38 | <issueManagement> | ||
39 | <system>GitHub</system> | ||
40 | <url>https://github.com/mygithubaccount/MyComponent/issues</url> | ||
41 | </issueManagement> | ||
42 | --> | ||
43 | |||
44 | <licenses> | ||
45 | <license> | ||
46 | <name>Apache 2</name> | ||
47 | <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | ||
48 | <distribution>repo</distribution> | ||
49 | </license> | ||
50 | </licenses> | ||
51 | |||
52 | <repositories> | ||
53 | <repository> | ||
54 | <id>vaadin-addons</id> | ||
55 | <url>http://maven.vaadin.com/vaadin-addons</url> | ||
56 | </repository> | ||
57 | <repository> | ||
58 | <id>vaadin-snapshots</id> | ||
59 | <url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> | ||
60 | <releases> | ||
61 | <enabled>false</enabled> | ||
62 | </releases> | ||
63 | <snapshots> | ||
64 | <enabled>true</enabled> | ||
65 | </snapshots> | ||
66 | </repository> | ||
67 | </repositories> | ||
68 | |||
69 | <pluginRepositories> | ||
70 | <pluginRepository> | ||
71 | <id>vaadin-snapshots</id> | ||
72 | <url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> | ||
73 | <releases> | ||
74 | <enabled>false</enabled> | ||
75 | </releases> | ||
76 | <snapshots> | ||
77 | <enabled>true</enabled> | ||
78 | </snapshots> | ||
79 | </pluginRepository> | ||
80 | </pluginRepositories> | ||
81 | |||
82 | <dependencies> | ||
83 | <dependency> | ||
84 | <groupId>com.vaadin</groupId> | ||
85 | <artifactId>vaadin-server</artifactId> | ||
86 | <version>${vaadin.version}</version> | ||
87 | </dependency> | ||
88 | <dependency> | ||
89 | <groupId>com.vaadin</groupId> | ||
90 | <artifactId>vaadin-client</artifactId> | ||
91 | <version>${vaadin.version}</version> | ||
92 | <scope>provided</scope> | ||
93 | </dependency> | ||
94 | |||
95 | <!-- This can be replaced with TestNG or some other test framework supported by the surefire plugin --> | ||
96 | <dependency> | ||
97 | <groupId>junit</groupId> | ||
98 | <artifactId>junit</artifactId> | ||
99 | <version>4.8.1</version> | ||
100 | <scope>test</scope> | ||
101 | </dependency> | ||
102 | </dependencies> | ||
103 | |||
104 | <build> | ||
105 | <plugins> | ||
106 | |||
107 | <plugin> | ||
108 | <groupId>org.apache.maven.plugins</groupId> | ||
109 | <artifactId>maven-compiler-plugin</artifactId> | ||
110 | <version>3.0</version> | ||
111 | <configuration> | ||
112 | <source>1.7</source> | ||
113 | <target>1.7</target> | ||
114 | </configuration> | ||
115 | </plugin> | ||
116 | |||
117 | <plugin> | ||
118 | <groupId>org.apache.maven.plugins</groupId> | ||
119 | <artifactId>maven-jar-plugin</artifactId> | ||
120 | <version>2.3.1</version> | ||
121 | <configuration> | ||
122 | <archive> | ||
123 | <index>true</index> | ||
124 | <manifest> | ||
125 | <addClasspath>true</addClasspath> | ||
126 | <addDefaultImplementationEntries>true</addDefaultImplementationEntries> | ||
127 | </manifest> | ||
128 | <manifestEntries> | ||
129 | <!-- Package format version - do not change --> | ||
130 | <Vaadin-Package-Version>1</Vaadin-Package-Version> | ||
131 | <Vaadin-License-Title>${Vaadin-License-Title}</Vaadin-License-Title> | ||
132 | <Vaadin-Widgetsets>com.burokrat.WidgetSet</Vaadin-Widgetsets> | ||
133 | </manifestEntries> | ||
134 | </archive> | ||
135 | </configuration> | ||
136 | </plugin> | ||
137 | |||
138 | <plugin> | ||
139 | <groupId>org.apache.maven.plugins</groupId> | ||
140 | <artifactId>maven-javadoc-plugin</artifactId> | ||
141 | <version>2.9</version> | ||
142 | <executions> | ||
143 | <execution> | ||
144 | <id>attach-javadoc</id> | ||
145 | <goals> | ||
146 | <goal>jar</goal> | ||
147 | </goals> | ||
148 | </execution> | ||
149 | </executions> | ||
150 | </plugin> | ||
151 | |||
152 | <plugin> | ||
153 | <groupId>org.apache.maven.plugins</groupId> | ||
154 | <artifactId>maven-source-plugin</artifactId> | ||
155 | <version>2.2.1</version> | ||
156 | <executions> | ||
157 | <execution> | ||
158 | <id>attach-sources</id> | ||
159 | <goals> | ||
160 | <goal>jar</goal> | ||
161 | </goals> | ||
162 | </execution> | ||
163 | </executions> | ||
164 | </plugin> | ||
165 | |||
166 | <plugin> | ||
167 | <groupId>org.apache.maven.plugins</groupId> | ||
168 | <artifactId>maven-assembly-plugin</artifactId> | ||
169 | <version>2.2.1</version> | ||
170 | <configuration> | ||
171 | <appendAssemblyId>false</appendAssemblyId> | ||
172 | <descriptors> | ||
173 | <descriptor>assembly/assembly.xml</descriptor> | ||
174 | </descriptors> | ||
175 | </configuration> | ||
176 | <executions> | ||
177 | <execution> | ||
178 | <goals> | ||
179 | <goal>single</goal> | ||
180 | </goals> | ||
181 | <phase>install</phase> | ||
182 | </execution> | ||
183 | </executions> | ||
184 | </plugin> | ||
185 | |||
186 | <!-- Testing --> | ||
187 | <plugin> | ||
188 | <groupId>org.apache.maven.plugins</groupId> | ||
189 | <artifactId>maven-surefire-plugin</artifactId> | ||
190 | <version>2.14.1</version> | ||
191 | </plugin> | ||
192 | </plugins> | ||
193 | |||
194 | <!-- This is needed for the sources required by the client-side compiler to be | ||
195 | included in the produced JARs --> | ||
196 | <resources> | ||
197 | <resource> | ||
198 | <directory>src/main/java</directory> | ||
199 | <excludes> | ||
200 | <exclude>rebel.xml</exclude> | ||
201 | </excludes> | ||
202 | </resource> | ||
203 | <resource> | ||
204 | <directory>src/main/resources</directory> | ||
205 | </resource> | ||
206 | </resources> | ||
207 | |||
208 | </build> | ||
209 | |||
210 | </project> |
1 | package com.burokrat.notifications; | ||
2 | |||
3 | import com.vaadin.annotations.JavaScript; | ||
4 | import com.vaadin.server.AbstractJavaScriptExtension; | ||
5 | import com.vaadin.ui.Component; | ||
6 | import com.vaadin.ui.JavaScriptFunction; | ||
7 | import com.vaadin.ui.UI; | ||
8 | import elemental.json.JsonArray; | ||
9 | import elemental.json.JsonObject; | ||
10 | import elemental.json.JsonValue; | ||
11 | import elemental.json.impl.JreJsonFactory; | ||
12 | |||
13 | import java.lang.ref.WeakReference; | ||
14 | import java.util.Objects; | ||
15 | import java.util.UUID; | ||
16 | import java.util.concurrent.ConcurrentHashMap; | ||
17 | import java.util.concurrent.ConcurrentMap; | ||
18 | |||
19 | |||
20 | /** | ||
21 | * This is a Vaadin extension to support the (Web) Notifications API. This allows you to show | ||
22 | * notifications directly on the user's desktop, regardless of whether browser or browser tab are | ||
23 | * currently visible. | ||
24 | * <p> | ||
25 | * There are two competing specifications for this API: one from the | ||
26 | * <a href="https://notifications.spec.whatwg.org/">WHATWG</a> and one from the | ||
27 | * <a href="https://www.w3.org/TR/notifications/">W3C</a>. They share features, but there are | ||
28 | * differences. And differing browser support on different platforms makes the situation even more | ||
29 | * complicated. That's an abyss that I didn't want to fully explore. | ||
30 | * <p> | ||
31 | * If you just want to show notifications without getting down to the nitty-gritty of browser | ||
32 | * support, the following options should be rather safe to use - at least in desktop browsers: | ||
33 | * <ul> | ||
34 | * <li>{@link NotificationBuilder#body(String) body}</li> | ||
35 | * <li>{@link NotificationBuilder#icon(String) icon}</li> | ||
36 | * <li>{@link NotificationBuilder#tag(String) tag}</li> | ||
37 | * <li>{@link NotificationBuilder#timeout(Integer) timeout}</li> | ||
38 | * <li>{@link NotificationBuilder#closeOnClick(boolean) closeOnClick}</li> | ||
39 | * <li>{@link NotificationBuilder#focusOnClick(boolean) focusOnClick}</li> | ||
40 | * </ul> | ||
41 | * <p> | ||
42 | * This extension needs to be attached to a UI and needs to request the user's permission to show | ||
43 | * notifications. However all that is taken care of automatically. | ||
44 | * <p> | ||
45 | * Uses <a href="https://github.com/alexgibson/notify.js">notify.js</a> by | ||
46 | * <a href="http://alxgbsn.co.uk/">Alex Gibson</a>. | ||
47 | */ | ||
48 | @JavaScript({"WebNotificationsConnector.js", "notify.js"}) | ||
49 | public class WebNotification | ||
50 | extends AbstractJavaScriptExtension { | ||
51 | |||
52 | /* | ||
53 | * The weak references ensure there are no memory leaks, as there is no safe hook for cleaning up | ||
54 | * the callbacks. It's possible that the callback is garbage collected too early, but considering | ||
55 | * the usually limited lifespan of a notification, the chances for that should be slim. And I'd | ||
56 | * rather deal with that than a memory leak. | ||
57 | */ | ||
58 | private ConcurrentMap<String, WeakReference<Callbacks>> callbacks = new ConcurrentHashMap<>(); | ||
59 | |||
60 | |||
61 | /** | ||
62 | * Registers the {@link WebNotification} extension with the given UI. | ||
63 | * | ||
64 | * @param ui the UI | ||
65 | */ | ||
66 | private WebNotification(UI ui) { | ||
67 | extend(ui); | ||
68 | addFunction("onClickCallback", new JavaScriptFunction() { | ||
69 | @Override | ||
70 | public void call(JsonArray arguments) { | ||
71 | onClick(arguments); | ||
72 | } | ||
73 | }); | ||
74 | addFunction("onErrorCallback", new JavaScriptFunction() { | ||
75 | @Override | ||
76 | public void call(JsonArray arguments) { | ||
77 | onError(arguments); | ||
78 | } | ||
79 | }); | ||
80 | addFunction("onCloseCallback", new JavaScriptFunction() { | ||
81 | @Override | ||
82 | public void call(JsonArray arguments) { | ||
83 | onClose(arguments); | ||
84 | } | ||
85 | }); | ||
86 | } | ||
87 | |||
88 | |||
89 | /** | ||
90 | * Creates a notification and returns a {@link NotificationBuilder} to further customize the | ||
91 | * notification before actually {@link NotificationBuilder#show() showing} it. | ||
92 | * {@link UI#getCurrent()} is used to determine the UI. | ||
93 | * | ||
94 | * @param title the title of the notification | ||
95 | * @return the {@link NotificationBuilder} to customize the notification before showing it | ||
96 | */ | ||
97 | public static NotificationBuilder create(String title) { | ||
98 | UI ui = UI.getCurrent(); | ||
99 | if (ui == null) | ||
100 | throw new IllegalStateException("no current UI found"); | ||
101 | |||
102 | return create(ui, title); | ||
103 | } | ||
104 | |||
105 | /** | ||
106 | * Creates a notification and returns a {@link NotificationBuilder} to further customize the | ||
107 | * notification before actually {@link NotificationBuilder#show() showing} it. | ||
108 | * | ||
109 | * @param component the component that wishes to show a notification or at least the component that is | ||
110 | * used to determine the UI; can be the UI itself | ||
111 | * @param title the title of the notification | ||
112 | * @return the {@link NotificationBuilder} to customize the notification before showing it | ||
113 | */ | ||
114 | public static NotificationBuilder create(Component component, String title) { | ||
115 | Objects.requireNonNull(component, "component"); | ||
116 | Objects.requireNonNull(title, "title"); | ||
117 | |||
118 | UI ui = component.getUI(); | ||
119 | if (ui == null) | ||
120 | throw new IllegalStateException("the component is not attached to a UI"); | ||
121 | |||
122 | WebNotification webnot = new WebNotification(ui); | ||
123 | return webnot.doCreate(title); | ||
124 | } | ||
125 | |||
126 | |||
127 | /** | ||
128 | * @param title the title of the notification | ||
129 | * @return the {@link NotificationBuilder} to customize the notification before showing it | ||
130 | */ | ||
131 | private NotificationBuilder doCreate(String title) { | ||
132 | return new NotificationBuilder(title); | ||
133 | } | ||
134 | |||
135 | |||
136 | private void onClick(JsonArray arguments) { | ||
137 | String notificationId = arguments.getString(0); | ||
138 | WeakReference<Callbacks> ref = this.callbacks.remove(notificationId); | ||
139 | if (ref == null) | ||
140 | return; | ||
141 | Callbacks callbacks = ref.get(); | ||
142 | if (callbacks == null) | ||
143 | return; | ||
144 | if (callbacks.onClick == null) | ||
145 | return; | ||
146 | |||
147 | callbacks.onClick.run(); | ||
148 | } | ||
149 | |||
150 | private void onError(JsonArray arguments) { | ||
151 | String notificationId = arguments.getString(0); | ||
152 | WeakReference<Callbacks> ref = this.callbacks.remove(notificationId); | ||
153 | if (ref == null) | ||
154 | return; | ||
155 | Callbacks callbacks = ref.get(); | ||
156 | if (callbacks == null) | ||
157 | return; | ||
158 | if (callbacks.onError == null) | ||
159 | return; | ||
160 | |||
161 | callbacks.onError.run(); | ||
162 | } | ||
163 | |||
164 | private void onClose(JsonArray arguments) { | ||
165 | /** | ||
166 | * Considering the deprecated nature of onclose, it's not officially supported here. But as long | ||
167 | * as browsers support it anyway, it's used to explicitly clean up callbacks. | ||
168 | */ | ||
169 | String notificationId = arguments.getString(0); | ||
170 | this.callbacks.remove(notificationId); | ||
171 | } | ||
172 | |||
173 | |||
174 | public class NotificationBuilder { | ||
175 | |||
176 | // used to find registered callbacks | ||
177 | private String notificationId = UUID.randomUUID().toString(); | ||
178 | |||
179 | private String title; | ||
180 | |||
181 | |||
182 | private NotificationDirection dir = NotificationDirection.auto; | ||
183 | |||
184 | private String lang = ""; | ||
185 | |||
186 | private String body = ""; | ||
187 | |||
188 | private String tag = ""; | ||
189 | |||
190 | private String image; | ||
191 | |||
192 | private String icon; | ||
193 | |||
194 | private String badge; | ||
195 | |||
196 | private String sound; | ||
197 | |||
198 | //private Instant timestamp; | ||
199 | |||
200 | private Boolean renotify = false; | ||
201 | |||
202 | private Boolean silent = false; | ||
203 | |||
204 | private Boolean requireInteraction = false; | ||
205 | |||
206 | private String data; | ||
207 | |||
208 | private Runnable onClickCallback; | ||
209 | |||
210 | private Runnable onErrorCallback; | ||
211 | |||
212 | |||
213 | private Integer timeout; | ||
214 | |||
215 | private boolean closeOnClick = false; | ||
216 | |||
217 | private boolean focusOnClick = false; | ||
218 | |||
219 | |||
220 | private NotificationBuilder(String title) { | ||
221 | this.title = Objects.requireNonNull(title); | ||
222 | } | ||
223 | |||
224 | |||
225 | String getNotificationId() { | ||
226 | return notificationId; | ||
227 | } | ||
228 | |||
229 | |||
230 | public NotificationBuilder dir(NotificationDirection dir) { | ||
231 | this.dir = dir != null ? dir : NotificationDirection.auto; | ||
232 | return this; | ||
233 | } | ||
234 | |||
235 | public NotificationBuilder lang(String lang) { | ||
236 | this.lang = lang != null ? lang : ""; | ||
237 | return this; | ||
238 | } | ||
239 | |||
240 | /** | ||
241 | * The notification's body. | ||
242 | * | ||
243 | * @param body the notification's body | ||
244 | * @return this notification builder | ||
245 | */ | ||
246 | public NotificationBuilder body(String body) { | ||
247 | this.body = body != null ? body : ""; | ||
248 | return this; | ||
249 | } | ||
250 | |||
251 | /** | ||
252 | * <a href="https://notifications.spec.whatwg.org/#tags-example">A notification is considered to | ||
253 | * be replaceable if there is a notification in the list of notifications whose tag is not the | ||
254 | * empty string and equals the notification’s tag, and whose origin is same origin with | ||
255 | * notification’s origin.</a> | ||
256 | * <p> | ||
257 | * Basically, notifications with the same tag will replace each other. | ||
258 | * | ||
259 | * @param tag the tag | ||
260 | * @return this notification builder | ||
261 | */ | ||
262 | public NotificationBuilder tag(String tag) { | ||
263 | this.tag = tag != null ? tag : ""; | ||
264 | return this; | ||
265 | } | ||
266 | |||
267 | |||
268 | /** | ||
269 | * <a href="https://notifications.spec.whatwg.org/#image-resource">An image resource is a | ||
270 | * picture shown as part of the content of the notification, and should be displayed with higher | ||
271 | * visual priority than the icon resource and badge resource, though it may be displayed in | ||
272 | * fewer circumstances.</a> | ||
273 | * <p> | ||
274 | * Supports normals protocols as well as Vaadin-specific protocols like {@code theme://}. | ||
275 | * | ||
276 | * @param imageUrl the image URL | ||
277 | * @return this notification builder | ||
278 | */ | ||
279 | public NotificationBuilder image(String imageUrl) { | ||
280 | this.image = imageUrl; | ||
281 | return this; | ||
282 | } | ||
283 | |||
284 | /** | ||
285 | * <a href="https://notifications.spec.whatwg.org/#icon-resource">An image that reinforces the | ||
286 | * notification (such as an icon, or a photo of the sender).</a> | ||
287 | * <p> | ||
288 | * Supports normals protocols as well as Vaadin-specific protocols like {@code theme://}. | ||
289 | * | ||
290 | * @param iconUrl the icon URL | ||
291 | * @return this notification builder | ||
292 | */ | ||
293 | public NotificationBuilder icon(String iconUrl) { | ||
294 | this.icon = iconUrl; | ||
295 | return this; | ||
296 | } | ||
297 | |||
298 | /** | ||
299 | * <a href="https://notifications.spec.whatwg.org/#badge-resource">A badge resource is an icon | ||
300 | * representing the web application, or the category of the notification if the web application | ||
301 | * sends a wide variety of notifications. It may be used to represent the notification when | ||
302 | * there is not enough space to display the notification itself. It may also be displayed inside | ||
303 | * the notification, but then it should have less visual priority than the image resource and | ||
304 | * icon resource.</a> | ||
305 | * <p> | ||
306 | * Supports normals protocols as well as Vaadin-specific protocols like {@code theme://}. | ||
307 | * | ||
308 | * @param badgeUrl the badge URL | ||
309 | * @return this notification builder | ||
310 | */ | ||
311 | public NotificationBuilder badge(String badgeUrl) { | ||
312 | this.badge = badgeUrl; | ||
313 | return this; | ||
314 | } | ||
315 | |||
316 | /*public NotificationBuilder timestamp(Instant timestamp) | ||
317 | { | ||
318 | this.timestamp = timestamp; | ||
319 | return this; | ||
320 | }*/ | ||
321 | |||
322 | public NotificationBuilder renotify(Boolean renotify) { | ||
323 | this.renotify = renotify; | ||
324 | return this; | ||
325 | } | ||
326 | |||
327 | public NotificationBuilder silent(Boolean silent) { | ||
328 | this.silent = silent; | ||
329 | return this; | ||
330 | } | ||
331 | |||
332 | public NotificationBuilder requireInteraction(Boolean requireInteraction) { | ||
333 | this.requireInteraction = requireInteraction; | ||
334 | return this; | ||
335 | } | ||
336 | |||
337 | /** | ||
338 | * Sets an explicit timeout after which the notification will be programmatically closed. | ||
339 | * Browsers will typically close them on their own after a while, so setting this should not be | ||
340 | * necessary. I.e. this cannot increase the browser's own timeout, only beat it to it. | ||
341 | * | ||
342 | * @param timeout the timeout in seconds | ||
343 | * @return this notification builder | ||
344 | */ | ||
345 | public NotificationBuilder timeout(Integer timeout) { | ||
346 | this.timeout = timeout; | ||
347 | return this; | ||
348 | } | ||
349 | |||
350 | /** | ||
351 | * Whether the notification should be closed when clicked. This makes notifications easier to | ||
352 | * get rid of in browsers where this isn't the default behavior already. | ||
353 | * | ||
354 | * @param closeOnClick whether to close on click | ||
355 | * @return this notification builder | ||
356 | */ | ||
357 | public NotificationBuilder closeOnClick(boolean closeOnClick) { | ||
358 | this.closeOnClick = closeOnClick; | ||
359 | return this; | ||
360 | } | ||
361 | |||
362 | /** | ||
363 | * Whether clicking the notification should focus the browser window and the application's | ||
364 | * browser tab. This should also bring the browser window to the front, even if it's currently | ||
365 | * minimized; although that part didn't work in Edge for me. | ||
366 | * | ||
367 | * @param focusOnClick whether to close on click | ||
368 | * @return this notification builder | ||
369 | */ | ||
370 | public NotificationBuilder focusOnClick(boolean focusOnClick) { | ||
371 | this.focusOnClick = focusOnClick; | ||
372 | return this; | ||
373 | } | ||
374 | |||
375 | /** | ||
376 | * The callback when the notification is clicked. | ||
377 | * | ||
378 | * @param onClickCallback the onClick callback | ||
379 | * @return this notification builder | ||
380 | */ | ||
381 | public NotificationBuilder onClick(Runnable onClickCallback) { | ||
382 | this.onClickCallback = onClickCallback; | ||
383 | return this; | ||
384 | } | ||
385 | |||
386 | Runnable getOnClickCallback() { | ||
387 | return onClickCallback; | ||
388 | } | ||
389 | |||
390 | /** | ||
391 | * The callback when the notification could not be shown for some reason. | ||
392 | * | ||
393 | * @param onErrorCallback the onError callback | ||
394 | * @return this notification builder | ||
395 | */ | ||
396 | public NotificationBuilder onError(Runnable onErrorCallback) { | ||
397 | this.onErrorCallback = onErrorCallback; | ||
398 | return this; | ||
399 | } | ||
400 | |||
401 | Runnable getOnErrorCallback() { | ||
402 | return onErrorCallback; | ||
403 | } | ||
404 | |||
405 | |||
406 | /** | ||
407 | * Shows the notification. | ||
408 | */ | ||
409 | public void show() { | ||
410 | if (getOnClickCallback() != null || getOnErrorCallback() != null) { | ||
411 | callbacks.put(getNotificationId(), | ||
412 | new WeakReference<>(new Callbacks(getOnClickCallback(), getOnErrorCallback()))); | ||
413 | } | ||
414 | |||
415 | getUI().access(new Runnable() { | ||
416 | @Override | ||
417 | public void run() { | ||
418 | callFunction("show", title, toOptionsJson()); | ||
419 | } | ||
420 | }); | ||
421 | } | ||
422 | |||
423 | |||
424 | /** | ||
425 | * Creates the options object that will be passed to the notification. | ||
426 | * | ||
427 | * @return the options object that will be passed to the notification | ||
428 | */ | ||
429 | JsonValue toOptionsJson() { | ||
430 | JreJsonFactory factory = new JreJsonFactory(); | ||
431 | JsonObject options = factory.createObject(); | ||
432 | |||
433 | // custom property used to map back to correct callbacks | ||
434 | options.put("notificationId", notificationId); | ||
435 | |||
436 | options.put("dir", dir.name()); | ||
437 | options.put("lang", lang); | ||
438 | options.put("body", body); | ||
439 | options.put("tag", tag); | ||
440 | |||
441 | if (image != null) | ||
442 | options.put("image", image); | ||
443 | if (icon != null) | ||
444 | options.put("icon", icon); | ||
445 | if (badge != null) | ||
446 | options.put("badge", badge); | ||
447 | if (sound != null) | ||
448 | options.put("sound", sound); | ||
449 | |||
450 | /*if (timestamp != null) | ||
451 | options.put("timestamp", timestamp.toEpochMilli());*/ | ||
452 | options.put("renotify", renotify); | ||
453 | options.put("silent", silent); | ||
454 | options.put("requireInteraction", requireInteraction); | ||
455 | |||
456 | if (data != null) | ||
457 | options.put("data", data); | ||
458 | |||
459 | // custom options offered by notify.js | ||
460 | if (timeout != null) | ||
461 | options.put("timeout", timeout); | ||
462 | |||
463 | options.put("closeOnClick", closeOnClick); | ||
464 | |||
465 | // custom properties | ||
466 | options.put("focusOnClick", focusOnClick); | ||
467 | options.put("hasOnClick", onClickCallback != null); | ||
468 | options.put("hasOnError", onErrorCallback != null); | ||
469 | |||
470 | return options; | ||
471 | } | ||
472 | |||
473 | } | ||
474 | |||
475 | public enum NotificationDirection { | ||
476 | auto, | ||
477 | ltr, | ||
478 | rtl | ||
479 | } | ||
480 | |||
481 | private static class Callbacks { | ||
482 | private Runnable onClick; | ||
483 | |||
484 | private Runnable onError; | ||
485 | |||
486 | |||
487 | private Callbacks(Runnable onClick, Runnable onError) { | ||
488 | super(); | ||
489 | this.onClick = onClick; | ||
490 | this.onError = onError; | ||
491 | } | ||
492 | } | ||
493 | |||
494 | /*@FunctionalInterface | ||
495 | public interface SerializableRunnable extends Serializable, Runnable | ||
496 | { | ||
497 | }*/ | ||
498 | } |
1 | window.com_burokrat_notifications_WebNotification = function() { | ||
2 | |||
3 | var self = this; | ||
4 | |||
5 | this.requestPermission = function() { | ||
6 | Notify.requestPermission(); | ||
7 | } | ||
8 | |||
9 | this.show = function(title, options) { | ||
10 | |||
11 | // translate URLs with Vaadin-specific protocols like theme:// to something | ||
12 | // the browser can actually load | ||
13 | if (typeof options.image !== "undefined") { | ||
14 | options.image = self.translateVaadinUri(options.image); | ||
15 | } | ||
16 | if (typeof options.icon !== "undefined") { | ||
17 | options.icon = self.translateVaadinUri(options.icon); | ||
18 | } | ||
19 | if (typeof options.badge !== "undefined") { | ||
20 | options.badge = self.translateVaadinUri(options.badge); | ||
21 | } | ||
22 | if (typeof options.sound !== "undefined") { | ||
23 | options.sound = self.translateVaadinUri(options.sound); | ||
24 | } | ||
25 | |||
26 | if (options.hasOnClick || options.focusOnClick) { | ||
27 | options.notifyClick = function() { | ||
28 | if (options.focusOnClick) | ||
29 | window.focus(); | ||
30 | self.onClickCallback(options.notificationId); | ||
31 | }; | ||
32 | } | ||
33 | if (options.hasOnError) { | ||
34 | options.notifyError = function() { | ||
35 | self.onErrorCallback(options.notificationId); | ||
36 | }; | ||
37 | } | ||
38 | |||
39 | // deprecated but used for clean up as long as it's still supported | ||
40 | options.notifyClose = function() { | ||
41 | self.onCloseCallback(options.notificationId); | ||
42 | }; | ||
43 | |||
44 | if (!Notify.needsPermission) { | ||
45 | new Notify(title, options).show(); | ||
46 | } else if (Notify.isSupported()) { | ||
47 | Notify.requestPermission(function onPermissionGranted() { | ||
48 | new Notify(title, options).show(); | ||
49 | }, null); | ||
50 | } | ||
51 | } | ||
52 | } |
1 | (function (global, factory) { | ||
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : | ||
3 | typeof define === 'function' && define.amd ? define(factory) : | ||
4 | (global.Notify = factory()); | ||
5 | }(this, (function () { 'use strict'; | ||
6 | |||
7 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { | ||
8 | return typeof obj; | ||
9 | } : function (obj) { | ||
10 | return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; | ||
11 | }; | ||
12 | |||
13 | |||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | |||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | |||
27 | |||
28 | |||
29 | |||
30 | |||
31 | |||
32 | |||
33 | |||
34 | |||
35 | |||
36 | |||
37 | |||
38 | |||
39 | |||
40 | |||
41 | |||
42 | |||
43 | |||
44 | |||
45 | var objectWithoutProperties = function (obj, keys) { | ||
46 | var target = {}; | ||
47 | |||
48 | for (var i in obj) { | ||
49 | if (keys.indexOf(i) >= 0) continue; | ||
50 | if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; | ||
51 | target[i] = obj[i]; | ||
52 | } | ||
53 | |||
54 | return target; | ||
55 | }; | ||
56 | |||
57 | /* | ||
58 | * Author: Alex Gibson | ||
59 | * https://github.com/alexgibson/notify.js | ||
60 | * License: MIT license | ||
61 | */ | ||
62 | |||
63 | var N = window.Notification; | ||
64 | |||
65 | function isFunction(item) { | ||
66 | return typeof item === 'function'; | ||
67 | } | ||
68 | |||
69 | function Notify(title) { | ||
70 | var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
71 | |||
72 | |||
73 | if (typeof title !== 'string') { | ||
74 | throw new Error('Notify(): first arg (title) must be a string.'); | ||
75 | } | ||
76 | |||
77 | if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object') { | ||
78 | throw new Error('Notify(): second arg (options) must be an object.'); | ||
79 | } | ||
80 | |||
81 | var _options$notifyShow = options.notifyShow, | ||
82 | notifyShow = _options$notifyShow === undefined ? null : _options$notifyShow, | ||
83 | _options$notifyClose = options.notifyClose, | ||
84 | notifyClose = _options$notifyClose === undefined ? null : _options$notifyClose, | ||
85 | _options$notifyClick = options.notifyClick, | ||
86 | notifyClick = _options$notifyClick === undefined ? null : _options$notifyClick, | ||
87 | _options$notifyError = options.notifyError, | ||
88 | notifyError = _options$notifyError === undefined ? null : _options$notifyError, | ||
89 | _options$closeOnClick = options.closeOnClick, | ||
90 | closeOnClick = _options$closeOnClick === undefined ? false : _options$closeOnClick, | ||
91 | _options$timeout = options.timeout, | ||
92 | timeout = _options$timeout === undefined ? null : _options$timeout, | ||
93 | rest = objectWithoutProperties(options, ['notifyShow', 'notifyClose', 'notifyClick', 'notifyError', 'closeOnClick', 'timeout']); | ||
94 | |||
95 | |||
96 | this.title = title; | ||
97 | this.options = rest; | ||
98 | this.permission = null; | ||
99 | this.closeOnClick = closeOnClick; | ||
100 | this.timeout = timeout; | ||
101 | |||
102 | //callback when notification is displayed | ||
103 | if (isFunction(notifyShow)) { | ||
104 | this.onShowCallback = notifyShow; | ||
105 | } | ||
106 | |||
107 | //callback when notification is closed | ||
108 | if (isFunction(notifyClose)) { | ||
109 | this.onCloseCallback = notifyClose; | ||
110 | } | ||
111 | |||
112 | //callback when notification is clicked | ||
113 | if (isFunction(notifyClick)) { | ||
114 | this.onClickCallback = notifyClick; | ||
115 | } | ||
116 | |||
117 | //callback when notification throws error | ||
118 | if (isFunction(notifyError)) { | ||
119 | this.onErrorCallback = notifyError; | ||
120 | } | ||
121 | } | ||
122 | |||
123 | // returns true if the browser supports Web Notifications | ||
124 | // https://developers.google.com/web/updates/2015/05/Notifying-you-of-notificiation-changes | ||
125 | // @param {perm} for test purposes only | ||
126 | Notify.isSupported = function (perm) { | ||
127 | if (!N || !N.requestPermission) { | ||
128 | return false; | ||
129 | } | ||
130 | |||
131 | if (perm === 'granted' || N.permission === 'granted') { | ||
132 | throw new Error('You must only call this before calling Notification.requestPermission(), otherwise this feature detect would trigger an actual notification!'); | ||
133 | } | ||
134 | |||
135 | try { | ||
136 | new N(''); | ||
137 | } catch (e) { | ||
138 | if (e.name === 'TypeError') { | ||
139 | return false; | ||
140 | } | ||
141 | } | ||
142 | return true; | ||
143 | }; | ||
144 | |||
145 | // true if the permission is not granted | ||
146 | Notify.needsPermission = N && N.permission && N.permission === 'granted' ? false : true; | ||
147 | |||
148 | // asks the user for permission to display notifications. Then calls the callback functions is supplied. | ||
149 | Notify.requestPermission = function (onPermissionGrantedCallback, onPermissionDeniedCallback) { | ||
150 | N.requestPermission(function (perm) { | ||
151 | switch (perm) { | ||
152 | case 'granted': | ||
153 | Notify.needsPermission = false; | ||
154 | if (isFunction(onPermissionGrantedCallback)) { | ||
155 | onPermissionGrantedCallback(); | ||
156 | } | ||
157 | break; | ||
158 | case 'denied': | ||
159 | Notify.needsPermission = true; | ||
160 | if (isFunction(onPermissionDeniedCallback)) { | ||
161 | onPermissionDeniedCallback(); | ||
162 | } | ||
163 | break; | ||
164 | } | ||
165 | }); | ||
166 | }; | ||
167 | |||
168 | Notify.prototype.show = function () { | ||
169 | this.myNotify = new N(this.title, this.options); | ||
170 | |||
171 | if (!this.options.requireInteraction && this.timeout && !isNaN(this.timeout)) { | ||
172 | setTimeout(this.close.bind(this), this.timeout * 1000); | ||
173 | } | ||
174 | |||
175 | this.myNotify.addEventListener('show', this, false); | ||
176 | this.myNotify.addEventListener('error', this, false); | ||
177 | this.myNotify.addEventListener('close', this, false); | ||
178 | this.myNotify.addEventListener('click', this, false); | ||
179 | }; | ||
180 | |||
181 | Notify.prototype.onShowNotification = function (e) { | ||
182 | if (this.onShowCallback) { | ||
183 | this.onShowCallback(e); | ||
184 | } | ||
185 | }; | ||
186 | |||
187 | Notify.prototype.onCloseNotification = function (e) { | ||
188 | if (this.onCloseCallback) { | ||
189 | this.onCloseCallback(e); | ||
190 | } | ||
191 | this.destroy(); | ||
192 | }; | ||
193 | |||
194 | Notify.prototype.onClickNotification = function (e) { | ||
195 | if (this.onClickCallback) { | ||
196 | this.onClickCallback(e); | ||
197 | } | ||
198 | |||
199 | if (this.closeOnClick) { | ||
200 | this.close(); | ||
201 | } | ||
202 | }; | ||
203 | |||
204 | Notify.prototype.onErrorNotification = function (e) { | ||
205 | if (this.onErrorCallback) { | ||
206 | this.onErrorCallback(e); | ||
207 | } | ||
208 | this.destroy(); | ||
209 | }; | ||
210 | |||
211 | Notify.prototype.destroy = function () { | ||
212 | this.myNotify.removeEventListener('show', this, false); | ||
213 | this.myNotify.removeEventListener('error', this, false); | ||
214 | this.myNotify.removeEventListener('close', this, false); | ||
215 | this.myNotify.removeEventListener('click', this, false); | ||
216 | }; | ||
217 | |||
218 | Notify.prototype.close = function () { | ||
219 | this.myNotify.close(); | ||
220 | }; | ||
221 | |||
222 | Notify.prototype.handleEvent = function (e) { | ||
223 | switch (e.type) { | ||
224 | case 'show': | ||
225 | this.onShowNotification(e); | ||
226 | break; | ||
227 | case 'close': | ||
228 | this.onCloseNotification(e); | ||
229 | break; | ||
230 | case 'click': | ||
231 | this.onClickNotification(e); | ||
232 | break; | ||
233 | case 'error': | ||
234 | this.onErrorNotification(e); | ||
235 | break; | ||
236 | } | ||
237 | }; | ||
238 | |||
239 | return Notify; | ||
240 | |||
241 | }))); |
webnotifications/webnotifications.iml
0 → 100644
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> | ||
3 | <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false"> | ||
4 | <output url="file://$MODULE_DIR$/target/classes" /> | ||
5 | <output-test url="file://$MODULE_DIR$/target/test-classes" /> | ||
6 | <content url="file://$MODULE_DIR$"> | ||
7 | <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> | ||
8 | <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> | ||
9 | <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> | ||
10 | <excludeFolder url="file://$MODULE_DIR$/target" /> | ||
11 | </content> | ||
12 | <orderEntry type="inheritedJdk" /> | ||
13 | <orderEntry type="sourceFolder" forTests="false" /> | ||
14 | <orderEntry type="library" name="Maven: com.vaadin:vaadin-server:7.4.6" level="project" /> | ||
15 | <orderEntry type="library" name="Maven: com.vaadin:vaadin-sass-compiler:0.9.12" level="project" /> | ||
16 | <orderEntry type="library" name="Maven: com.vaadin.external.flute:flute:1.3.0.gg2" level="project" /> | ||
17 | <orderEntry type="library" name="Maven: com.vaadin:vaadin-shared:7.4.6" level="project" /> | ||
18 | <orderEntry type="library" name="Maven: com.vaadin.external.streamhtmlparser:streamhtmlparser-jsilver:0.0.10.vaadin1" level="project" /> | ||
19 | <orderEntry type="library" name="Maven: com.vaadin.external.google:guava:16.0.1.vaadin1" level="project" /> | ||
20 | <orderEntry type="library" name="Maven: org.jsoup:jsoup:1.8.1" level="project" /> | ||
21 | <orderEntry type="library" scope="PROVIDED" name="Maven: com.vaadin:vaadin-client:7.4.6" level="project" /> | ||
22 | <orderEntry type="library" name="Maven: org.w3c.css:sac:1.3" level="project" /> | ||
23 | <orderEntry type="library" scope="PROVIDED" name="Maven: javax.validation:validation-api:1.0.0.GA" level="project" /> | ||
24 | <orderEntry type="library" scope="PROVIDED" name="Maven: javax.validation:validation-api:sources:1.0.0.GA" level="project" /> | ||
25 | <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.8.1" level="project" /> | ||
26 | </component> | ||
27 | </module> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or sign in to post a comment