diff options
author | Mirjan Merruko <mirjan@vaadin.com> | 2017-03-24 13:33:37 +0200 |
---|---|---|
committer | Henri Sara <henri.sara@gmail.com> | 2017-04-25 15:01:06 +0300 |
commit | 9a6ebeb5a80bdb1d97d47422c62a973b3f2d2cf9 (patch) | |
tree | 20b1c09d6c2e6319cba036f9ecf409893c4b6c56 /server/src | |
parent | d0a8608c7e074d4baeef0282146b2da5c47603a5 (diff) | |
download | vaadin-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.java | 50 | ||||
-rw-r--r-- | server/src/test/java/com/vaadin/tests/server/ClassesSerializableTest.java | 2 |
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.*" }; /** |