summaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
authorMirjan Merruko <mirjan@vaadin.com>2017-03-24 13:33:37 +0200
committerHenri Sara <henri.sara@gmail.com>2017-04-25 15:01:06 +0300
commit9a6ebeb5a80bdb1d97d47422c62a973b3f2d2cf9 (patch)
tree20b1c09d6c2e6319cba036f9ecf409893c4b6c56 /server/src
parentd0a8608c7e074d4baeef0282146b2da5c47603a5 (diff)
downloadvaadin-framework-9a6ebeb5a80bdb1d97d47422c62a973b3f2d2cf9.tar.gz
vaadin-framework-9a6ebeb5a80bdb1d97d47422c62a973b3f2d2cf9.zip
Add OSGi support #8830 #8827 #8828 #8829
Use bnd-maven-plugin instead of maven-bundle-plugin and helper class, and add support for publishing static resources such as themes and widgetsets.
Diffstat (limited to 'server/src')
-rw-r--r--server/src/main/java/com/vaadin/server/osgi/BootstrapContribution.java50
-rw-r--r--server/src/test/java/com/vaadin/tests/server/ClassesSerializableTest.java2
2 files changed, 52 insertions, 0 deletions
diff --git a/server/src/main/java/com/vaadin/server/osgi/BootstrapContribution.java b/server/src/main/java/com/vaadin/server/osgi/BootstrapContribution.java
new file mode 100644
index 0000000000..0a320ed6e5
--- /dev/null
+++ b/server/src/main/java/com/vaadin/server/osgi/BootstrapContribution.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2000-2016 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.server.osgi;
+
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.http.HttpService;
+import org.osgi.service.http.NamespaceException;
+
+import com.vaadin.osgi.resources.OSGiVaadinResources;
+import com.vaadin.osgi.resources.VaadinResourceService;
+import com.vaadin.osgi.resources.OSGiVaadinResources.ResourceBundleInactiveException;
+
+@Component(immediate = true)
+public class BootstrapContribution {
+ private static final String[] RESOURCES = { "vaadinBootstrap.js",
+ "vaadinBootstrap.js.gz" };
+ private HttpService httpService;
+
+ @Activate
+ void startup() throws NamespaceException, ResourceBundleInactiveException {
+ VaadinResourceService service = OSGiVaadinResources.getService();
+ for (String resourceName : RESOURCES) {
+ service.publishResource(resourceName, httpService);
+ }
+ }
+
+ @Reference
+ void setHttpService(HttpService service) {
+ this.httpService = service;
+ }
+
+ void unsetHttpService(HttpService service) {
+ this.httpService = null;
+ }
+}
diff --git a/server/src/test/java/com/vaadin/tests/server/ClassesSerializableTest.java b/server/src/test/java/com/vaadin/tests/server/ClassesSerializableTest.java
index ec1032c797..b4f9851867 100644
--- a/server/src/test/java/com/vaadin/tests/server/ClassesSerializableTest.java
+++ b/server/src/test/java/com/vaadin/tests/server/ClassesSerializableTest.java
@@ -100,6 +100,8 @@ public class ClassesSerializableTest {
"com\\.vaadin\\.themes\\.valoutil\\.BodyStyleName", //
"com\\.vaadin\\.server\\.communication\\.JSR356WebsocketInitializer.*", //
"com\\.vaadin\\.screenshotbrowser\\.ScreenshotBrowser.*", //
+ "com\\.vaadin\\.osgi.*",//
+ "com\\.vaadin\\.server\\.osgi.*"
};
/**