You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by dg...@apache.org on 2017/11/29 14:39:48 UTC
[5/9] incubator-unomi git commit: Added 3 features,
add a visitor to a MailChimp list,
remove a visitor from MailChimp list and unsubscribe a visitor from MailChimp
list
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/README.md
----------------------------------------------------------------------
diff --git a/extensions/weather-update/README.md b/extensions/weather-update/README.md
deleted file mode 100644
index 0bf6e0b..0000000
--- a/extensions/weather-update/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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.
- -->
-
-
-Apache Unomi Weather Update
-=================================
-
-This extension will retrieve the weather associated with the resolved location of the user (from his IP address)
-
-## Getting started
-
-1. Create an new account :
-
- https://home.openweathermap.org/users/sign_up
-
-2. Generate a new API Key, or get the default
-
- https://home.openweathermap.org/api_keys
-
-3. Configure the Apache Unomi Weather Update. In the etc/org.apache.unomi.weatherUpdate.cfg file
-change the following settings:
-
- weatherUpdate.apiKey=YOUR_WEATHER_APIKEY
-
-4. Deploy into Apache Unomi using the following commands from the Apache Karaf shell:
-
- feature:repo-add mvn:org.apache.unomi/unomi-weather-update-karaf-kar/${project.version}/xml/features
- feature:install unomi-weather-update-karaf-kar
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/pom.xml b/extensions/weather-update/core/pom.xml
deleted file mode 100755
index ede8e15..0000000
--- a/extensions/weather-update/core/pom.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.unomi</groupId>
- <artifactId>unomi-weather-update</artifactId>
- <version>1.3.0-incubating-SNAPSHOT</version>
- </parent>
-
- <artifactId>unomi-weather-update-core</artifactId>
- <name>Apache Unomi :: Extension :: Weather Update :: Core</name>
- <description>This is a simple Apache Unomi plugin.</description>
- <packaging>bundle</packaging>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.unomi</groupId>
- <artifactId>unomi-api</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient-osgi</artifactId>
- <version>4.5.1</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore-osgi</artifactId>
- <version>4.4.6</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
- <Import-Package>
- *
- </Import-Package>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-artifacts</id>
- <phase>package</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
- <file>
- src/main/resources/org.apache.unomi.weatherUpdate.cfg
- </file>
- <type>cfg</type>
- <classifier>weatherupdatecfg</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/java/org/apache/unomi/weatherupdate/actions/WeatherUpdateAction.java
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/java/org/apache/unomi/weatherupdate/actions/WeatherUpdateAction.java b/extensions/weather-update/core/src/main/java/org/apache/unomi/weatherupdate/actions/WeatherUpdateAction.java
deleted file mode 100644
index 96dc3a7..0000000
--- a/extensions/weather-update/core/src/main/java/org/apache/unomi/weatherupdate/actions/WeatherUpdateAction.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
-
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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 org.apache.unomi.weatherupdate.actions;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
-import org.apache.unomi.api.Event;
-import org.apache.unomi.api.Session;
-import org.apache.unomi.api.actions.Action;
-import org.apache.unomi.api.actions.ActionExecutor;
-import org.apache.unomi.api.services.EventService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * Get the weather location of the users by an API
- *
- * @author dsalhotra
- */
-public class WeatherUpdateAction implements ActionExecutor {
-
- private static final double KELVIN = 273.15;
- private static final double ROUND_TO_THE_TENTH = 0.5;
- private static final double SECOND_TO_HOUR = 3.6;
- private static final String MAIN_INFO_WEATHER = "main";
- private static final String SPEED = "speed";
- private static final String STATUS_CODE = "cod";
- private static final String TEMPERATURE_VALUE = "temp";
- private static final String WEATHER_LIKE_INFO = "weather";
- private static final String WIND = "wind";
- private static final String WIND_DIRECTION_INFO = "deg";
- private static final String WEATHER_TEMPERATURE = "weatherTemperature";
- private static final String WEATHER_LIKE = "weatherLike";
- private static final String WEATHER_WIND_DIRECTION = "weatherWindDirection";
- private static final String WEATHER_WIND_SPEED = "weatherWindSpeed";
- private static Logger logger = LoggerFactory.getLogger(WeatherUpdateAction.class);
- private CloseableHttpClient httpClient;
- private String weatherApiKey;
- private String weatherUrlBase;
- private String weatherUrlAttributes;
-
- @Override
- public int execute(Action action, Event event) {
- if (httpClient == null) {
- httpClient = HttpClients.createDefault();
- }
-
- Session session = event.getSession();
- if (weatherApiKey == null || weatherUrlBase == null || weatherUrlAttributes == null) {
- logger.warn("Configuration incomplete.");
- return EventService.NO_CHANGE;
- }
-
- Map<String, Object> sessionProperties = session.getProperties();
- if (!sessionProperties.containsKey("location")) {
- logger.warn("No location info found in the session.");
- return EventService.NO_CHANGE;
- }
-
- Map<String, Double> location = (Map<String, Double>) session.getProperty("location");
-
- JsonNode currentWeatherData = getWeather(location);
-
- if (currentWeatherData.has(STATUS_CODE) && currentWeatherData.get(STATUS_CODE).asText().equals("200")) {
- updateSessionWithWeatherData(currentWeatherData,session);
- return EventService.SESSION_UPDATED;
- }else {
- if (currentWeatherData.has("message"))
- logger.warn(currentWeatherData.get("message").asText());
- }
-
- logger.warn("No update made.");
- return EventService.NO_CHANGE;
- }
-
- /**
- * Do the API call
- * @param location
- * @return the response
- */
- private JsonNode getWeather(Map<String, Double> location) {
- //Call to OpenWeatherMap
- HttpGet httpGet = new HttpGet(weatherUrlBase + "/" + weatherUrlAttributes +
- "?lat=" + location.get("lat") + "&lon=" + location.get("lon") + "&appid=" + weatherApiKey);
- JsonNode currentWeatherData = null;
- CloseableHttpResponse response = null;
- try {
- response = httpClient.execute(httpGet);
- if (response != null) {
- HttpEntity entity = response.getEntity();
- String responseString;
- if (entity != null) {
- try {
- responseString = EntityUtils.toString(entity);
- ObjectMapper objectMapper = new ObjectMapper();
- currentWeatherData = objectMapper.readTree(responseString);
- } catch (IOException e) {
- logger.error("Error : With the API json response.", e.getMessage());
- }
- }
- }
- } catch (IOException e) {
- logger.error("Error : With the Http Request execution. Wrong parameters given", e.getMessage());
- } finally {
- if (response != null) {
- EntityUtils.consumeQuietly(response.getEntity());
- }
- }
- return currentWeatherData;
- }
-
- /**
- * Update the session info with the weather infos
- * @param currentWeatherData the response from the API
- * @param session
- */
- private void updateSessionWithWeatherData(JsonNode currentWeatherData, Session session) {
- String temperature = extractTemperature(currentWeatherData);
- String weatherLike = extractWeatherLike(currentWeatherData);
- String windDirection = extractWindDirection(currentWeatherData);
- String windSpeed = extractWindSpeed(currentWeatherData);
- if (temperature != null) {
- fillPropreties(session, WEATHER_TEMPERATURE, temperature);
- }
- if (weatherLike != null) {
- fillPropreties(session, WEATHER_LIKE, weatherLike);
- }
- if (windDirection != null) {
- fillPropreties(session, WEATHER_WIND_DIRECTION, windDirection);
- }
- if (windSpeed != null) {
- fillPropreties(session, WEATHER_WIND_SPEED, windSpeed);
- }
- }
-
- /**
- * Extract the temperature property from the response
- *
- * @param currentWeatherData
- * @return String temperature in celsius
- */
- private String extractTemperature(JsonNode currentWeatherData) {
- float temperature;
- if (currentWeatherData.has(MAIN_INFO_WEATHER) && currentWeatherData.get(MAIN_INFO_WEATHER).has(TEMPERATURE_VALUE)) {
- String responseString = currentWeatherData.get(MAIN_INFO_WEATHER).get(TEMPERATURE_VALUE).asText();
- temperature = Float.parseFloat(responseString);
- temperature -= KELVIN;
- int temperatureTreated = (int) temperature;
- if (temperature - temperatureTreated > ROUND_TO_THE_TENTH) {
- temperatureTreated++;
- }
- logger.debug("Temperature: " + temperatureTreated);
- return temperatureTreated + "";
- }
- logger.info("API Response doesn't contains the temperature");
- return null;
- }
-
- /**
- * Extract the wind speed property from the response
- *
- * @param currentWeatherData
- * @return String wind speed in km/h
- */
- private String extractWindSpeed(JsonNode currentWeatherData) {
- JsonNode WindInfoSpeed;
- if (currentWeatherData.has(WIND) && currentWeatherData.get(WIND).has(SPEED)) {
- WindInfoSpeed = currentWeatherData.get(WIND).get(SPEED);
- float speed = Float.parseFloat(WindInfoSpeed.toString());
- speed *= SECOND_TO_HOUR;
- int speedTreated = (int) speed;
- logger.debug("Wind speed: " + speedTreated);
- return speedTreated + "";
- }
- logger.info("API Response doesn't contains the wind speed");
- return null;
-
- }
-
- /**
- * Extract the wind direction property from the response
- *
- * @param currentWeatherData
- * @return String wind direction in cardinal points format
- */
- private String extractWindDirection(JsonNode currentWeatherData) {
- JsonNode windInfoDirection;
- String direction = "";
- if (currentWeatherData.has(WIND)) {
- if (currentWeatherData.get(WIND).has(WIND_DIRECTION_INFO)) {
- windInfoDirection = currentWeatherData.get(WIND).get(WIND_DIRECTION_INFO);
- if (windInfoDirection != null) {
-
- float deg = Float.parseFloat(windInfoDirection.toString());
- if (340 < deg && deg < 360 || 0 < deg && deg < 20) {
- direction = ("N");
- } else if (20 < deg && deg < 70) {
- direction = ("NE");
- } else if (70 < deg && deg < 110) {
- direction = ("E");
- } else if (110 < deg && deg < 160) {
- direction = ("SE");
- } else if (160 < deg && deg < 200) {
- direction = ("S");
- } else if (200 < deg && deg < 245) {
- direction = ("SW");
- } else if (245 < deg && deg < 290) {
- direction = ("W");
- } else if (290 < deg && deg < 340) {
- direction = ("NW");
- }
- logger.debug("Wind direction: " + direction);
- return direction;
- }
- }
- }
- logger.info("API Response doesn't contains the wind direction");
- return null;
- }
-
- /**
- * Extract the weather like property from the response
- *
- * @param currentWeatherData
- * @return String weather like
- */
- private String extractWeatherLike(JsonNode currentWeatherData) {
- JsonNode weatherLike;
- if (currentWeatherData.has(WEATHER_LIKE_INFO)) {
- weatherLike = currentWeatherData.get(WEATHER_LIKE_INFO);
- if (weatherLike.size() > 0) {
- weatherLike = weatherLike.get(0).get(MAIN_INFO_WEATHER);
- logger.debug("Weather like: " + weatherLike);
- return weatherLike.asText();
- }
- }
- logger.info("API Response doesn't contains the weather description");
- return null;
- }
-
- /**
- * @param session the current session
- * @param property session property to fill
- * @param value of property
- */
- private void fillPropreties(Session session, String property, String value) {
- session.setProperty(property, value);
- }
-
- //Setters
-
- /**
- * Set the weatherApiKey
- *
- * @param weatherApiKey
- */
- public void setWeatherApiKey(String weatherApiKey) {
- this.weatherApiKey = weatherApiKey;
- }
-
- /**
- * Set the weatherUrlBase
- *
- * @param weatherUrlBase
- */
- public void setWeatherUrlBase(String weatherUrlBase) {
- this.weatherUrlBase = weatherUrlBase;
- }
-
- /**
- * Set the weatherUrlAttributes
- *
- * @param weatherUrlAttributes
- */
- public void setWeatherUrlAttributes(String weatherUrlAttributes) {
- this.weatherUrlAttributes = weatherUrlAttributes;
- }
-}
-
-
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/META-INF/cxs/actions/UpdateWeatherAction.json
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/META-INF/cxs/actions/UpdateWeatherAction.json b/extensions/weather-update/core/src/main/resources/META-INF/cxs/actions/UpdateWeatherAction.json
deleted file mode 100755
index 5ab40df..0000000
--- a/extensions/weather-update/core/src/main/resources/META-INF/cxs/actions/UpdateWeatherAction.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "metadata": {
- "id": "weatherUpdateAction",
- "name": "Update session with local weather information",
- "description": "This action will retrieve the weather associated with the resolved location of the user (from his IP address)",
- "systemTags": [
- "event",
- "availableToEndUser",
- "hasNoTemplate"
- ],
- "readOnly": true
- },
- "actionExecutor": "weatherUpdate",
- "parameters": []
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherLike.json
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherLike.json b/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherLike.json
deleted file mode 100755
index ad23875..0000000
--- a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherLike.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "metadata": {
- "id": "weatherLike",
- "name": "Weather Description",
- "systemTags": [
- "properties",
- "sessionProperties"
- ]
- },
- "type": "string",
- "defaultValue": "",
- "automaticMappingsFrom": [],
- "rank": "302.0"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherTemp.json
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherTemp.json b/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherTemp.json
deleted file mode 100755
index bae8ceb..0000000
--- a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherTemp.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "metadata": {
- "id": "weatherTemperature",
- "name": "Weather Temperature",
- "systemTags": [
- "properties",
- "sessionProperties"
- ]
- },
- "type": "integer",
- "defaultValue": "",
- "automaticMappingsFrom": [],
- "rank": "302.0"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindDirection.json
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindDirection.json b/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindDirection.json
deleted file mode 100755
index f0629dc..0000000
--- a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindDirection.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "metadata": {
- "id": "weatherWindDirection",
- "name": "Weather Wind Direction",
- "systemTags": [
- "properties",
- "sessionProperties"
- ]
- },
- "type": "string",
- "defaultValue": "",
- "automaticMappingsFrom": [],
- "rank": "302.0"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindSpeed.json
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindSpeed.json b/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindSpeed.json
deleted file mode 100755
index 4b668f5..0000000
--- a/extensions/weather-update/core/src/main/resources/META-INF/cxs/properties/sessions/weather/weatherWindSpeed.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "metadata": {
- "id": "weatherWindSpeed",
- "name": "Weather Wind Speed",
- "systemTags": [
- "properties",
- "sessionProperties"
- ]
- },
- "type": "integer",
- "defaultValue": "",
- "automaticMappingsFrom": [],
- "rank": "302.0"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/META-INF/cxs/tags/properties/sessions/weatherSessionProperties.json
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/META-INF/cxs/tags/properties/sessions/weatherSessionProperties.json b/extensions/weather-update/core/src/main/resources/META-INF/cxs/tags/properties/sessions/weatherSessionProperties.json
deleted file mode 100755
index d634f69..0000000
--- a/extensions/weather-update/core/src/main/resources/META-INF/cxs/tags/properties/sessions/weatherSessionProperties.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "id": "weatherSessionProperties",
- "parent": "sessionProperties",
- "rank": "1.0"
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100755
index 0339ce8..0000000
--- a/extensions/weather-update/core/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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.
- -->
-<blueprint xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
- xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
-
- <!-- cfg configuration -->
- <cm:property-placeholder persistent-id="org.apache.unomi.weatherupdate"
- update-strategy="reload">
- <cm:default-properties>
- <cm:property name="weatherUpdate.apiKey" value=""/>
- <cm:property name="weatherUpdate.url.base" value=""/>
- <cm:property name="weatherUpdate.url.attributes" value=""/>
- </cm:default-properties>
- </cm:property-placeholder>
-
- <!-- Action executor -->
- <service auto-export="interfaces">
- <service-properties>
- <entry key="actionExecutorId" value="weatherUpdate"/>
- </service-properties>
- <bean class="org.apache.unomi.weatherupdate.actions.WeatherUpdateAction">
- <property name="weatherApiKey" value="${weatherUpdate.apiKey}"/>
- <property name="weatherUrlBase" value="${weatherUpdate.url.base}"/>
- <property name="weatherUrlAttributes" value="${weatherUpdate.url.attributes}"/>
- </bean>
- </service>
-</blueprint>
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/messages_en.properties
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/messages_en.properties b/extensions/weather-update/core/src/main/resources/messages_en.properties
deleted file mode 100755
index 3f2dbac..0000000
--- a/extensions/weather-update/core/src/main/resources/messages_en.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-#
-action.weatherUpdateAction.name=Update session with local weather information
-action.weatherUpdateAction.description=This action will retrieve the weather associated with the resolved location of the user (from his IP address)
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/core/src/main/resources/org.apache.unomi.weatherUpdate.cfg
----------------------------------------------------------------------
diff --git a/extensions/weather-update/core/src/main/resources/org.apache.unomi.weatherUpdate.cfg b/extensions/weather-update/core/src/main/resources/org.apache.unomi.weatherUpdate.cfg
deleted file mode 100644
index aa85dc0..0000000
--- a/extensions/weather-update/core/src/main/resources/org.apache.unomi.weatherUpdate.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-#
-weatherUpdate.apiKey=YOUR_WEATHER_APIKEY
-weatherUpdate.url.base=http://api.openweathermap.org
-weatherUpdate.url.attributes=data/2.5/weather
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/karaf-kar/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/karaf-kar/pom.xml b/extensions/weather-update/karaf-kar/pom.xml
deleted file mode 100644
index ab324b3..0000000
--- a/extensions/weather-update/karaf-kar/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <groupId>org.apache.unomi</groupId>
- <artifactId>unomi-weather-update</artifactId>
- <version>1.3.0-incubating-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>unomi-weather-update-karaf-kar</artifactId>
- <name>Apache Unomi :: Extension :: Weather Update :: Apache Karaf Feature and KAR archive</name>
- <description>This is a simple Apache Unomi plugin.</description>
- <packaging>kar</packaging>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.unomi</groupId>
- <artifactId>unomi-api</artifactId>
- <version>1.3.0-incubating-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore-osgi</artifactId>
- <version>4.4.6</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient-osgi</artifactId>
- <version>4.5.1</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.unomi</groupId>
- <artifactId>unomi-weather-update-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-maven-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <includeTransitiveDependency>false</includeTransitiveDependency>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
-
- <plugins>
- <plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-maven-plugin</artifactId>
- <configuration>
- <startLevel>85</startLevel>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml b/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
deleted file mode 100644
index 2f005a6..0000000
--- a/extensions/weather-update/karaf-kar/src/main/feature/feature.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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.
- -->
-<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.1" name="unomi-weather-update-karaf-feature">
- <feature name="unomi-weather-update-karaf-kar" version="${project.version}"
- description="Apache Unomi :: Extensions :: Weather update :: Apache Karaf Feature">
- <details>Apache Karaf feature for the Apache Unomi Context Server extension that integrates Weather
- update</details>
- <configfile finalname="/etc/org.apache.unomi.weatherUpdate.cfg">mvn:org.apache.unomi/unomi-weather-update-core/${project.version}/cfg/weatherupdatecfg</configfile>
- <bundle start-level="85">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
- <bundle start-level="85">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.1</bundle>
- <bundle start-level="85">mvn:org.apache.unomi/unomi-weather-update-core/${project.version}</bundle>
- </feature>
-</features>
http://git-wip-us.apache.org/repos/asf/incubator-unomi/blob/b2b1b312/extensions/weather-update/pom.xml
----------------------------------------------------------------------
diff --git a/extensions/weather-update/pom.xml b/extensions/weather-update/pom.xml
deleted file mode 100644
index 5928c9d..0000000
--- a/extensions/weather-update/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You 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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.unomi</groupId>
- <artifactId>unomi-extensions</artifactId>
- <version>1.3.0-incubating-SNAPSHOT</version>
- </parent>
-
- <artifactId>unomi-weather-update</artifactId>
- <name>Apache Unomi :: Extension :: Weather Update</name>
- <description>Apache Unomi Context Server that get the visitor weather based on his location</description>
- <packaging>pom</packaging>
-
- <modules>
- <module>core</module>
- <module>karaf-kar</module>
- </modules>
-</project>