Commit 476c434c 476c434c7770b0d3da690c0f20afc9ed58478f74 by Denis Volobuev

initial commit

0 parents
Showing 90 changed files with 2766 additions and 0 deletions
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
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
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
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
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
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
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
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
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
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project version="4">
3 <component name="VcsDirectoryMappings">
4 <mapping directory="" vcs="Git" />
5 </component>
6 </project>
...\ No newline at end of file ...\ No newline at end of file
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
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
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
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>
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>
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Context antiJARLocking="true" path="/webnotifications"/>
1 /* This file is automatically managed and will be overwritten from time to time. */
2 /* Do not manually edit this file. */
3
4 /* Import and include this mixin into your project theme to include the addon themes */
5 @mixin addons {
6 }
7
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.
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
1 Manifest-Version: 1.0
2 Vaadin-Package-Version: 1
3 Vaadin-Addon: ${Vaadin-Addon}
4 Vaadin-License-Title: ${Vaadin-License-Title}
5 Implementation-Vendor: ${Implementation-Vendor}
6 Implementation-Title: ${Implementation-Title}
7 Implementation-Version: ${Implementation-Version}
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>
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 })));
1 package com.burokrat;
2
3 import junit.framework.Assert;
4 import org.junit.Test;
5
6 // JUnit tests here
7 public class MyComponentTest {
8
9 @Test
10 public void thisAlwaysPasses() {
11 Assert.assertEquals(true, true);
12 }
13 }
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