Merge pull request 'release version 1.10.0' (#14) from 1.10.x into master
Reviewed-on: #14
This commit is contained in:
commit
5cb6857fa1
@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<artifactId>root</artifactId>
|
||||
<groupId>ru.entaxy.esb</groupId>
|
||||
<version>1.9.0</version>
|
||||
<version>1.10.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
|
||||
<modules>
|
||||
<module>runtime</module>
|
||||
<module>integration</module>
|
||||
</modules>
|
||||
|
||||
<profiles>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
||||
<artifactId>base</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<version>1.10.0</version>
|
||||
</parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
||||
<artifactId>base-support</artifactId>
|
||||
@ -17,11 +17,16 @@
|
||||
ru.entaxy.platform.base.support.xml,
|
||||
ru.entaxy.platform.base.support.osgi,
|
||||
ru.entaxy.platform.base.support.osgi.bundle,
|
||||
ru.entaxy.platform.base.support.osgi.feature,
|
||||
ru.entaxy.platform.base.support.osgi.service,
|
||||
ru.entaxy.platform.base.support.osgi.tracker,
|
||||
ru.entaxy.platform.base.support.osgi.tracker.filter,
|
||||
ru.entaxy.platform.base.support.osgi.filter
|
||||
ru.entaxy.platform.base.support.osgi.filter,
|
||||
ru.entaxy.platform.base.support.karaf.shell
|
||||
</bundle.osgi.export.pkg>
|
||||
<bundle.osgi.private.pkg>
|
||||
org.apache.felix.gogo.runtime.threadio
|
||||
</bundle.osgi.private.pkg>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@ -48,8 +53,29 @@
|
||||
<artifactId>commons-codec</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<groupId>ru.entaxy.bundles-repacked</groupId>
|
||||
<artifactId>ru.entaxy.bundles-repacked.com.google.code.gson-2.8.5.entaxy</artifactId>
|
||||
<version>${gson.version}-ENTAXY</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.karaf.shell</groupId>
|
||||
<artifactId>org.apache.karaf.shell.core</artifactId>
|
||||
<version>${karaf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.karaf.features</groupId>
|
||||
<artifactId>org.apache.karaf.features.core</artifactId>
|
||||
<version>${karaf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.karaf.bundle</groupId>
|
||||
<artifactId>org.apache.karaf.bundle.core</artifactId>
|
||||
<version>${karaf.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.fusesource.jansi</groupId>
|
||||
<artifactId>jansi</artifactId>
|
||||
<version>1.18</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -33,6 +33,7 @@ import java.util.Dictionary;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Map;
|
||||
@ -50,242 +51,255 @@ import org.apache.commons.lang3.StringUtils;
|
||||
*/
|
||||
public class CommonUtils {
|
||||
|
||||
public static final String GUID_0 = "00000000-0000-0000-0000-000000000000";
|
||||
public static final String GUID_f = "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
|
||||
public static final String NULL_GUID_ = GUID_0;
|
||||
public static final String GUID_0 = "00000000-0000-0000-0000-000000000000";
|
||||
public static final String GUID_f = "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
|
||||
public static final String NULL_GUID_ = GUID_0;
|
||||
|
||||
public static final String PACKET_TYPE_PARAM_NAME = "packetType";
|
||||
public static final String PACKET_TYPE_PARAM_NAME = "packetType";
|
||||
|
||||
public static class Path {
|
||||
public static class Path {
|
||||
|
||||
public static final String DEFAULT_SEPARATOR = "/";
|
||||
public static final String DEFAULT_SEPARATOR = "/";
|
||||
|
||||
protected String separator = DEFAULT_SEPARATOR;
|
||||
protected List<String> data = new ArrayList<>();
|
||||
protected String separator = DEFAULT_SEPARATOR;
|
||||
protected List<String> data = new ArrayList<>();
|
||||
|
||||
public static Path create() {
|
||||
return new Path();
|
||||
}
|
||||
public static Path create() {
|
||||
return new Path();
|
||||
}
|
||||
|
||||
public static boolean isAbsolute(String path) {
|
||||
return isAbsolute(path, DEFAULT_SEPARATOR);
|
||||
}
|
||||
public static boolean isAbsolute(String path) {
|
||||
return isAbsolute(path, DEFAULT_SEPARATOR);
|
||||
}
|
||||
|
||||
public static boolean isAbsolute(String path, String separator) {
|
||||
if (!isValid(path))
|
||||
return false;
|
||||
return path.trim().startsWith(separator);
|
||||
}
|
||||
public static boolean isAbsolute(String path, String separator) {
|
||||
if (!isValid(path))
|
||||
return false;
|
||||
return path.trim().startsWith(separator);
|
||||
}
|
||||
|
||||
public Path() {
|
||||
super();
|
||||
}
|
||||
public Path() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Path separator(String newSeparator) {
|
||||
if (newSeparator!=null)
|
||||
this.separator = newSeparator;
|
||||
return this;
|
||||
}
|
||||
public Path separator(String newSeparator) {
|
||||
if (newSeparator != null)
|
||||
this.separator = newSeparator;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Path construct(String...fragments) {
|
||||
data.clear();
|
||||
return append(fragments);
|
||||
}
|
||||
public Path construct(String... fragments) {
|
||||
data.clear();
|
||||
return append(fragments);
|
||||
}
|
||||
|
||||
public Path append(String...fragments) {
|
||||
if (fragments==null)
|
||||
return this;
|
||||
for (int i = 0; i < fragments.length; i++) {
|
||||
String string = fragments[i];
|
||||
if (isValid(string)) {
|
||||
String[] splitted = StringUtils.split(string, separator);
|
||||
for (int j = 0; j < splitted.length; j++) {
|
||||
String string2 = splitted[j];
|
||||
if (isValid(string2) && isValid(string2.trim()))
|
||||
data.add(string2.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
public Path append(String... fragments) {
|
||||
if (fragments == null)
|
||||
return this;
|
||||
for (int i = 0; i < fragments.length; i++) {
|
||||
String string = fragments[i];
|
||||
if (isValid(string)) {
|
||||
String[] splitted = StringUtils.split(string, separator);
|
||||
for (int j = 0; j < splitted.length; j++) {
|
||||
String string2 = splitted[j];
|
||||
if (isValid(string2) && isValid(string2.trim()))
|
||||
data.add(string2.trim());
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
public String relational() {
|
||||
return StringUtils.join(data, separator);
|
||||
}
|
||||
public String relational() {
|
||||
return StringUtils.join(data, separator);
|
||||
}
|
||||
|
||||
public String absolute() {
|
||||
return separator + relational();
|
||||
}
|
||||
public String absolute() {
|
||||
return separator + relational();
|
||||
}
|
||||
|
||||
public Iterator<String> fragmentsIterator() {
|
||||
return data.iterator();
|
||||
}
|
||||
public Iterator<String> fragmentsIterator() {
|
||||
return data.iterator();
|
||||
}
|
||||
|
||||
public ListIterator<String> fragmentsListIterator() {
|
||||
return data.listIterator();
|
||||
}
|
||||
public ListIterator<String> fragmentsListIterator() {
|
||||
return data.listIterator();
|
||||
}
|
||||
|
||||
public List<String> pathHierarchy(){
|
||||
return pathHierarchy(true);
|
||||
}
|
||||
public List<String> pathHierarchy() {
|
||||
return pathHierarchy(true);
|
||||
}
|
||||
|
||||
public List<String> pathHierarchy(boolean absolute){
|
||||
List<String> result = new ArrayList<>();
|
||||
if (data.isEmpty())
|
||||
return result;
|
||||
result.add((absolute?separator:"") + data.get(0));
|
||||
for (int i=1; i<data.size(); i++)
|
||||
result.add(result.get(i-1) + separator + data.get(i));
|
||||
return result;
|
||||
}
|
||||
public List<String> pathHierarchy(boolean absolute) {
|
||||
List<String> result = new ArrayList<>();
|
||||
if (data.isEmpty())
|
||||
return result;
|
||||
result.add((absolute ? separator : "") + data.get(0));
|
||||
for (int i = 1; i < data.size(); i++)
|
||||
result.add(result.get(i - 1) + separator + data.get(i));
|
||||
return result;
|
||||
}
|
||||
|
||||
public Iterator<String> iterator() {
|
||||
return pathHierarchy().iterator();
|
||||
}
|
||||
public Iterator<String> iterator() {
|
||||
return pathHierarchy().iterator();
|
||||
}
|
||||
|
||||
public ListIterator<String> listIterator() {
|
||||
return pathHierarchy().listIterator();
|
||||
}
|
||||
public ListIterator<String> listIterator() {
|
||||
return pathHierarchy().listIterator();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates UUID
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getUUID(){
|
||||
return UUID.randomUUID().toString().toLowerCase().replace("-", "");
|
||||
}
|
||||
/**
|
||||
* Generates UUID consisting of specified char
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
public static String getUUID(char c) {
|
||||
return StringUtils.leftPad("", 32, c);
|
||||
}
|
||||
/**
|
||||
* Generates UUID
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getUUID() {
|
||||
return UUID.randomUUID().toString().toLowerCase().replace("-", "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates GUID
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getGUID(){
|
||||
return UUID.randomUUID().toString().toUpperCase();
|
||||
}
|
||||
/**
|
||||
* Generates UUID consisting of specified char
|
||||
*
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
public static String getUUID(char c) {
|
||||
return StringUtils.leftPad("", 32, c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates GUID consisting of specified char
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
public static String getGUID(char c) {
|
||||
return uid2guid(StringUtils.leftPad("", 32, c));
|
||||
}
|
||||
/**
|
||||
* Generates GUID
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static String getGUID() {
|
||||
return UUID.randomUUID().toString().toUpperCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts UUID to GUID
|
||||
* @param uid
|
||||
* @return
|
||||
*/
|
||||
public static String uid2guid(String uid){
|
||||
return uid.replaceFirst("(.{8})(.{4})(.{4})(.{4})(.{8})", "$1-$2-$3-$4-$5").toUpperCase();
|
||||
}
|
||||
/**
|
||||
* Generates GUID consisting of specified char
|
||||
*
|
||||
* @param c
|
||||
* @return
|
||||
*/
|
||||
public static String getGUID(char c) {
|
||||
return uid2guid(StringUtils.leftPad("", 32, c));
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts GUID to UUID
|
||||
* @param uid
|
||||
* @return
|
||||
*/
|
||||
public static String guid2uid(String guid){
|
||||
return guid.toLowerCase().replace("-", "");
|
||||
}
|
||||
/**
|
||||
* Converts UUID to GUID
|
||||
*
|
||||
* @param uid
|
||||
* @return
|
||||
*/
|
||||
public static String uid2guid(String uid) {
|
||||
return uid.replaceFirst("(.{8})(.{4})(.{4})(.{4})(.{8})", "$1-$2-$3-$4-$5").toUpperCase();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the string is not null and has something inside after trim
|
||||
*
|
||||
* @param s
|
||||
* @return
|
||||
*/
|
||||
public static boolean isValid(String s){
|
||||
if (s==null)
|
||||
return false;
|
||||
return s.trim().length()>0;
|
||||
}
|
||||
/**
|
||||
* Converts GUID to UUID
|
||||
*
|
||||
* @param uid
|
||||
* @return
|
||||
*/
|
||||
public static String guid2uid(String guid) {
|
||||
return guid.toLowerCase().replace("-", "");
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param s string to examine
|
||||
* @param def default value
|
||||
* @return s if isValid(s), otherwise def
|
||||
*/
|
||||
public static String getValid(String s, String def){
|
||||
return isValid(s)?s:def;
|
||||
}
|
||||
/**
|
||||
* Checks if the string is not null and has something inside after trim
|
||||
*
|
||||
* @param s
|
||||
* @return
|
||||
*/
|
||||
public static boolean isValid(String s) {
|
||||
if (s == null)
|
||||
return false;
|
||||
return s.trim().length() > 0;
|
||||
}
|
||||
|
||||
public static String padLeft(String data, int length){
|
||||
return padLeft(data, length, ' ');
|
||||
}
|
||||
public static String padRight(String data, int length){
|
||||
return padRight(data, length, ' ');
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param s string to examine
|
||||
* @param def default value
|
||||
* @return s if isValid(s), otherwise def
|
||||
*/
|
||||
public static String getValid(String s, String def) {
|
||||
return isValid(s) ? s : def;
|
||||
}
|
||||
|
||||
public static String padBoth(String data, int length){
|
||||
return padBoth(data, length, ' ');
|
||||
}
|
||||
public static String padLeft(String data, int length) {
|
||||
return padLeft(data, length, ' ');
|
||||
}
|
||||
|
||||
public static String padLeft(String data, int length, Character c){
|
||||
String val = data;
|
||||
if (data==null)
|
||||
val = "";
|
||||
while (val.length()<length)
|
||||
val = c + val;
|
||||
return val;
|
||||
}
|
||||
public static String padRight(String data, int length, Character c){
|
||||
String val = data;
|
||||
if (data==null)
|
||||
val = "";
|
||||
while (val.length()<length)
|
||||
val = val + c;
|
||||
return val;
|
||||
}
|
||||
public static String padRight(String data, int length) {
|
||||
return padRight(data, length, ' ');
|
||||
}
|
||||
|
||||
public static String padBoth(String data, int length, Character c){
|
||||
String val = data;
|
||||
boolean left = true;
|
||||
if (data==null)
|
||||
val = "";
|
||||
while (val.length()<length){
|
||||
if (left)
|
||||
val = c + val;
|
||||
else
|
||||
val = val + c;
|
||||
left = !left;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
public static String padBoth(String data, int length) {
|
||||
return padBoth(data, length, ' ');
|
||||
}
|
||||
|
||||
public static void stream2file(InputStream input, String file) throws Exception {
|
||||
File f = new File(file);
|
||||
FileOutputStream output = new FileOutputStream(f);
|
||||
IOUtils.copy(input, output);
|
||||
output.close();
|
||||
}
|
||||
public static String padLeft(String data, int length, Character c) {
|
||||
String val = data;
|
||||
if (data == null)
|
||||
val = "";
|
||||
while (val.length() < length)
|
||||
val = c + val;
|
||||
return val;
|
||||
}
|
||||
|
||||
public static <K, V> Map<K, V> addDictionaryToMap(Dictionary<K, V> source, Map<K, V> sink) {
|
||||
for (Enumeration<K> keys = source.keys(); keys.hasMoreElements();) {
|
||||
K key = keys.nextElement();
|
||||
sink.put(key, source.get(key));
|
||||
}
|
||||
return sink;
|
||||
}
|
||||
public static String padRight(String data, int length, Character c) {
|
||||
String val = data;
|
||||
if (data == null)
|
||||
val = "";
|
||||
while (val.length() < length)
|
||||
val = val + c;
|
||||
return val;
|
||||
}
|
||||
|
||||
public static <K, V> Map<K, V> getDictionaryAsMap(Dictionary<K, V> source) {
|
||||
Map<K, V> result = new HashMap<>();
|
||||
CommonUtils.addDictionaryToMap(source, result);
|
||||
return result;
|
||||
}
|
||||
public static String padBoth(String data, int length, Character c) {
|
||||
String val = data;
|
||||
boolean left = true;
|
||||
if (data == null)
|
||||
val = "";
|
||||
while (val.length() < length) {
|
||||
if (left)
|
||||
val = c + val;
|
||||
else
|
||||
val = val + c;
|
||||
left = !left;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
public static void stream2file(InputStream input, String file) throws Exception {
|
||||
File f = new File(file);
|
||||
try (FileOutputStream output = new FileOutputStream(f)) {
|
||||
IOUtils.copy(input, output);
|
||||
}
|
||||
}
|
||||
|
||||
public static <K, V> Map<K, V> addDictionaryToMap(Dictionary<K, V> source, Map<K, V> sink) {
|
||||
for (Enumeration<K> keys = source.keys(); keys.hasMoreElements();) {
|
||||
K key = keys.nextElement();
|
||||
sink.put(key, source.get(key));
|
||||
}
|
||||
return sink;
|
||||
}
|
||||
|
||||
public static <K, V> Map<K, V> getDictionaryAsMap(Dictionary<K, V> source) {
|
||||
Map<K, V> result = new HashMap<>();
|
||||
CommonUtils.addDictionaryToMap(source, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static <V> Map<String, V> prefixMap(Map<String, V> map, String prefix) {
|
||||
Map<String, V> result = new LinkedHashMap<>();
|
||||
for (Map.Entry<String, V> entry : map.entrySet())
|
||||
result.put(String.format("%s%s", prefix, entry.getKey()), entry.getValue());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* test-producers
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -25,54 +25,53 @@
|
||||
*/
|
||||
package ru.entaxy.platform.base.support;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class DependencySorter {
|
||||
|
||||
public static interface DependencyProvider<T> {
|
||||
List<T> getDependencies(T inspectedObject);
|
||||
}
|
||||
public static interface DependencyProvider<T> {
|
||||
List<T> getDependencies(T inspectedObject);
|
||||
}
|
||||
|
||||
public static <T> List<T> getSortedList(List<T> origin, DependencyProvider<T> provider) throws Exception {
|
||||
List<T> result = new LinkedList<>();
|
||||
public static <T> List<T> getSortedList(List<T> origin, DependencyProvider<T> provider) throws Exception {
|
||||
List<T> result = new LinkedList<>();
|
||||
|
||||
// add independent objects
|
||||
result.addAll(
|
||||
origin.stream().filter(obj -> provider.getDependencies(obj).isEmpty())
|
||||
.collect(Collectors.toList())
|
||||
);
|
||||
// add independent objects
|
||||
result.addAll(
|
||||
origin.stream().filter(obj -> provider.getDependencies(obj).isEmpty())
|
||||
.collect(Collectors.toList()));
|
||||
|
||||
while (result.size() < origin.size()) {
|
||||
List<T> nextObjects = origin.stream().filter(obj->!result.contains(obj))
|
||||
.filter(obj->result.containsAll(provider.getDependencies(obj)))
|
||||
.collect(Collectors.toList());
|
||||
if (nextObjects.isEmpty())
|
||||
// TODO create more informative exception
|
||||
throw new UnsatisfiedDependenciesException(
|
||||
origin.stream().filter(obj->!result.contains(obj))
|
||||
.collect(Collectors.toList())
|
||||
);
|
||||
result.addAll(nextObjects);
|
||||
}
|
||||
while (result.size() < origin.size()) {
|
||||
List<T> nextObjects = origin.stream().filter(obj -> !result.contains(obj))
|
||||
.filter(obj -> result.containsAll(provider.getDependencies(obj)))
|
||||
.collect(Collectors.toList());
|
||||
if (nextObjects.isEmpty())
|
||||
// TODO create more informative exception
|
||||
throw new UnsatisfiedDependenciesException(
|
||||
origin.stream().filter(obj -> !result.contains(obj))
|
||||
.collect(Collectors.toList()));
|
||||
result.addAll(nextObjects);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public static class UnsatisfiedDependenciesException extends Exception {
|
||||
@SuppressWarnings("serial")
|
||||
public static class UnsatisfiedDependenciesException extends Exception {
|
||||
|
||||
protected List<Object> objects;
|
||||
protected List<Object> objects;
|
||||
|
||||
public UnsatisfiedDependenciesException(List<?> list) {
|
||||
super("Contains unsatisfied dependencies");
|
||||
this.objects.addAll(list);
|
||||
}
|
||||
public UnsatisfiedDependenciesException(List<?> list) {
|
||||
super("Contains unsatisfied dependencies");
|
||||
this.objects = new ArrayList(list);
|
||||
}
|
||||
|
||||
public List<Object> getObjects() {
|
||||
return objects;
|
||||
}
|
||||
}
|
||||
public List<Object> getObjects() {
|
||||
return objects;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -30,44 +30,63 @@ import java.util.Map;
|
||||
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.wiring.BundleCapability;
|
||||
import org.osgi.framework.wiring.BundleRevision;
|
||||
import org.osgi.framework.wiring.BundleWiring;
|
||||
|
||||
public class BundleCapabilityHelper extends CapabilityHelper {
|
||||
|
||||
protected Bundle bundle;
|
||||
protected Bundle bundle;
|
||||
|
||||
public BundleCapabilityHelper(Bundle bundle) {
|
||||
super();
|
||||
this.bundle = bundle;
|
||||
setMultipleNamespacesSupported(true);
|
||||
load();
|
||||
}
|
||||
protected boolean isLoaded = false;
|
||||
|
||||
@Override
|
||||
protected void load() {
|
||||
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
|
||||
if (bundleWiring == null)
|
||||
return;
|
||||
List<BundleCapability> capabilities = bundleWiring.getCapabilities(null);
|
||||
for (BundleCapability cap: capabilities) {
|
||||
CapabilityDescriptorImpl descriptor = new CapabilityDescriptorImpl();
|
||||
descriptor.namespace(cap.getNamespace());
|
||||
for (Map.Entry<String, Object> attr: cap.getAttributes().entrySet())
|
||||
descriptor.attribute(attr.getKey(), attr.getValue());
|
||||
addProvidedCapability(descriptor);
|
||||
}
|
||||
}
|
||||
public BundleCapabilityHelper(Bundle bundle) {
|
||||
super();
|
||||
this.bundle = bundle;
|
||||
setMultipleNamespacesSupported(true);
|
||||
load();
|
||||
}
|
||||
|
||||
public CapabilityDescriptor findObjectDeclaration(String objectId, String objectType) {
|
||||
if (this.providedCapabilities == null)
|
||||
return null;
|
||||
if (this.providedCapabilities.get(objectType) == null)
|
||||
return null;
|
||||
for (CapabilityDescriptor desc: this.providedCapabilities.get(objectType))
|
||||
if (objectId.equals(desc.getAttributes().getOrDefault("objectId", "").toString()))
|
||||
return desc;
|
||||
return null;
|
||||
@Override
|
||||
protected void load() {
|
||||
List<BundleCapability> capabilities = null;
|
||||
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
|
||||
if (bundleWiring != null) {
|
||||
capabilities = bundleWiring.getCapabilities(null);
|
||||
} else {
|
||||
BundleRevision bundleRevision = bundle.adapt(BundleRevision.class);
|
||||
if (bundleRevision != null) {
|
||||
capabilities = bundleRevision.getDeclaredCapabilities(null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (capabilities == null)
|
||||
return;
|
||||
|
||||
for (BundleCapability cap : capabilities) {
|
||||
CapabilityDescriptorImpl descriptor = new CapabilityDescriptorImpl();
|
||||
descriptor.namespace(cap.getNamespace());
|
||||
for (Map.Entry<String, Object> attr : cap.getAttributes().entrySet())
|
||||
descriptor.attribute(attr.getKey(), attr.getValue());
|
||||
addProvidedCapability(descriptor);
|
||||
}
|
||||
|
||||
isLoaded = true;
|
||||
}
|
||||
|
||||
public CapabilityDescriptor findObjectDeclaration(String objectId, String objectType) {
|
||||
if (this.providedCapabilities == null)
|
||||
return null;
|
||||
if (this.providedCapabilities.get(objectType) == null)
|
||||
return null;
|
||||
for (CapabilityDescriptor desc : this.providedCapabilities.get(objectType))
|
||||
if (objectId.equals(desc.getAttributes().getOrDefault("objectId", "").toString()))
|
||||
return desc;
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
public boolean isLoaded() {
|
||||
return isLoaded;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* artifact-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -25,42 +25,53 @@
|
||||
*/
|
||||
package ru.entaxy.platform.base.support.osgi.bundle;
|
||||
|
||||
import org.osgi.resource.Capability;
|
||||
import java.util.Map;
|
||||
|
||||
import org.osgi.resource.Capability;
|
||||
|
||||
public interface CapabilityDescriptor extends Capability {
|
||||
|
||||
public static final String HEADER_PROVIDE_CAPABILITY = "Provide-Capability";
|
||||
public static final String HEADER_REQUIRE_CAPABILITY = "Require-Capability";
|
||||
public static final String HEADER_PROVIDE_CAPABILITY = "Provide-Capability";
|
||||
public static final String HEADER_REQUIRE_CAPABILITY = "Require-Capability";
|
||||
|
||||
public static interface ATTRIBUTE_TYPES {
|
||||
public static interface ATTRIBUTE_TYPES {
|
||||
|
||||
public static final String STRING = "String";
|
||||
public static final String VERSION = "Version";
|
||||
public static final String LONG = "Long";
|
||||
public static final String DOUBLE = "Double";
|
||||
public static final String LIST = "List";
|
||||
public static final String STRING = "String";
|
||||
public static final String VERSION = "Version";
|
||||
public static final String LONG = "Long";
|
||||
public static final String DOUBLE = "Double";
|
||||
public static final String LIST = "List";
|
||||
|
||||
public static String TYPED_LIST(String itemType) {
|
||||
return LIST + "<" + itemType + ">";
|
||||
}
|
||||
public static String TYPED_LIST(String itemType) {
|
||||
return LIST + "<" + itemType + ">";
|
||||
}
|
||||
|
||||
public static boolean isList(String itemType) {
|
||||
return (itemType!=null) && (itemType.startsWith(LIST));
|
||||
}
|
||||
public static boolean isList(String itemType) {
|
||||
return (itemType != null) && (itemType.startsWith(LIST));
|
||||
}
|
||||
|
||||
public static String itemType(String listType) {
|
||||
if (!isList(listType))
|
||||
return null;
|
||||
public static String itemType(String listType) {
|
||||
if (!isList(listType))
|
||||
return null;
|
||||
|
||||
return listType.substring(listType.indexOf("<"), listType.indexOf(">"));
|
||||
}
|
||||
return listType.substring(listType.indexOf("<"), listType.indexOf(">"));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public CapabilityDescriptor namespace(String namespace);
|
||||
public CapabilityDescriptor attributes(Map<String, Object> attributes);
|
||||
public CapabilityDescriptor attribute(String name, Object value);
|
||||
public CapabilityDescriptor attribute(String name, Object value, String type);
|
||||
/**
|
||||
* Get attributes as they exist without extracting and transforming
|
||||
*
|
||||
* @return map of attributes
|
||||
*/
|
||||
public Map<String, Object> getRawAttributes();
|
||||
|
||||
public CapabilityDescriptor namespace(String namespace);
|
||||
|
||||
public CapabilityDescriptor attributes(Map<String, Object> attributes);
|
||||
|
||||
public CapabilityDescriptor attribute(String name, Object value);
|
||||
|
||||
public CapabilityDescriptor attribute(String name, Object value, String type);
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* artifact-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -25,6 +25,11 @@
|
||||
*/
|
||||
package ru.entaxy.platform.base.support.osgi.bundle;
|
||||
|
||||
import java.nio.charset.CharsetEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Base64;
|
||||
import java.util.Base64.Decoder;
|
||||
import java.util.Base64.Encoder;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -37,130 +42,178 @@ import ru.entaxy.platform.base.support.CommonUtils;
|
||||
|
||||
public class CapabilityDescriptorImpl implements CapabilityDescriptor {
|
||||
|
||||
protected String namespace;
|
||||
protected String namespace;
|
||||
|
||||
protected Map<String, String> directives = new HashMap<>();
|
||||
protected Map<String, AttributeDescriptor> attributes = new HashMap<>();
|
||||
protected Map<String, String> directives = new HashMap<>();
|
||||
protected Map<String, AttributeDescriptor> attributes = new HashMap<>();
|
||||
|
||||
private static class AttributeDescriptor {
|
||||
String type;
|
||||
Object value;
|
||||
private static class AttributeDescriptor {
|
||||
|
||||
public AttributeDescriptor(Object value) {
|
||||
this(value, CapabilityTypeHelper.getTypeName(value));
|
||||
}
|
||||
public static final String MARKER_BASE64 = "@BASE64";
|
||||
|
||||
public AttributeDescriptor(Object value, String type) {
|
||||
this.type = type;
|
||||
this.value = value==null?"":value; //.toString();
|
||||
}
|
||||
private static final CharsetEncoder ENCODER = StandardCharsets.ISO_8859_1.newEncoder();
|
||||
|
||||
public String getValueAsString() {
|
||||
if (value == null)
|
||||
return null;
|
||||
if (CapabilityDescriptor.ATTRIBUTE_TYPES.isList(type))
|
||||
return CapabilityTypeHelper.getListAsString((List<?>)value);
|
||||
if (CapabilityDescriptor.ATTRIBUTE_TYPES.STRING.equals(type))
|
||||
return "\"" + value.toString() + "\"";
|
||||
return value.toString();
|
||||
}
|
||||
private static final Encoder BASE64_ENCODER = Base64.getEncoder();
|
||||
|
||||
}
|
||||
private static final Decoder BASE64_DECODER = Base64.getDecoder();
|
||||
|
||||
public CapabilityDescriptorImpl() {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
String type;
|
||||
Object value;
|
||||
|
||||
public CapabilityDescriptorImpl(String namespace) {
|
||||
this();
|
||||
namespace(namespace);
|
||||
}
|
||||
public AttributeDescriptor(Object value) {
|
||||
this(value, CapabilityTypeHelper.getTypeName(value));
|
||||
}
|
||||
|
||||
public String getAttributesAsString() {
|
||||
return this.attributes.entrySet().stream()
|
||||
.map(entry->
|
||||
entry.getKey()
|
||||
+ /* (!ATTRIBUTE_TYPES.STRING.equals(entry.getValue().type)?(*/":" + entry.getValue().type/* ):"") */
|
||||
+ "=" + entry.getValue().getValueAsString())
|
||||
.collect(Collectors.joining(";"));
|
||||
}
|
||||
public AttributeDescriptor(Object value, String type) {
|
||||
this.type = type;
|
||||
this.value = value == null ? "" : value; // .toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getNamespace() {
|
||||
return this.namespace;
|
||||
}
|
||||
public String getPackedStringValue(String data) {
|
||||
if (ENCODER.canEncode(data))
|
||||
return data;
|
||||
return BASE64_ENCODER.encodeToString(data.getBytes()).concat(MARKER_BASE64);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getDirectives() {
|
||||
return this.directives;
|
||||
}
|
||||
public String getUnpackedStringValue(String data) {
|
||||
if (data.endsWith(MARKER_BASE64))
|
||||
return new String(BASE64_DECODER.decode(data.substring(0, data.length() - MARKER_BASE64.length())));
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getAttributes() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
for (Map.Entry<String, AttributeDescriptor> entry: this.attributes.entrySet())
|
||||
result.put(entry.getKey(), entry.getValue().value);
|
||||
return result;
|
||||
}
|
||||
public Object getValue() {
|
||||
if (!CapabilityDescriptor.ATTRIBUTE_TYPES.STRING.equals(type))
|
||||
return value;
|
||||
return getUnpackedStringValue(value.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resource getResource() {
|
||||
// not implemented
|
||||
return null;
|
||||
}
|
||||
public String getValueAsString() {
|
||||
if (value == null)
|
||||
return null;
|
||||
if (CapabilityDescriptor.ATTRIBUTE_TYPES.isList(type))
|
||||
return CapabilityTypeHelper.getListAsString((List<?>) value);
|
||||
if (CapabilityDescriptor.ATTRIBUTE_TYPES.STRING.equals(type))
|
||||
return "\"" + getPackedStringValue(value.toString()) + "\"";
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor namespace(String namespace) {
|
||||
this.namespace = namespace;
|
||||
return this;
|
||||
}
|
||||
public String getRawValueAsString() {
|
||||
if (value == null)
|
||||
return null;
|
||||
if (CapabilityDescriptor.ATTRIBUTE_TYPES.isList(type))
|
||||
return CapabilityTypeHelper.getListAsString((List<?>) value);
|
||||
if (CapabilityDescriptor.ATTRIBUTE_TYPES.STRING.equals(type))
|
||||
return "\"" + value.toString() + "\"";
|
||||
return value.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor attribute(String name, Object value) {
|
||||
this.attributes.put(name, new AttributeDescriptor(value));
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor attribute(String name, Object value, String type) {
|
||||
this.attributes.put(name, new AttributeDescriptor(value, type));
|
||||
return this;
|
||||
}
|
||||
public CapabilityDescriptorImpl() {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
public CapabilityDescriptor parseAttribute(String attributeData) {
|
||||
public CapabilityDescriptorImpl(String namespace) {
|
||||
this();
|
||||
namespace(namespace);
|
||||
}
|
||||
|
||||
String nameType = attributeData.substring(0, attributeData.indexOf("="));
|
||||
if (!CommonUtils.isValid(nameType))
|
||||
return this;
|
||||
String[] nameTypeSplit = nameType.split(":");
|
||||
public String getAttributesAsString() {
|
||||
return this.attributes.entrySet().stream()
|
||||
.map(entry -> entry.getKey()
|
||||
+ /* (!ATTRIBUTE_TYPES.STRING.equals(entry.getValue().type)?( */":" + entry.getValue().type/*
|
||||
* )
|
||||
* :
|
||||
* "")
|
||||
*/
|
||||
+ "=" + entry.getValue().getValueAsString())
|
||||
.collect(Collectors.joining(";"));
|
||||
}
|
||||
|
||||
String name = nameTypeSplit[0].trim();
|
||||
@Override
|
||||
public String getNamespace() {
|
||||
return this.namespace;
|
||||
}
|
||||
|
||||
String type = (nameTypeSplit.length > 1?nameTypeSplit[1]:CapabilityDescriptor.ATTRIBUTE_TYPES.STRING);
|
||||
if (!CommonUtils.isValid(type))
|
||||
type = CapabilityDescriptor.ATTRIBUTE_TYPES.STRING;
|
||||
type = type.trim();
|
||||
@Override
|
||||
public Map<String, String> getDirectives() {
|
||||
return this.directives;
|
||||
}
|
||||
|
||||
String value = attributeData.substring(attributeData.indexOf("=")+1);
|
||||
if (!CommonUtils.isValid(value))
|
||||
value = "";
|
||||
value = value.trim();
|
||||
@Override
|
||||
public Map<String, Object> getAttributes() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
for (Map.Entry<String, AttributeDescriptor> entry : this.attributes.entrySet())
|
||||
result.put(entry.getKey(), entry.getValue().getValue());
|
||||
return result;
|
||||
}
|
||||
|
||||
Object typedValue = CapabilityTypeHelper.getTypedValue(type, value);
|
||||
this.attribute(name, typedValue, type);
|
||||
@Override
|
||||
public Map<String, Object> getRawAttributes() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
for (Map.Entry<String, AttributeDescriptor> entry : this.attributes.entrySet())
|
||||
result.put(entry.getKey(), entry.getValue().value);
|
||||
return result;
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
@Override
|
||||
public Resource getResource() {
|
||||
// not implemented
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor namespace(String namespace) {
|
||||
this.namespace = namespace;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor attribute(String name, Object value) {
|
||||
this.attributes.put(name, new AttributeDescriptor(value));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor attribute(String name, Object value, String type) {
|
||||
this.attributes.put(name, new AttributeDescriptor(value, type));
|
||||
return this;
|
||||
}
|
||||
|
||||
public CapabilityDescriptor parseAttribute(String attributeData) {
|
||||
|
||||
String nameType = attributeData.substring(0, attributeData.indexOf("="));
|
||||
if (!CommonUtils.isValid(nameType))
|
||||
return this;
|
||||
String[] nameTypeSplit = nameType.split(":");
|
||||
|
||||
String name = nameTypeSplit[0].trim();
|
||||
|
||||
String type = (nameTypeSplit.length > 1 ? nameTypeSplit[1] : CapabilityDescriptor.ATTRIBUTE_TYPES.STRING);
|
||||
if (!CommonUtils.isValid(type))
|
||||
type = CapabilityDescriptor.ATTRIBUTE_TYPES.STRING;
|
||||
type = type.trim();
|
||||
|
||||
String value = attributeData.substring(attributeData.indexOf("=") + 1);
|
||||
if (!CommonUtils.isValid(value))
|
||||
value = "";
|
||||
value = value.trim();
|
||||
|
||||
Object typedValue = CapabilityTypeHelper.getTypedValue(type, value);
|
||||
this.attribute(name, typedValue, type);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public CapabilityDescriptor attributes(Map<String, Object> attributes) {
|
||||
if (attributes == null)
|
||||
return this;
|
||||
for (Entry<String, Object> entry: attributes.entrySet()) {
|
||||
this.attribute(entry.getKey(), entry.getValue());
|
||||
}
|
||||
return this;
|
||||
}
|
||||
@Override
|
||||
public CapabilityDescriptor attributes(Map<String, Object> attributes) {
|
||||
if (attributes == null)
|
||||
return this;
|
||||
for (Entry<String, Object> entry : attributes.entrySet()) {
|
||||
this.attribute(entry.getKey(), entry.getValue());
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* test-producers
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -28,130 +28,144 @@ package ru.entaxy.platform.base.support.osgi.bundle;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import ru.entaxy.platform.base.support.CommonUtils;
|
||||
|
||||
public class CapabilityHelper {
|
||||
|
||||
protected boolean isMultipleNamespacesSupported = false;
|
||||
protected boolean isMultipleNamespacesSupported = false;
|
||||
|
||||
protected Map<String, CapabilityDescriptorImpl> requiredCapabilities = new HashMap<>();
|
||||
protected Map<String, List<CapabilityDescriptorImpl>> providedCapabilities = new HashMap<>();
|
||||
protected Map<String, CapabilityDescriptorImpl> requiredCapabilities = new HashMap<>();
|
||||
protected Map<String, List<CapabilityDescriptorImpl>> providedCapabilities = new HashMap<>();
|
||||
|
||||
public CapabilityHelper() {
|
||||
super();
|
||||
}
|
||||
protected Set<String> osgiCapabilities = new HashSet<>();
|
||||
|
||||
protected void load() {
|
||||
/* String existing = this.manifest.getCustomAttributes().get(CapabilityDescriptor.HEADER_PROVIDE_CAPABILITY);
|
||||
if (CommonUtils.isValid(existing)) {
|
||||
List<CapabilityDescriptorImpl> list = parse(existing);
|
||||
for (CapabilityDescriptorImpl c: list)
|
||||
addProvidedCapability(c);
|
||||
}
|
||||
existing = this.manifest.getCustomAttributes().get(CapabilityDescriptor.HEADER_REQUIRE_CAPABILITY);
|
||||
if (CommonUtils.isValid(existing)) {
|
||||
List<CapabilityDescriptorImpl> list = parse(existing);
|
||||
for (CapabilityDescriptorImpl c: list)
|
||||
addRequiredCapability(c);
|
||||
} */
|
||||
}
|
||||
public CapabilityHelper() {
|
||||
super();
|
||||
osgiCapabilities.add("osgi.identity");
|
||||
osgiCapabilities.add("osgi.wiring.bundle");
|
||||
osgiCapabilities.add("osgi.wiring.host");
|
||||
}
|
||||
|
||||
protected void addProvidedCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
||||
if (capabilityDescriptorImpl == null)
|
||||
return;
|
||||
if (!isMultipleNamespacesSupported) {
|
||||
this.providedCapabilities.put(capabilityDescriptorImpl.getNamespace()
|
||||
, Collections.singletonList(capabilityDescriptorImpl));
|
||||
} else {
|
||||
if (!this.providedCapabilities.containsKey(capabilityDescriptorImpl.getNamespace()))
|
||||
this.providedCapabilities.put(capabilityDescriptorImpl.getNamespace()
|
||||
, Collections.singletonList(capabilityDescriptorImpl));
|
||||
else
|
||||
this.providedCapabilities.get(capabilityDescriptorImpl.getNamespace())
|
||||
.add(capabilityDescriptorImpl);
|
||||
}
|
||||
}
|
||||
protected void load() {
|
||||
/*
|
||||
* String existing =
|
||||
* this.manifest.getCustomAttributes().get(CapabilityDescriptor.HEADER_PROVIDE_CAPABILITY);
|
||||
* if (CommonUtils.isValid(existing)) { List<CapabilityDescriptorImpl> list =
|
||||
* parse(existing); for (CapabilityDescriptorImpl c: list) addProvidedCapability(c); }
|
||||
* existing =
|
||||
* this.manifest.getCustomAttributes().get(CapabilityDescriptor.HEADER_REQUIRE_CAPABILITY);
|
||||
* if (CommonUtils.isValid(existing)) { List<CapabilityDescriptorImpl> list =
|
||||
* parse(existing); for (CapabilityDescriptorImpl c: list) addRequiredCapability(c); }
|
||||
*/
|
||||
}
|
||||
|
||||
protected void addProvidedCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
||||
if (capabilityDescriptorImpl == null)
|
||||
return;
|
||||
if (!isMultipleNamespacesSupported) {
|
||||
this.providedCapabilities.put(capabilityDescriptorImpl.getNamespace(),
|
||||
Collections.singletonList(capabilityDescriptorImpl));
|
||||
} else {
|
||||
if (!this.providedCapabilities.containsKey(capabilityDescriptorImpl.getNamespace()))
|
||||
this.providedCapabilities.put(capabilityDescriptorImpl.getNamespace(), new ArrayList<>());
|
||||
this.providedCapabilities.get(capabilityDescriptorImpl.getNamespace())
|
||||
.add(capabilityDescriptorImpl);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void addRequiredCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
||||
if (capabilityDescriptorImpl == null)
|
||||
return;
|
||||
this.requiredCapabilities.put(capabilityDescriptorImpl.getNamespace(), capabilityDescriptorImpl);
|
||||
}
|
||||
protected void addRequiredCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
||||
if (capabilityDescriptorImpl == null)
|
||||
return;
|
||||
this.requiredCapabilities.put(capabilityDescriptorImpl.getNamespace(), capabilityDescriptorImpl);
|
||||
}
|
||||
|
||||
protected List<CapabilityDescriptorImpl> parse(String capabilities) {
|
||||
List<CapabilityDescriptorImpl> result = new ArrayList<>();
|
||||
String[] caps = capabilities.split(",");
|
||||
for (int i=0; i< caps.length; i++)
|
||||
if (CommonUtils.isValid(caps[i])) {
|
||||
result.add(parseCapability(caps[i]));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
protected List<CapabilityDescriptorImpl> parse(String capabilities) {
|
||||
List<CapabilityDescriptorImpl> result = new ArrayList<>();
|
||||
String[] caps = capabilities.split(",");
|
||||
for (int i = 0; i < caps.length; i++)
|
||||
if (CommonUtils.isValid(caps[i])) {
|
||||
result.add(parseCapability(caps[i]));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
protected CapabilityDescriptorImpl parseCapability(String capability) {
|
||||
String[] parsed = capability.split(";");
|
||||
CapabilityDescriptorImpl result = new CapabilityDescriptorImpl(parsed[0].trim());
|
||||
for (int i=1; i<parsed.length; i++) {
|
||||
result.parseAttribute(parsed[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
protected CapabilityDescriptorImpl parseCapability(String capability) {
|
||||
String[] parsed = capability.split(";");
|
||||
CapabilityDescriptorImpl result = new CapabilityDescriptorImpl(parsed[0].trim());
|
||||
for (int i = 1; i < parsed.length; i++) {
|
||||
if (!CommonUtils.isValid(parsed[i]))
|
||||
continue;
|
||||
result.parseAttribute(parsed[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<CapabilityDescriptor> getProvidedCapabilities(){
|
||||
return this.providedCapabilities.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.map(c -> (CapabilityDescriptor)c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
public List<CapabilityDescriptor> getProvidedCapabilities() {
|
||||
return this.providedCapabilities.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.map(c -> (CapabilityDescriptor) c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<CapabilityDescriptor> getProvidedCapabilities(String namesoace){
|
||||
if (!this.providedCapabilities.containsKey(namesoace))
|
||||
return new ArrayList<>();
|
||||
return this.providedCapabilities.get(namesoace)
|
||||
.stream()
|
||||
.map(c -> (CapabilityDescriptor)c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
public List<CapabilityDescriptor> getEntaxyObjectsProvidedCapabilities() {
|
||||
return this.providedCapabilities.entrySet().stream()
|
||||
.filter(e -> !osgiCapabilities.contains(e.getKey()))
|
||||
.map(e -> e.getValue())
|
||||
.flatMap(List::stream)
|
||||
.map(c -> (CapabilityDescriptor) c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<CapabilityDescriptor> getProvidedCapabilities(String namespace) {
|
||||
if (!this.providedCapabilities.containsKey(namespace))
|
||||
return new ArrayList<>();
|
||||
return this.providedCapabilities.get(namespace)
|
||||
.stream()
|
||||
.map(c -> (CapabilityDescriptor) c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
public List<CapabilityDescriptor> getRequiredCapabilities(){
|
||||
return this.requiredCapabilities.values().stream()
|
||||
.map(c -> (CapabilityDescriptor)c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
public List<CapabilityDescriptor> getRequiredCapabilities() {
|
||||
return this.requiredCapabilities.values().stream()
|
||||
.map(c -> (CapabilityDescriptor) c)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public boolean isCapabilityProvided(String namespace) {
|
||||
return this.providedCapabilities.containsKey(namespace);
|
||||
}
|
||||
public boolean isCapabilityProvided(String namespace) {
|
||||
return this.providedCapabilities.containsKey(namespace);
|
||||
}
|
||||
|
||||
public boolean isCapabilityRequired(String namespace) {
|
||||
return this.requiredCapabilities.containsKey(namespace);
|
||||
}
|
||||
public boolean isCapabilityRequired(String namespace) {
|
||||
return this.requiredCapabilities.containsKey(namespace);
|
||||
}
|
||||
|
||||
public CapabilityDescriptor provideCapability(String namespace) {
|
||||
CapabilityDescriptorImpl desc = new CapabilityDescriptorImpl(namespace);
|
||||
addProvidedCapability(desc);
|
||||
return desc;
|
||||
}
|
||||
public CapabilityDescriptor provideCapability(String namespace) {
|
||||
CapabilityDescriptorImpl desc = new CapabilityDescriptorImpl(namespace);
|
||||
addProvidedCapability(desc);
|
||||
return desc;
|
||||
}
|
||||
|
||||
public CapabilityDescriptor requireCapability(String namespace) {
|
||||
if (!this.requiredCapabilities.containsKey(namespace))
|
||||
this.requiredCapabilities.put(namespace, new CapabilityDescriptorImpl(namespace));
|
||||
return this.requiredCapabilities.get(namespace);
|
||||
}
|
||||
public CapabilityDescriptor requireCapability(String namespace) {
|
||||
if (!this.requiredCapabilities.containsKey(namespace))
|
||||
this.requiredCapabilities.put(namespace, new CapabilityDescriptorImpl(namespace));
|
||||
return this.requiredCapabilities.get(namespace);
|
||||
}
|
||||
|
||||
public boolean isMultipleNamespacesSupported() {
|
||||
return isMultipleNamespacesSupported;
|
||||
}
|
||||
public boolean isMultipleNamespacesSupported() {
|
||||
return isMultipleNamespacesSupported;
|
||||
}
|
||||
|
||||
public void setMultipleNamespacesSupported(boolean isMultipleNamespacesSupported) {
|
||||
this.isMultipleNamespacesSupported = isMultipleNamespacesSupported;
|
||||
}
|
||||
public void setMultipleNamespacesSupported(boolean isMultipleNamespacesSupported) {
|
||||
this.isMultipleNamespacesSupported = isMultipleNamespacesSupported;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* test-producers
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* system-commons
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* system-commons
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* system-commons
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* system-commons
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* profile-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* profile-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* profile-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* profile-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* profile-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* profile-management
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* base-support
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -38,16 +38,20 @@ import javax.xml.bind.Marshaller;
|
||||
import javax.xml.bind.Unmarshaller;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Result;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
/*import net.sf.saxon.TransformerFactoryImpl;
|
||||
import net.sf.saxon.lib.NamespaceConstant;
|
||||
*/
|
||||
/*
|
||||
* import net.sf.saxon.TransformerFactoryImpl; import net.sf.saxon.lib.NamespaceConstant;
|
||||
*/
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
@ -56,195 +60,255 @@ import org.xml.sax.InputSource;
|
||||
import ru.entaxy.platform.base.support.CommonUtils;
|
||||
|
||||
public class CommonXMLUtils {
|
||||
public static final Logger log = LoggerFactory.getLogger(CommonXMLUtils.class);
|
||||
private static final String XML_SAX_EXTERNAL_GENERAL_ENTITIES =
|
||||
"http://xml.org/sax/features/external-general-entities";
|
||||
private static final String XML_SAX_EXTERNAL_PARAMETER_ENTITIES =
|
||||
"http://xml.org/sax/features/external-parameter-entities";
|
||||
|
||||
// GETTING DOCUMENT
|
||||
// GETTING DOCUMENT
|
||||
|
||||
public static Document getDocument(URL url) throws Exception{
|
||||
return getDocument(url.openStream());
|
||||
}
|
||||
public static Document getDocument(URL url) throws Exception {
|
||||
return getDocument(url.openStream());
|
||||
}
|
||||
|
||||
public static Document getDocument(InputStream stream) throws Exception {
|
||||
return getDocument(false, stream);
|
||||
}
|
||||
public static Document getDocument(boolean namespaceAware, InputStream stream) throws Exception {
|
||||
InputSource is = new InputSource(stream);
|
||||
return getDocument(namespaceAware, is);
|
||||
}
|
||||
public static Document getDocument(InputStream stream) throws Exception {
|
||||
return getDocument(false, stream);
|
||||
}
|
||||
|
||||
public static Document newDocument(boolean namespaceAware) throws Exception{
|
||||
return getDocument(namespaceAware, (File)null);
|
||||
}
|
||||
public static Document getDocument(boolean namespaceAware, String path) throws Exception{
|
||||
return getDocument(namespaceAware, CommonUtils.isValid(path)?(new File(path)):null);
|
||||
}
|
||||
public static Document getDocument(boolean namespaceAware, File file) throws Exception{
|
||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
dbf.setNamespaceAware(namespaceAware);
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
if (file!=null)
|
||||
return db.parse(file);
|
||||
else
|
||||
return db.newDocument();
|
||||
public static Document getDocument(boolean namespaceAware, InputStream stream) throws Exception {
|
||||
InputSource is = new InputSource(stream);
|
||||
return getDocument(namespaceAware, is);
|
||||
}
|
||||
|
||||
}
|
||||
public static Document newDocument() throws Exception {
|
||||
return newDocument(false);
|
||||
}
|
||||
public static Document getDocument(String path) throws Exception{
|
||||
return getDocument(false, path);
|
||||
}
|
||||
public static Document parseString(boolean namespaceAware, String xmlData) throws Exception{
|
||||
public static Document newDocument(boolean namespaceAware) throws Exception {
|
||||
return getDocument(namespaceAware, (File) null);
|
||||
}
|
||||
|
||||
public static Document getDocument(boolean namespaceAware, String path) throws Exception {
|
||||
return getDocument(namespaceAware, CommonUtils.isValid(path) ? (new File(path)) : null);
|
||||
}
|
||||
|
||||
public static Document getDocument(boolean namespaceAware, File file) throws Exception {
|
||||
DocumentBuilderFactory dbf = newDocumentBuilderFactoryInstance();
|
||||
|
||||
dbf.setNamespaceAware(namespaceAware);
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
if (file != null)
|
||||
return db.parse(file);
|
||||
else
|
||||
return db.newDocument();
|
||||
|
||||
}
|
||||
|
||||
public static Document newDocument() throws Exception {
|
||||
return newDocument(false);
|
||||
}
|
||||
|
||||
public static Document getDocument(String path) throws Exception {
|
||||
return getDocument(false, path);
|
||||
}
|
||||
|
||||
public static Document parseString(boolean namespaceAware, String xmlData) throws Exception {
|
||||
InputSource is = new InputSource(new StringReader(xmlData));
|
||||
return getDocument(namespaceAware, is);
|
||||
}
|
||||
public static Document getDocument(InputSource source) throws Exception {
|
||||
return getDocument(false, source);
|
||||
}
|
||||
public static Document getDocument(boolean namespaceAware, InputSource source) throws Exception {
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
}
|
||||
|
||||
public static Document getDocument(InputSource source) throws Exception {
|
||||
return getDocument(false, source);
|
||||
}
|
||||
|
||||
public static Document getDocument(boolean namespaceAware, InputSource source) throws Exception {
|
||||
DocumentBuilderFactory factory = newDocumentBuilderFactoryInstance();
|
||||
|
||||
factory.setNamespaceAware(namespaceAware);
|
||||
DocumentBuilder builder = factory.newDocumentBuilder();
|
||||
Document d = builder.parse( source );
|
||||
return d;
|
||||
}
|
||||
public static String doc2string(Document doc) throws Exception{
|
||||
//set up a transformer
|
||||
TransformerFactory transfac = TransformerFactory.newInstance();
|
||||
Transformer trans = transfac.newTransformer();
|
||||
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
||||
trans.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
Document d = builder.parse(source);
|
||||
return d;
|
||||
}
|
||||
|
||||
//create string from xml tree
|
||||
StringWriter sw = new StringWriter();
|
||||
StreamResult result = new StreamResult(sw);
|
||||
DOMSource source = new DOMSource(doc);
|
||||
trans.transform(source, result);
|
||||
String xmlString = sw.toString();
|
||||
public static DocumentBuilderFactory newDocumentBuilderFactoryInstance() {
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
|
||||
return xmlString;
|
||||
}
|
||||
// Disable external entities declarations
|
||||
try {
|
||||
factory.setFeature(XML_SAX_EXTERNAL_GENERAL_ENTITIES, false);
|
||||
factory.setFeature(XML_SAX_EXTERNAL_PARAMETER_ENTITIES, false);
|
||||
} catch (ParserConfigurationException e) {
|
||||
// log.warn(e.getMessage(), e);
|
||||
log.warn(e.getMessage());
|
||||
}
|
||||
|
||||
public static String node2string(Node node) throws Exception {
|
||||
Transformer t = TransformerFactory.newInstance().newTransformer();
|
||||
t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
||||
StringWriter sw = new StringWriter();
|
||||
t.transform(new DOMSource(node), new StreamResult(sw));
|
||||
return sw.toString();
|
||||
}
|
||||
return factory;
|
||||
}
|
||||
|
||||
// SAVING DOCUMENT
|
||||
public static void saveDocument(Document doc, String path) throws Exception{
|
||||
File file = new File(path);
|
||||
saveDocument(doc, file);
|
||||
}
|
||||
public static TransformerFactory newTransformerFactoryInstance() {
|
||||
System.setProperty("javax.xml.transform.TransformerFactory", "net.sf.saxon.TransformerFactoryImpl");
|
||||
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||
// Disable external entities declarations
|
||||
try {
|
||||
transformerFactory.setFeature(XML_SAX_EXTERNAL_GENERAL_ENTITIES, false);
|
||||
transformerFactory.setFeature(XML_SAX_EXTERNAL_PARAMETER_ENTITIES, false);
|
||||
} catch (TransformerConfigurationException e) {
|
||||
// log.warn(e.getMessage(), e);
|
||||
log.warn(e.getMessage());
|
||||
}
|
||||
return transformerFactory;
|
||||
}
|
||||
|
||||
public static void saveDocument(Document doc, File file) throws Exception{
|
||||
DOMSource source = new DOMSource(doc);
|
||||
Result result = new StreamResult(file);
|
||||
Transformer xformer = TransformerFactory.newInstance().newTransformer();
|
||||
public static String doc2string(Document doc) throws Exception {
|
||||
// set up a transformer
|
||||
TransformerFactory transfac = newTransformerFactoryInstance();
|
||||
|
||||
Transformer trans = transfac.newTransformer();
|
||||
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
||||
trans.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
|
||||
// create string from xml tree
|
||||
StringWriter sw = new StringWriter();
|
||||
StreamResult result = new StreamResult(sw);
|
||||
DOMSource source = new DOMSource(doc);
|
||||
trans.transform(source, result);
|
||||
String xmlString = sw.toString();
|
||||
|
||||
return xmlString;
|
||||
}
|
||||
|
||||
public static String node2string(Node node) throws Exception {
|
||||
TransformerFactory transfac = newTransformerFactoryInstance();
|
||||
|
||||
Transformer t = transfac.newTransformer();
|
||||
t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
||||
StringWriter sw = new StringWriter();
|
||||
t.transform(new DOMSource(node), new StreamResult(sw));
|
||||
return sw.toString();
|
||||
}
|
||||
|
||||
// SAVING DOCUMENT
|
||||
public static void saveDocument(Document doc, String path) throws Exception {
|
||||
File file = new File(path);
|
||||
saveDocument(doc, file);
|
||||
}
|
||||
|
||||
public static void saveDocument(Document doc, File file) throws Exception {
|
||||
DOMSource source = new DOMSource(doc);
|
||||
Result result = new StreamResult(file);
|
||||
|
||||
TransformerFactory transfac = newTransformerFactoryInstance();
|
||||
|
||||
Transformer xformer = transfac.newTransformer();
|
||||
xformer.transform(source, result);
|
||||
}
|
||||
}
|
||||
|
||||
// MARSHAL
|
||||
public static void jaxbMarshal(JAXBContext context, JAXBElement<?> object, Node node) throws Exception{
|
||||
Marshaller m = context.createMarshaller();
|
||||
jaxbMarshall(m, object, node);
|
||||
}
|
||||
public static void jaxbMarshall(Marshaller m, JAXBElement<?> object, Node node) throws Exception{
|
||||
if (node==null || node.getNodeType()!=Node.ELEMENT_NODE)
|
||||
throw new IllegalArgumentException("Node is not Element");
|
||||
m.marshal(object, node);
|
||||
}
|
||||
public static String jaxbMarshall(JAXBContext context, JAXBElement<?> object) throws Exception{
|
||||
String result = null;
|
||||
// MARSHAL
|
||||
public static void jaxbMarshal(JAXBContext context, JAXBElement<?> object, Node node) throws Exception {
|
||||
Marshaller m = context.createMarshaller();
|
||||
jaxbMarshall(m, object, node);
|
||||
}
|
||||
|
||||
Marshaller m = context.createMarshaller();
|
||||
StringWriter sw = new StringWriter();
|
||||
m.marshal(object, sw);
|
||||
result = sw.toString();
|
||||
public static void jaxbMarshall(Marshaller m, JAXBElement<?> object, Node node) throws Exception {
|
||||
if (node == null || node.getNodeType() != Node.ELEMENT_NODE)
|
||||
throw new IllegalArgumentException("Node is not Element");
|
||||
m.marshal(object, node);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
// UNMARSHAL
|
||||
/**
|
||||
*
|
||||
* @param context
|
||||
* @param node
|
||||
* @param classMap
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static String jaxbMarshall(JAXBContext context, JAXBElement<?> object) throws Exception {
|
||||
String result = null;
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(JAXBContext context, Node node, HashMap<String, Class<? extends Object>> classMap) throws Exception{
|
||||
Unmarshaller um = context.createUnmarshaller();
|
||||
return jaxbUnmarshall(um, node, classMap);
|
||||
}
|
||||
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node, HashMap<String, Class<? extends Object>> classMap) throws Exception{
|
||||
if (node.getNodeType()!=Node.ELEMENT_NODE)
|
||||
throw new IllegalArgumentException("Node is not Element");
|
||||
String nodeName = node.getNodeName();
|
||||
String[] s = nodeName.split(":");
|
||||
nodeName = s[s.length-1];
|
||||
Class<?> objectClass = classMap.get(nodeName.toLowerCase());
|
||||
if (objectClass==null)
|
||||
throw new IllegalArgumentException("Node name " +nodeName+ " not found in map " + classMap.toString());
|
||||
Object obj = um.unmarshal(node, objectClass);
|
||||
return (JAXBElement<?>)obj;
|
||||
}
|
||||
Marshaller m = context.createMarshaller();
|
||||
StringWriter sw = new StringWriter();
|
||||
m.marshal(object, sw);
|
||||
result = sw.toString();
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Document doc) throws Exception{
|
||||
JAXBContext context = JAXBContext.newInstance(
|
||||
type.getPackage().getName(), type.getClassLoader());
|
||||
NodeList list = doc.getChildNodes();
|
||||
Node node = null;
|
||||
for (int i=0; i<list.getLength(); i++){
|
||||
if (list.item(i).getNodeType() == Node.ELEMENT_NODE){
|
||||
node = list.item(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (node == null)
|
||||
throw new Exception("Root element not found in document");
|
||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||
}
|
||||
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Node node) throws Exception{
|
||||
JAXBContext context = JAXBContext.newInstance(
|
||||
type.getPackage().getName(), type.getClassLoader());
|
||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||
}
|
||||
public static JAXBElement<?> jaxbUnmarshall(JAXBContext context, Node node, Class<?> type) throws Exception{
|
||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||
}
|
||||
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node, Class<?> type) throws Exception{
|
||||
Object obj = um.unmarshal(node, type);
|
||||
return (JAXBElement<?>)obj;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// XSLT
|
||||
// UNMARSHAL
|
||||
/**
|
||||
*
|
||||
* @param context
|
||||
* @param node
|
||||
* @param classMap
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(JAXBContext context, Node node,
|
||||
HashMap<String, Class<? extends Object>> classMap) throws Exception {
|
||||
Unmarshaller um = context.createUnmarshaller();
|
||||
return jaxbUnmarshall(um, node, classMap);
|
||||
}
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node,
|
||||
HashMap<String, Class<? extends Object>> classMap) throws Exception {
|
||||
if (node.getNodeType() != Node.ELEMENT_NODE)
|
||||
throw new IllegalArgumentException("Node is not Element");
|
||||
String nodeName = node.getNodeName();
|
||||
String[] s = nodeName.split(":");
|
||||
nodeName = s[s.length - 1];
|
||||
Class<?> objectClass = classMap.get(nodeName.toLowerCase());
|
||||
if (objectClass == null)
|
||||
throw new IllegalArgumentException("Node name " + nodeName + " not found in map " + classMap.toString());
|
||||
Object obj = um.unmarshal(node, objectClass);
|
||||
return (JAXBElement<?>) obj;
|
||||
}
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Document doc) throws Exception {
|
||||
JAXBContext context = JAXBContext.newInstance(
|
||||
type.getPackage().getName(), type.getClassLoader());
|
||||
NodeList list = doc.getChildNodes();
|
||||
Node node = null;
|
||||
for (int i = 0; i < list.getLength(); i++) {
|
||||
if (list.item(i).getNodeType() == Node.ELEMENT_NODE) {
|
||||
node = list.item(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (node == null)
|
||||
throw new Exception("Root element not found in document");
|
||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||
}
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Node node) throws Exception {
|
||||
JAXBContext context = JAXBContext.newInstance(
|
||||
type.getPackage().getName(), type.getClassLoader());
|
||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||
}
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(JAXBContext context, Node node, Class<?> type) throws Exception {
|
||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||
}
|
||||
|
||||
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node, Class<?> type) throws Exception {
|
||||
Object obj = um.unmarshal(node, type);
|
||||
return (JAXBElement<?>) obj;
|
||||
}
|
||||
|
||||
// XSLT
|
||||
/*
|
||||
public static void transform(URL input, URL xslt, Result result) throws Exception {
|
||||
TransformerFactory factory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",TransformerFactoryImpl.class.getClassLoader());
|
||||
TransformerFactory factory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",TransformerFactoryImpl.class.getClassLoader());
|
||||
|
||||
Source xsltS = new StreamSource(xslt.openStream());
|
||||
Transformer transformer = factory.newTransformer(xsltS);
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
|
||||
Source xsltS = new StreamSource(xslt.openStream());
|
||||
Transformer transformer = factory.newTransformer(xsltS);
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
|
||||
|
||||
InputStream is = input.openStream();
|
||||
InputStream is = input.openStream();
|
||||
|
||||
Source inputS = new StreamSource(is);
|
||||
transformer.transform(inputS, result);
|
||||
Source inputS = new StreamSource(is);
|
||||
transformer.transform(inputS, result);
|
||||
|
||||
}
|
||||
*/
|
||||
// XPath
|
||||
// XPath
|
||||
|
||||
/* public static XPath createXPath() throws Exception {
|
||||
XPathFactory factory = XPathFactory.newInstance(NamespaceConstant.OBJECT_MODEL_SAXON,
|
||||
"net.sf.saxon.xpath.XPathFactoryImpl", net.sf.saxon.xpath.XPathFactoryImpl.class.getClassLoader());
|
||||
XPath xpath = factory.newXPath();
|
||||
return xpath;
|
||||
return xpath;
|
||||
}
|
||||
|
||||
public static String getStringXPathResult(org.w3c.dom.Node node, String expression) throws Exception {
|
||||
|
@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
||||
<artifactId>base</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<version>1.10.0</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@ -22,19 +22,6 @@
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-install-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>false</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.soebes.maven.plugins</groupId>
|
||||
<artifactId>iterator-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
@ -53,7 +40,7 @@
|
||||
<version>1.12</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-artifacts</id>
|
||||
<id>attach-branding-properties</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>attach-artifact</goal>
|
||||
|
@ -2,7 +2,7 @@
|
||||
# ~~~~~~licensing~~~~~~
|
||||
# branding
|
||||
# ==========
|
||||
# Copyright (C) 2020 - 2023 EmDev LLC
|
||||
# Copyright (C) 2020 - 2024 EmDev LLC
|
||||
# ==========
|
||||
# You may not use this file except in accordance with the License Terms of the Copyright
|
||||
# Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -3,7 +3,7 @@
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
||||
<artifactId>base</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<version>1.10.0</version>
|
||||
</parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
||||
<artifactId>config-extensions</artifactId>
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* config-plugin
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
@ -43,9 +43,9 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
*
|
||||
* Configuration plugin providing resolving references from one config to others
|
||||
* in a form $PID_OF_OTHER_CONFIG{PROPERTY_NAME}
|
||||
* e.g. $org.ops4j.pax.url.mvn{org.ops4j.pax.url.mvn.localRepository}
|
||||
* Configuration plugin providing resolving references from one config to others in a form
|
||||
* $PID_OF_OTHER_CONFIG{PROPERTY_NAME} e.g.
|
||||
* $org.ops4j.pax.url.mvn{org.ops4j.pax.url.mvn.localRepository}
|
||||
*
|
||||
* If pid or property not found no changes are made
|
||||
*
|
||||
@ -53,59 +53,58 @@ import org.slf4j.LoggerFactory;
|
||||
*
|
||||
*/
|
||||
@Component(service = {ConfigurationPlugin.class}, immediate = true,
|
||||
property = {
|
||||
ConfigurationPlugin.CM_RANKING + "=100"
|
||||
, "config.plugin.id=ConfigLookupConfigurationPlugin"})
|
||||
property = {
|
||||
ConfigurationPlugin.CM_RANKING + "=100", "config.plugin.id=ConfigLookupConfigurationPlugin"})
|
||||
public class ConfigLookupConfigurationPlugin implements ConfigurationPlugin {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ConfigLookupConfigurationPlugin.class);
|
||||
private static final Logger log = LoggerFactory.getLogger(ConfigLookupConfigurationPlugin.class);
|
||||
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY)
|
||||
protected ConfigurationAdmin configurationAdmin;
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY)
|
||||
protected ConfigurationAdmin configurationAdmin;
|
||||
|
||||
@Override
|
||||
public void modifyConfiguration(ServiceReference<?> arg0, Dictionary<String, Object> properties) {
|
||||
for (Enumeration<String> keys = properties.keys(); keys.hasMoreElements(); ) {
|
||||
String key = keys.nextElement();
|
||||
Object val = properties.get(key);
|
||||
if (val instanceof String) {
|
||||
@Override
|
||||
public void modifyConfiguration(ServiceReference<?> arg0, Dictionary<String, Object> properties) {
|
||||
for (Enumeration<String> keys = properties.keys(); keys.hasMoreElements();) {
|
||||
String key = keys.nextElement();
|
||||
Object val = properties.get(key);
|
||||
if (val instanceof String) {
|
||||
|
||||
String text = (String)val;
|
||||
String newValue = (String)val;
|
||||
Pattern pattern = Pattern.compile("\\$([^\\{\\}])+\\{.+?\\}");
|
||||
Matcher matcher = pattern.matcher(text);
|
||||
while (matcher.find()) {
|
||||
log.debug("FOUND :: " + text.substring(matcher.start(), matcher.end()));
|
||||
String placeholder = text.substring(matcher.start(), matcher.end());
|
||||
String pid = placeholder.substring(1, placeholder.indexOf("{"));
|
||||
String propName = placeholder.substring(placeholder.indexOf("{")+1
|
||||
, placeholder.indexOf("}"));
|
||||
log.debug("PARSED :: " + pid + ":" + propName);
|
||||
Configuration conf;
|
||||
try {
|
||||
conf = configurationAdmin.getConfiguration(pid);
|
||||
if (conf != null) {
|
||||
String text = (String) val;
|
||||
String newValue = (String) val;
|
||||
Pattern pattern = Pattern.compile("\\$([^\\{\\}])+\\{.+?\\}");
|
||||
Matcher matcher = pattern.matcher(text);
|
||||
while (matcher.find()) {
|
||||
log.debug("FOUND :: " + text.substring(matcher.start(), matcher.end()));
|
||||
String placeholder = text.substring(matcher.start(), matcher.end());
|
||||
String pid = placeholder.substring(1, placeholder.indexOf("{"));
|
||||
String propName = placeholder.substring(placeholder.indexOf("{") + 1, placeholder.indexOf("}"));
|
||||
log.debug("PARSED :: " + pid + ":" + propName);
|
||||
Configuration conf;
|
||||
try {
|
||||
conf = configurationAdmin.getConfiguration(pid);
|
||||
if (conf != null) {
|
||||
|
||||
Dictionary<String, Object> props = conf.getProperties();
|
||||
Object value = props.get(propName);
|
||||
log.debug("VALUE :: " + placeholder + " = " + value);
|
||||
if (value != null) {
|
||||
newValue = newValue.replace(placeholder, (String)value);
|
||||
log.debug("NEW VALUE :: " + placeholder + " = " + newValue);
|
||||
}
|
||||
Dictionary<String, Object> props = conf.getProperties();
|
||||
if (props != null) {
|
||||
Object value = props.get(propName);
|
||||
log.debug("VALUE :: " + placeholder + " = " + value);
|
||||
if (value != null) {
|
||||
newValue = newValue.replace(placeholder, (String) value);
|
||||
log.debug("NEW VALUE :: " + placeholder + " = " + newValue);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.error("Error with pid: " + pid, e);
|
||||
}
|
||||
|
||||
}
|
||||
} catch (IOException e) {
|
||||
log.error("Error with pid: " + pid, e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
properties.put(key, newValue);
|
||||
|
||||
properties.put(key, newValue);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* configuration-test-1
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* configuration-test-1
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* configuration-test-1
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* configuration-test-1
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* configuration-test-1
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -2,7 +2,7 @@
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* configuration-test-1
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* Copyright (C) 2020 - 2024 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,90 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>adapters-core</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: ADAPTER CORE</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: ADAPTER CORE</description>
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.export.pkg>
|
||||
ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api,
|
||||
ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.impl,
|
||||
ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management,
|
||||
ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata,
|
||||
ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.tracker,
|
||||
ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.util
|
||||
</bundle.osgi.export.pkg>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Bundle-Activator>ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.tracker.AdapterTrackerActivator</Bundle-Activator>
|
||||
<_dsannotations>*</_dsannotations>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.osgi</groupId>
|
||||
<artifactId>osgi.core</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.generator</groupId>
|
||||
<artifactId>generator-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
||||
<artifactId>management-core</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.generator</groupId>
|
||||
<artifactId>generator-factory</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>org.apache.felix.scr</artifactId>
|
||||
<version>2.1.20</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.osgi</groupId>
|
||||
<artifactId>org.osgi.service.component.annotations</artifactId>
|
||||
<version>1.4.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -1,65 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.generator.Generated;
|
||||
|
||||
public interface Adapter {
|
||||
public static final String ADAPTER_CLASS_HEADER_NAME = "Entaxy-Adapter-Class";
|
||||
public static final String ADAPTER_HEADER_NAME = "Entaxy-Adapter";
|
||||
public default boolean isInited() {
|
||||
return false;
|
||||
}
|
||||
public default String getId() {
|
||||
return "none";
|
||||
}
|
||||
public default String getName() {
|
||||
return "Undefined";
|
||||
}
|
||||
public default String getDescription() {
|
||||
return "Undefined";
|
||||
}
|
||||
public default Map<String, String> getOptions() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
public default Map<String, String> getProperties() {
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
/*
|
||||
@Deprecated
|
||||
public default Blueprint generateBlueprint(String type, Map<String, Object> map) throws Exception {
|
||||
return null;
|
||||
}
|
||||
*/
|
||||
public default Generated generate(String type, Map<String, Object> map) throws Exception {
|
||||
return Generated.create();
|
||||
}
|
||||
|
||||
}
|
@ -1,206 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.impl;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api.Adapter;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata.AdapterFieldElement;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata.AdapterGeneratorElement;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata.AdapterMetadataElement;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.generator.Generated;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.generator.Generator;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.generator.factory.GeneratorFactory;
|
||||
|
||||
public class DefaultAdapter implements Adapter {
|
||||
|
||||
protected static final Logger log = LoggerFactory.getLogger(DefaultAdapter.class);
|
||||
|
||||
protected BundleContext bundleContext;
|
||||
|
||||
protected boolean isInited = false;
|
||||
protected String defaultId = "none";
|
||||
protected String defaultName = "Undefined";
|
||||
protected String defaultDescription = "Undefined";
|
||||
protected AdapterMetadataElement adapterMetadata;
|
||||
|
||||
@Deprecated
|
||||
protected Map<String, Generator> generatorList = new HashMap<>();
|
||||
protected Map<String, GeneratorDescriptor> generatorDescriptorList = new HashMap<>();
|
||||
|
||||
protected static class GeneratorDescriptor {
|
||||
BundleContext bundleContext;
|
||||
AdapterGeneratorElement generatorElement;
|
||||
Generator generator;
|
||||
boolean linked = false;
|
||||
|
||||
public void linkGenerator() {
|
||||
generator = GeneratorFactory.createGenerator(generatorElement.getGenerator()
|
||||
, generatorElement.getType(), bundleContext);
|
||||
linked = (generator != null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public DefaultAdapter(BundleContext bundleContext) throws IOException {
|
||||
this.bundleContext = bundleContext;
|
||||
log.debug("Constructor of adapter {}", DefaultAdapter.class.getName());
|
||||
this.isInited = this.init();
|
||||
}
|
||||
|
||||
protected boolean init() throws IOException {
|
||||
URL metadataUrl = this.bundleContext.getBundle().getEntry("/ru/entaxy/adapter/metadata.json");
|
||||
log.debug("Json URL is {}", metadataUrl.toString());
|
||||
|
||||
String metadata = new BufferedReader (
|
||||
new InputStreamReader(
|
||||
metadataUrl.openStream(), StandardCharsets.UTF_8))
|
||||
.lines()
|
||||
.collect(Collectors.joining("\n"));
|
||||
|
||||
log.debug("Adapter json description: \n" + metadata);
|
||||
|
||||
GsonBuilder builder = new GsonBuilder();
|
||||
Gson gson = builder.create();
|
||||
|
||||
JsonElement je = (new JsonParser()).parse(metadata);
|
||||
JsonObject root = je.getAsJsonObject();
|
||||
|
||||
JsonElement adapterElement = root.get("adapter");
|
||||
|
||||
this.adapterMetadata = gson.fromJson(adapterElement, AdapterMetadataElement.class);
|
||||
|
||||
List<AdapterGeneratorElement> generators = adapterMetadata.getGenerators();
|
||||
|
||||
for (AdapterGeneratorElement generator: generators) {
|
||||
GeneratorDescriptor descriptor = new GeneratorDescriptor();
|
||||
descriptor.bundleContext = this.bundleContext;
|
||||
descriptor.generatorElement = generator;
|
||||
if (!generator.isLazy())
|
||||
descriptor.linkGenerator();
|
||||
this.generatorDescriptorList.put(generator.getType(), descriptor);
|
||||
}
|
||||
|
||||
// initGenerators(adapterMetadata.getGenerators());
|
||||
|
||||
return this.adapterMetadata != null && !generatorDescriptorList.isEmpty();
|
||||
}
|
||||
|
||||
private void initGenerators(List<AdapterGeneratorElement> generators) {
|
||||
for (AdapterGeneratorElement generator: generators) {
|
||||
String usageType = generator.getType();
|
||||
String generatorType = generator.getGenerator();
|
||||
generatorList.put(usageType,
|
||||
GeneratorFactory.createGenerator(generatorType, usageType, bundleContext));
|
||||
}
|
||||
log.debug("generatorList: " + generatorList);
|
||||
//TODO checkGeneratorList();
|
||||
}
|
||||
|
||||
/* Interface */
|
||||
|
||||
@Override
|
||||
public boolean isInited() {
|
||||
return isInited;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return this.isInited?this.adapterMetadata.getId():this.defaultId;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.adapterMetadata.setId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return this.isInited?this.adapterMetadata.getName():this.defaultName;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.adapterMetadata.setName(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return this.isInited?this.adapterMetadata.getDescription():this.defaultDescription;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.adapterMetadata.setDescription(description);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getProperties(){
|
||||
return this.adapterMetadata.getFields()
|
||||
.stream()
|
||||
.filter(field -> field.isProperty())
|
||||
.collect(Collectors.toMap(AdapterFieldElement::getName, AdapterFieldElement::getType));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getOptions(){
|
||||
return this.adapterMetadata.getFields()
|
||||
.stream()
|
||||
.filter(field -> field.isOption())
|
||||
.collect(Collectors.toMap(AdapterFieldElement::getName, AdapterFieldElement::getType));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Generated generate(String type, Map<String, Object> map) throws Exception {
|
||||
GeneratorDescriptor descriptor = generatorDescriptorList.get(type);
|
||||
if (descriptor == null)
|
||||
throw new NoSuchElementException("Generator of type ["
|
||||
+ type + "] not defined for adapter [" + this.getId() + "]");
|
||||
if (!descriptor.linked)
|
||||
descriptor.linkGenerator();
|
||||
if (!descriptor.linked)
|
||||
throw new NoSuchElementException("Generator of type ["
|
||||
+ type + "] not linked for adapter [" + this.getId() + "]");
|
||||
Generator generator = descriptor.generator;
|
||||
return generator.generate(map);
|
||||
}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management;
|
||||
|
||||
import ru.entaxy.esb.platform.base.management.core.api.RuntimeTypedMBean;
|
||||
|
||||
public interface AdapterMBean extends RuntimeTypedMBean {
|
||||
|
||||
public boolean isInited();
|
||||
|
||||
public String getId();
|
||||
|
||||
public String getName();
|
||||
|
||||
public String getDescription();
|
||||
|
||||
// public Map<String, String> getOptions();
|
||||
|
||||
// public Map<String, String> getProperties();
|
||||
|
||||
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management;
|
||||
|
||||
import javax.management.NotCompliantMBeanException;
|
||||
import javax.management.StandardMBean;
|
||||
|
||||
import ru.entaxy.esb.platform.base.management.core.api.EntaxyRuntimeTyped;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api.Adapter;
|
||||
|
||||
//@TODO move string to constant
|
||||
@EntaxyRuntimeTyped(name = "entaxy.runtime.adapter")
|
||||
public class AdapterMBeanImpl extends StandardMBean implements AdapterMBean {
|
||||
|
||||
protected Adapter adapter;
|
||||
|
||||
public AdapterMBeanImpl(Adapter adapter) throws NotCompliantMBeanException {
|
||||
super(AdapterMBean.class);
|
||||
this.adapter = adapter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return adapter.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInited() {
|
||||
return adapter.isInited();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return adapter.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return adapter.getDescription();
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management;
|
||||
|
||||
import ru.entaxy.esb.platform.base.management.core.ManagementCore;
|
||||
import ru.entaxy.esb.platform.base.management.core.Qualifier;
|
||||
|
||||
public interface AdaptersMBean {
|
||||
|
||||
public static final String ADAPTERS_KEY = "category";
|
||||
|
||||
public static final String ADAPTERS_VALUE = "adapter";
|
||||
|
||||
public static final Qualifier Q_ADAPTERS = ManagementCore.Q_PLATFORM.qualifier(ADAPTERS_KEY, ADAPTERS_VALUE);
|
||||
|
||||
public static final String Q_ADAPTERS_S = ManagementCore.Q_LOCAL_NODE_S + "," + ADAPTERS_KEY + "=" + ADAPTERS_VALUE;
|
||||
|
||||
public void execute(String value);
|
||||
}
|
@ -1,119 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.management.DynamicMBean;
|
||||
import javax.management.MBeanRegistration;
|
||||
import javax.management.NotCompliantMBeanException;
|
||||
import javax.management.StandardMBean;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.ServiceRegistration;
|
||||
import org.osgi.service.component.ComponentContext;
|
||||
import org.osgi.service.component.annotations.Activate;
|
||||
import org.osgi.service.component.annotations.CollectionType;
|
||||
import org.osgi.service.component.annotations.Component;
|
||||
import org.osgi.service.component.annotations.Reference;
|
||||
import org.osgi.service.component.annotations.ReferenceCardinality;
|
||||
import org.osgi.service.component.annotations.ReferencePolicy;
|
||||
import org.osgi.service.component.annotations.ServiceScope;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ru.entaxy.esb.platform.base.management.core.ManagementCore;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api.Adapter;
|
||||
|
||||
@Component(
|
||||
service = {AdaptersMBean.class, DynamicMBean.class, MBeanRegistration.class},
|
||||
// property = {"jmx.objectname=ru.entaxy.esb:group=platform,category=adapters"},
|
||||
property = {ManagementCore.ENTAXY_JMX_DOMAIN + "=" + AdaptersMBean.Q_ADAPTERS_S},
|
||||
scope = ServiceScope.SINGLETON,
|
||||
immediate = true
|
||||
)
|
||||
public class AdaptersMBeanImpl extends StandardMBean implements AdaptersMBean {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(AdaptersMBeanImpl.class);
|
||||
|
||||
protected Map<Adapter, ServiceRegistration<AdapterMBean>> mbeans = new HashMap<>();
|
||||
|
||||
// @Reference (service = BundleContext.class)
|
||||
protected BundleContext bundleContext;
|
||||
|
||||
public AdaptersMBeanImpl() throws NotCompliantMBeanException {
|
||||
super(AdaptersMBean.class);
|
||||
}
|
||||
|
||||
|
||||
@Activate
|
||||
public void activate(ComponentContext componentContext) {
|
||||
log.debug(" >> ACTIVATE <<");
|
||||
this.bundleContext = componentContext.getBundleContext();
|
||||
}
|
||||
|
||||
|
||||
@Reference (service = Adapter.class, cardinality = ReferenceCardinality.MULTIPLE,
|
||||
unbind = "unbindAdapter", collectionType = CollectionType.SERVICE,
|
||||
policy = ReferencePolicy.DYNAMIC)
|
||||
public void bindAdapter(Adapter adapter) {
|
||||
|
||||
try {
|
||||
AdapterMBeanImpl mbean = new AdapterMBeanImpl(adapter);
|
||||
Hashtable props = new Hashtable<>();
|
||||
// props.put("jmx.objectname", "ru.entaxy.esb:group=platform,category=adapters,id=" + adapter.getId());
|
||||
props.put(ManagementCore.JMX_OBJECTNAME, Q_ADAPTERS.qualifier("id", adapter.getId()).getValue());
|
||||
ServiceRegistration<AdapterMBean> reg = bundleContext.registerService(
|
||||
new String[] {
|
||||
AdapterMBean.class.getName(),
|
||||
DynamicMBean.class.getName(),
|
||||
MBeanRegistration.class.getName()
|
||||
}
|
||||
, mbean
|
||||
, props);
|
||||
this.mbeans.put(adapter, reg);
|
||||
|
||||
} catch (NotCompliantMBeanException e) {
|
||||
log.error("Error creating MBean for adapter: ", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void unbindAdapter(Adapter adapter) {
|
||||
ServiceRegistration<AdapterMBean> reg = this.mbeans.get(adapter);
|
||||
if (reg != null)
|
||||
reg.unregister();
|
||||
this.mbeans.remove(adapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(String value) {
|
||||
log.info(">> EXECUTED");
|
||||
}
|
||||
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata;
|
||||
|
||||
public class AdapterFieldElement {
|
||||
|
||||
protected String name;
|
||||
protected String type = "String";
|
||||
protected boolean property = false;
|
||||
protected boolean option = false;
|
||||
protected String defaultValue = "";
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public boolean isProperty() {
|
||||
return property;
|
||||
}
|
||||
|
||||
public void setProperty(boolean isProperty) {
|
||||
this.property = isProperty;
|
||||
}
|
||||
|
||||
public boolean isOption() {
|
||||
return option;
|
||||
}
|
||||
|
||||
public void setOption(boolean isOption) {
|
||||
this.option = isOption;
|
||||
}
|
||||
|
||||
public String getDefault() {
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
public void setDefault(String defaultValue) {
|
||||
this.defaultValue = defaultValue;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,93 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
import ru.entaxy.platform.base.support.JSONUtils;
|
||||
|
||||
public class AdapterGeneratorElement {
|
||||
protected String type;
|
||||
|
||||
// Default generator is defined in GeneratorFactory
|
||||
// no need to redefine it here
|
||||
protected String generator = "";
|
||||
|
||||
protected JsonObject config;
|
||||
protected Map<String, Object> configMap = new HashMap<>();
|
||||
|
||||
// we can postpone generator linking until it's really needed
|
||||
protected boolean lazy = false;
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getGenerator() {
|
||||
return generator;
|
||||
}
|
||||
|
||||
public void setGenerator(String generator) {
|
||||
this.generator = generator;
|
||||
}
|
||||
|
||||
public Map<String, Object> getConfigMap() {
|
||||
if (configMap.isEmpty() && (this.config != null))
|
||||
configMap = JSONUtils.element2map(this.config);
|
||||
return configMap;
|
||||
}
|
||||
|
||||
public void setConfigMap(Map<String, Object> configMap) {
|
||||
this.configMap = configMap;
|
||||
}
|
||||
|
||||
// actually the method is not called by Gson
|
||||
public void setConfig(JsonObject configElement) {
|
||||
this.config = configElement;
|
||||
this.configMap = JSONUtils.element2map(configElement);
|
||||
}
|
||||
|
||||
public boolean isLazy() {
|
||||
return lazy;
|
||||
}
|
||||
|
||||
public void setLazy(boolean lazy) {
|
||||
this.lazy = lazy;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "AdapterGeneratorElement: " +
|
||||
"{'type': '" + type + "', " +
|
||||
"'generator': '" + generator + "'}";
|
||||
}
|
||||
}
|
@ -1,85 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.metadata;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AdapterMetadataElement {
|
||||
|
||||
protected static final Logger log = LoggerFactory.getLogger(AdapterMetadataElement.class);
|
||||
|
||||
protected String id;
|
||||
protected String name;
|
||||
protected String description;
|
||||
|
||||
protected List<AdapterFieldElement> fields = new ArrayList<>();
|
||||
|
||||
public List<AdapterGeneratorElement> getGenerators() {
|
||||
return generators;
|
||||
}
|
||||
|
||||
public void setGenerators(List<AdapterGeneratorElement> generators) {
|
||||
this.generators = generators;
|
||||
}
|
||||
|
||||
protected List<AdapterGeneratorElement> generators = new ArrayList();
|
||||
|
||||
public void addField(AdapterFieldElement field) {
|
||||
this.fields.add(field);
|
||||
}
|
||||
|
||||
public int getFieldsCount() {
|
||||
return this.fields.size();
|
||||
}
|
||||
|
||||
public List<AdapterFieldElement> getFields() {
|
||||
return fields;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
}
|
@ -1,97 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.tracker;
|
||||
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.ServiceRegistration;
|
||||
import org.osgi.framework.wiring.BundleWiring;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api.Adapter;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
|
||||
public class AdapterHelper {
|
||||
|
||||
protected static final Logger log = LoggerFactory.getLogger(AdapterHelper.class);
|
||||
|
||||
protected BundleContext bundleContext;
|
||||
|
||||
protected List<Object> objects = new ArrayList<>();
|
||||
protected List<ServiceRegistration> registrations = new ArrayList<>();
|
||||
|
||||
public AdapterHelper(BundleContext bundleContext) {
|
||||
this.bundleContext = bundleContext;
|
||||
}
|
||||
|
||||
public void create(Bundle targetBundle, String className) {
|
||||
log.info("Creating adapter in " + targetBundle.getSymbolicName()
|
||||
+ " of class " + targetBundle.getClass().getName()
|
||||
+ " having context of " + targetBundle.getBundleContext().getClass().getName());
|
||||
BundleWiring wiring = targetBundle.adapt(BundleWiring.class);
|
||||
ClassLoader cl = wiring.getClassLoader();
|
||||
try {
|
||||
Class<?> clazz = cl.loadClass(className);
|
||||
Constructor<?> constructor = clazz.getConstructor(BundleContext.class);
|
||||
Object obj = constructor.newInstance(targetBundle.getBundleContext());
|
||||
log.debug("Created object of class {}", obj.getClass().getName());
|
||||
|
||||
Adapter adapter = (Adapter)obj;
|
||||
if (!adapter.isInited()) {
|
||||
log.warn("Adapter initialization failed.");
|
||||
return;
|
||||
}
|
||||
|
||||
Hashtable<String, String> properties = new Hashtable<>();
|
||||
properties.put("adapter.id", adapter.getId());
|
||||
properties.put("adapter.name", adapter.getName());
|
||||
properties.put("adapter.description", adapter.getDescription());
|
||||
|
||||
ServiceRegistration sr = targetBundle.getBundleContext().registerService(new String[] {Adapter.class.getName()}, obj, properties);
|
||||
|
||||
// // print out adapter info
|
||||
// String props = "\n";
|
||||
// for (Map.Entry<String, String> entry: adapter.getProperties().entrySet())
|
||||
// props += entry.getKey() + ": " + entry.getValue() + "\n";
|
||||
// String opts = "\n";
|
||||
// for (Map.Entry<String, String> entry: adapter.getOptions().entrySet())
|
||||
// opts += entry.getKey() + ": " + entry.getValue() + "\n";
|
||||
//
|
||||
// log.info("\n\n\tFINAL ADAPTER INFO: \nID: {}\nDescription: {}\nProperties:{}Options:{}"
|
||||
// , adapter.getId()
|
||||
// , adapter.getDescription()
|
||||
// , props
|
||||
// , opts);
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("Can't create adapter:\n", e);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.tracker;
|
||||
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.BundleEvent;
|
||||
import org.osgi.util.tracker.BundleTracker;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api.Adapter;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.impl.DefaultAdapter;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class AdapterTracker extends BundleTracker {
|
||||
|
||||
protected static final Logger log = LoggerFactory.getLogger(AdapterTracker.class);
|
||||
|
||||
protected AdapterHelper helper;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public AdapterTracker(BundleContext bundleContext) {
|
||||
super(bundleContext, Bundle.ACTIVE, null);
|
||||
this.helper = new AdapterHelper(bundleContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object addingBundle(Bundle bundle, BundleEvent event) {
|
||||
String isAdapter = bundle.getHeaders().get(Adapter.ADAPTER_HEADER_NAME);
|
||||
if (Boolean.valueOf(isAdapter)) {
|
||||
String className = Optional.ofNullable(bundle.getHeaders().
|
||||
get(Adapter.ADAPTER_CLASS_HEADER_NAME)).orElse(DefaultAdapter.class.getName());
|
||||
log.debug("Adapter class " + className + " FOUND IN BUNDLE " + bundle.getSymbolicName());
|
||||
helper.create(bundle, className);
|
||||
}
|
||||
return bundle;
|
||||
}
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.tracker;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
|
||||
import javax.management.DynamicMBean;
|
||||
import javax.management.MBeanRegistration;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management.AdaptersMBean;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.management.AdaptersMBeanImpl;
|
||||
|
||||
public class AdapterTrackerActivator implements BundleActivator {
|
||||
|
||||
protected static final Logger log = LoggerFactory.getLogger(AdapterTrackerActivator.class);
|
||||
|
||||
protected AdapterTracker tracker;
|
||||
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
tracker = new AdapterTracker(context);
|
||||
tracker.open();
|
||||
/* AdaptersMBeanImpl mbean = new AdaptersMBeanImpl();
|
||||
Hashtable props = new Hashtable();
|
||||
props.put("jmx.objectname", "ru.entaxy.esb:type=bundle,name=adapters");
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add(AdaptersMBean.class.getName());
|
||||
list.add(DynamicMBean.class.getName());
|
||||
list.add(MBeanRegistration.class.getName());
|
||||
String[] clazzes = list.toArray(new String[] {});
|
||||
context.registerService(
|
||||
clazzes
|
||||
, mbean
|
||||
, props);*/
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
tracker.close();
|
||||
}
|
||||
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.util;
|
||||
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.FrameworkUtil;
|
||||
import org.osgi.framework.InvalidSyntaxException;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.api.Adapter;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class AdapterUtil {
|
||||
private static final Logger log = LoggerFactory.getLogger(AdapterUtil.class);
|
||||
public static Adapter getAdapter(String adapterName) throws InvalidSyntaxException {
|
||||
String filter = "(adapter.name=" + adapterName + ")";
|
||||
log.debug("Get adapter service filtered by: " + filter);
|
||||
BundleContext bundleContext = FrameworkUtil.getBundle(Adapter.class).getBundleContext();
|
||||
Collection<ServiceReference<Adapter>> referenceList = bundleContext.getServiceReferences(Adapter.class, filter);
|
||||
Adapter adapter = bundleContext.getService(referenceList.iterator().next());
|
||||
|
||||
return adapter;
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* adapters-core
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.esb.platform.runtime.base.connecting.adapter.core.util;
|
||||
|
||||
public class ConnectionUsageType { // TODO: 09.07.2021 maybe enum usage instead of class planning
|
||||
public static final String INIT = "init";
|
||||
public static final String REF = "ref";
|
||||
public static final String FROM = "from";
|
||||
public static final String TO = "to";
|
||||
}
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>amqp-adapter</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: AMQP ADAPTER</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: AMQP ADAPTER</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.dynamicimport.pkg>*</bundle.osgi.dynamicimport.pkg>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Entaxy-Adapter>true</Entaxy-Adapter>
|
||||
<Entaxy-Adapter-Class />
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -1,79 +0,0 @@
|
||||
{
|
||||
"adapter": {
|
||||
"id": "amqp.adapter.1",
|
||||
"name": "amqpAdapter",
|
||||
"description": "Messaging with AMQP protocol using Apache QPid Client.",
|
||||
"fields": [
|
||||
{
|
||||
"name": "destinationType",
|
||||
"type": "String",
|
||||
"default": "queue",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
{
|
||||
"name": "destinationName",
|
||||
"type": "String",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "clientId",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "acknowledgementModeName",
|
||||
"default": "AUTO_ACKNOWLEDGE",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exchangePattern",
|
||||
"type": "ExchangePattern",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"property": true,
|
||||
"option": true
|
||||
}
|
||||
],
|
||||
"generators":[
|
||||
{
|
||||
"type": "pathParameter",
|
||||
"generator": "",
|
||||
"config": {
|
||||
"expression": "${destinationType}:${destinationName}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "init",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "ref",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "from",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "to",
|
||||
"generator": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<from uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,86 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign factoryProperties = ["url", "username", "password"]]
|
||||
[#function exceptFactoryProperties(propertyName)]
|
||||
[#return !factoryProperties?seq_contains(propertyName)]
|
||||
[/#function]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
|
||||
xsi:schemaLocation="
|
||||
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
|
||||
>
|
||||
|
||||
<cm:property-placeholder persistent-id="[=connection.configurationPid]"
|
||||
update-strategy="reload">
|
||||
[#if connection.properties??]
|
||||
<cm:default-properties>
|
||||
[#list connection.properties as key, value]
|
||||
<cm:property name="[=connection.configurationPid].[=key]" value="[=value]"/>
|
||||
[/#list]
|
||||
</cm:default-properties>
|
||||
[/#if]
|
||||
</cm:property-placeholder>
|
||||
|
||||
<service interface="org.apache.camel.Component" ref="[=connection.name]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=connection.name]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
|
||||
<bean id="[=connection.name]" class="org.apache.camel.component.amqp.AMQPComponent">
|
||||
[#-- //TODO change template for property reference usage instead of text value --]
|
||||
<property name="connectionFactory" ref="connectionFactory"/>
|
||||
[#if connection.properties??]
|
||||
[#list connection.properties?keys?filter(exceptFactoryProperties) as key]
|
||||
<property name="[=key]" value="[='$']{[=connection.configurationPid].[=key]}"/>
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
<bean id="connectionFactory" class="org.apache.qpid.jms.JmsConnectionFactory">
|
||||
<argument index="0" value="[='$']{[=connection.configurationPid].username}"/>
|
||||
<argument index="1" value="[='$']{[=connection.configurationPid].password}"/>
|
||||
<argument index="2" value="[='$']{[=connection.configurationPid].url}"/>
|
||||
</bean>
|
||||
|
||||
</blueprint>
|
@ -1,48 +0,0 @@
|
||||
[#ftl]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign queryParameters]
|
||||
[#if connection.options??]
|
||||
[@compress single_line=true]
|
||||
?[#list connection.options as key, value][=key]=[=value][#sep]&[/#list]
|
||||
[/@compress]
|
||||
[/#if]
|
||||
[/#assign]
|
||||
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<reference id="[=connection.name]" interface="org.apache.camel.Component"
|
||||
filter="(connection.name=[=connection.name])"/>
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<to uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>artemis-adapter</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: ARTEMIS ADAPTER</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: ARTEMIS ADAPTER</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.dynamicimport.pkg>*</bundle.osgi.dynamicimport.pkg>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Entaxy-Adapter>true</Entaxy-Adapter>
|
||||
<Entaxy-Adapter-Class />
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -1,694 +0,0 @@
|
||||
{
|
||||
"adapter": {
|
||||
"id": "artemis.adapter.1",
|
||||
"name": "artemisAdapter",
|
||||
"description": "Artemis adapter to interact with queues and topics.",
|
||||
"fields": [
|
||||
{
|
||||
"name": "destinationType",
|
||||
"type": "String",
|
||||
"default": "queue",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
{
|
||||
"name": "destinationName",
|
||||
"type": "String",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "clientId",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "connectionFactory",
|
||||
"type": "ConnectionFactory",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "disableReplyTo",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "durableSubscriptionName",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "jmsMessageType",
|
||||
"type": "JmsMessageType",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyTo",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "testConnectionOnStartup",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "acknowledgementModeName",
|
||||
"default": "AUTO_ACKNOWLEDGE",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "artemisConsumerPriority",
|
||||
"type": "int",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "asyncConsumer",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "autoStartup",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "cacheLevel",
|
||||
"type": "int",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "cacheLevelName",
|
||||
"default": "CACHE_AUTO",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "concurrentConsumers",
|
||||
"type": "int",
|
||||
"default": "1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "maxConcurrentConsumers",
|
||||
"type": "int",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToDeliveryPersistent",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "selector",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "subscriptionDurable",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "subscriptionName",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "subscriptionShared",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "acceptMessagesWhileStopping",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "allowReplyManagerQuickStop",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "consumerType",
|
||||
"type": "ConsumerType",
|
||||
"default": "Default",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "defaultTaskExecutorType",
|
||||
"type": "DefaultTaskExecutorType",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "eagerLoadingOfProperties",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "eagerPoisonBody",
|
||||
"default": "Poison JMS message due to ${exception.message}",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exceptionHandler",
|
||||
"type": "ExceptionHandler",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exchangePattern",
|
||||
"type": "ExchangePattern",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exposeListenerSession",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToSameDestinationAllowed",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "taskExecutor",
|
||||
"type": "TaskExecutor",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "deliveryDelay",
|
||||
"type": "long",
|
||||
"default": "-1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "deliveryMode",
|
||||
"type": "Integer",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "deliveryPersistent",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "explicitQosEnabled",
|
||||
"type": "Boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "formatDateHeadersToIso8601",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "lazyStartProducer",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "preserveMessageQos",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "priority",
|
||||
"type": "int",
|
||||
"default": "4",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToConcurrentConsumers",
|
||||
"type": "int",
|
||||
"default": "1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToMaxConcurrentConsumers",
|
||||
"type": "int",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToOnTimeoutMaxConcurrentConsumers",
|
||||
"type": "int",
|
||||
"default": "1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToOverride",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToType",
|
||||
"type": "ReplyToType",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "requestTimeout",
|
||||
"type": "long",
|
||||
"default": "20000",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "timeToLive",
|
||||
"type": "long",
|
||||
"default": "-1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "allowAdditionalHeaders",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "allowNullBody",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "alwaysCopyMessage",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "correlationProperty",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "disableTimeToLive",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "forceSendOriginalMessage",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "includeSentJMSMessageID",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToCacheLevelName",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "replyToDestinationSelectorName",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "streamMessageTypeEnabled",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "allowAutoWiredConnectionFactory",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "allowAutoWiredDestinationResolver",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "allowSerializedHeaders",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "artemisStreamingEnabled",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "asyncStartListener",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "asyncStopListener",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "autowiredEnabled",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "configuration",
|
||||
"type": "JmsConfiguration",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "destinationResolver",
|
||||
"type": "DestinationResolver",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "errorHandler",
|
||||
"type": "ErrorHandler",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exceptionListener",
|
||||
"type": "ExceptionListener",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "headerFilterStrategy",
|
||||
"type": "HeaderFilterStrategy",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "idleConsumerLimit",
|
||||
"type": "int",
|
||||
"default": "1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "idleTaskExecutionLimit",
|
||||
"type": "int",
|
||||
"default": "1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "includeAllJMSXProperties",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "jmsKeyFormatStrategy",
|
||||
"type": "JmsKeyFormatStrategy",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "mapJmsMessage",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "maxMessagesPerTask",
|
||||
"type": "int",
|
||||
"default": "-1",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "messageConverter",
|
||||
"type": "MessageConverter",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "messageCreatedStrategy",
|
||||
"type": "MessageCreatedStrategy",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "messageIdEnabled",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "messageListenerContainerFactory",
|
||||
"type": "MessageListenerContainerFactory",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "messageTimestampEnabled",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "pubSubNoLocal",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "queueBrowseStrategy",
|
||||
"type": "QueueBrowseStrategy",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "receiveTimeout",
|
||||
"type": "long",
|
||||
"default": "1000",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "recoveryInterval",
|
||||
"type": "long",
|
||||
"default": "5000",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "requestTimeoutCheckerInterval",
|
||||
"type": "long",
|
||||
"default": "1000",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "synchronous",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transferException",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transferExchange",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "useMessageIDAsCorrelationID",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "waitForProvisionCorrelationToBeUpdatedCounter",
|
||||
"type": "int",
|
||||
"default": "50",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "waitForProvisionCorrelationToBeUpdatedThreadSleepingTime",
|
||||
"type": "long",
|
||||
"default": "100",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "errorHandlerLoggingLevel",
|
||||
"type": "LoggingLevel",
|
||||
"default": "WARN",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "errorHandlerLogStackTrace",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transacted",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transactedInOut",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "lazyCreateTransactionManager",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transactionManager",
|
||||
"type": "PlatformTransactionManager",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transactionName",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transactionTimeout",
|
||||
"type": "int",
|
||||
"default": "-1",
|
||||
"property": true,
|
||||
"option": true
|
||||
}
|
||||
],
|
||||
"generators":[
|
||||
{
|
||||
"type": "pathParameter",
|
||||
"generator": "",
|
||||
"config": {
|
||||
"expression": "${destinationType}:${destinationName}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "init",
|
||||
"generator": "",
|
||||
"config": {
|
||||
"param1": "value1",
|
||||
"param2": 10,
|
||||
"param3": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ref",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "from",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "to",
|
||||
"generator": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<from uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,94 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign factoryProperties = ["url", "username", "password", "maxConnections", "maxSessionsPerConnection"]]
|
||||
[#function exceptFactoryProperties(propertyName)]
|
||||
[#return !factoryProperties?seq_contains(propertyName)]
|
||||
[/#function]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
|
||||
xsi:schemaLocation="
|
||||
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
|
||||
>
|
||||
|
||||
<cm:property-placeholder persistent-id="[=connection.configurationPid]"
|
||||
update-strategy="reload">
|
||||
[#if connection.properties??]
|
||||
<cm:default-properties>
|
||||
[#list connection.properties as key, value]
|
||||
<cm:property name="[=connection.configurationPid].[=key]" value="[=value]"/>
|
||||
[/#list]
|
||||
</cm:default-properties>
|
||||
[/#if]
|
||||
</cm:property-placeholder>
|
||||
|
||||
<service interface="org.apache.camel.Component" ref="[=connection.name]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=connection.name]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
|
||||
<bean id="[=connection.name]" class="org.apache.camel.component.jms.JmsComponent">
|
||||
[#-- //TODO change template for property reference usage instead of text value --]
|
||||
<property name="connectionFactory" ref="pooledConnectionFactory"/>
|
||||
[#if connection.properties??]
|
||||
[#list connection.properties?keys?filter(exceptFactoryProperties) as key]
|
||||
<property name="[=key]" value="[='$']{[=connection.configurationPid].[=key]}"/>
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
<bean id="pooledConnectionFactory" class="org.messaginghub.pooled.jms.JmsPoolConnectionFactory"
|
||||
init-method="start" destroy-method="stop">
|
||||
<property name="maxConnections" value="[='$']{[=connection.configurationPid].maxConnections}"/>
|
||||
<property name="maxSessionsPerConnection"
|
||||
value="[='$']{[=connection.configurationPid].maxSessionsPerConnection}"/>
|
||||
<property name="connectionFactory" ref="artemisConnectionFactory"/>
|
||||
</bean>
|
||||
|
||||
<bean id="artemisConnectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory">
|
||||
<argument index="0" value="[='$']{[=connection.configurationPid].url}"/>
|
||||
<argument index="1" value="[='$']{[=connection.configurationPid].username}"/>
|
||||
<argument index="2" value="[='$']{[=connection.configurationPid].password}"/>
|
||||
</bean>
|
||||
|
||||
</blueprint>
|
@ -1,47 +0,0 @@
|
||||
[#ftl]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign queryParameters]
|
||||
[#if connection.options??]
|
||||
[@compress single_line=true]
|
||||
?[#list connection.options as key, value][=key]=[=value][#sep]&[/#list]
|
||||
[/@compress]
|
||||
[/#if]
|
||||
[/#assign]
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<reference id="[=connection.name]" interface="org.apache.camel.Component"
|
||||
filter="(connection.name=[=connection.name])"/>
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<to uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>artemis-amqp-adapter</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: ARTEMIS AMQP ADAPTER</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: ARTEMIS AMQP ADAPTER</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.dynamicimport.pkg>*</bundle.osgi.dynamicimport.pkg>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Entaxy-Adapter>true</Entaxy-Adapter>
|
||||
<Entaxy-Adapter-Class />
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@ -1,79 +0,0 @@
|
||||
{
|
||||
"adapter": {
|
||||
"id": "artemis.amqp.adapter.1",
|
||||
"name": "artemisAmqpAdapter",
|
||||
"description": "Messaging with AMQP protocol using Apache QPid Client.",
|
||||
"fields": [
|
||||
{
|
||||
"name": "destinationType",
|
||||
"type": "String",
|
||||
"default": "queue",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
{
|
||||
"name": "destinationName",
|
||||
"type": "String",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "clientId",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "acknowledgementModeName",
|
||||
"default": "AUTO_ACKNOWLEDGE",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exchangePattern",
|
||||
"type": "ExchangePattern",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "password",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "url",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "username",
|
||||
"property": true,
|
||||
"option": true
|
||||
}
|
||||
],
|
||||
"generators":[
|
||||
{
|
||||
"type": "pathParameter",
|
||||
"generator": "",
|
||||
"config": {
|
||||
"expression": "${destinationType}:${destinationName}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "init",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "ref",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "from",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "to",
|
||||
"generator": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<from uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,86 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign factoryProperties = ["url", "username", "password"]]
|
||||
[#function exceptFactoryProperties(propertyName)]
|
||||
[#return !factoryProperties?seq_contains(propertyName)]
|
||||
[/#function]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
|
||||
xsi:schemaLocation="
|
||||
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
|
||||
>
|
||||
|
||||
<cm:property-placeholder persistent-id="[=connection.configurationPid]"
|
||||
update-strategy="reload">
|
||||
[#if connection.properties??]
|
||||
<cm:default-properties>
|
||||
[#list connection.properties as key, value]
|
||||
<cm:property name="[=connection.configurationPid].[=key]" value="[=value]"/>
|
||||
[/#list]
|
||||
</cm:default-properties>
|
||||
[/#if]
|
||||
</cm:property-placeholder>
|
||||
|
||||
<service interface="org.apache.camel.Component" ref="[=connection.name]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=connection.name]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
|
||||
<bean id="[=connection.name]" class="org.apache.camel.component.amqp.AMQPComponent">
|
||||
[#-- //TODO change template for property reference usage instead of text value --]
|
||||
<property name="connectionFactory" ref="connectionFactory"/>
|
||||
[#if connection.properties??]
|
||||
[#list connection.properties?keys?filter(exceptFactoryProperties) as key]
|
||||
<property name="[=key]" value="[='$']{[=connection.configurationPid].[=key]}"/>
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
<bean id="connectionFactory" class="org.apache.qpid.jms.JmsConnectionFactory">
|
||||
<argument index="0" value="[='$']{[=connection.configurationPid].username}"/>
|
||||
<argument index="1" value="[='$']{[=connection.configurationPid].password}"/>
|
||||
<argument index="2" value="[='$']{[=connection.configurationPid].url}"/>
|
||||
</bean>
|
||||
|
||||
</blueprint>
|
@ -1,48 +0,0 @@
|
||||
[#ftl]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign queryParameters]
|
||||
[#if connection.options??]
|
||||
[@compress single_line=true]
|
||||
?[#list connection.options as key, value][=key]=[=value][#sep]&[/#list]
|
||||
[/@compress]
|
||||
[/#if]
|
||||
[/#assign]
|
||||
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<reference id="[=connection.name]" interface="org.apache.camel.Component"
|
||||
filter="(connection.name=[=connection.name])"/>
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
artemis-amqp-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<to uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,61 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>file-adapter</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: FILE ADAPTER</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: FILE ADAPTER</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.dynamicimport.pkg>*</bundle.osgi.dynamicimport.pkg>
|
||||
<bundle.osgi.export.pkg>ru.entaxy.platform.adapter.file</bundle.osgi.export.pkg>
|
||||
<bundle.osgi.private.pkg>template,
|
||||
ru.entaxy.adapter</bundle.osgi.private.pkg>
|
||||
<!-- <bundle.osgi.private.pkg>ru.entaxy.adapter</bundle.osgi.private.pkg>-->
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<!-- Entaxy-Adapter>true</Entaxy-Adapter>
|
||||
<Entaxy-Adapter-Class / -->
|
||||
<Entaxy-Factory-Provider>true</Entaxy-Factory-Provider>
|
||||
<Entaxy-Template-Provider>true</Entaxy-Template-Provider>
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.camel</groupId>
|
||||
<artifactId>camel-file</artifactId>
|
||||
<version>${camel.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.camel</groupId>
|
||||
<artifactId>camel-util</artifactId>
|
||||
<version>${camel.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
||||
<artifactId>base-support</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -1,75 +0,0 @@
|
||||
/*-
|
||||
* ~~~~~~licensing~~~~~~
|
||||
* file-adapter
|
||||
* ==========
|
||||
* Copyright (C) 2020 - 2023 EmDev LLC
|
||||
* ==========
|
||||
* You may not use this file except in accordance with the License Terms of the Copyright
|
||||
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
* rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
* it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
* Software for commercial purposes to provide services to third parties.
|
||||
*
|
||||
* The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
* Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
* Software provided by him will be suitable or not suitable for the specific purposes
|
||||
* of the User, that the Software will meet all commercial and personal subjective
|
||||
* expectations of the User, that the Software will work properly, without technical
|
||||
* errors, quickly and uninterruptedly.
|
||||
*
|
||||
* Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
* to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
* damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
* or damage to data, property, etc.
|
||||
* ~~~~~~/licensing~~~~~~
|
||||
*/
|
||||
package ru.entaxy.platform.adapter.file;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.camel.component.file.FileComponent;
|
||||
import org.apache.camel.component.file.GenericFileEndpoint;
|
||||
import org.apache.camel.util.StringHelper;
|
||||
|
||||
import ru.entaxy.platform.base.support.CommonUtils;
|
||||
|
||||
public class ExtendedFileComponent extends FileComponent {
|
||||
|
||||
protected String rootDirectory = "";
|
||||
|
||||
@Override
|
||||
protected GenericFileEndpoint<File> buildFileEndpoint(String uri, String remaining, Map<String, Object> parameters)
|
||||
throws Exception {
|
||||
|
||||
// copied from parent
|
||||
if (StringHelper.hasStartToken(remaining, "simple")) {
|
||||
throw new IllegalArgumentException("Invalid directory: " + remaining + ". Dynamic expressions with ${ } placeholders is not allowed."
|
||||
+ " Use the fileName option to set the dynamic expression.");
|
||||
}
|
||||
|
||||
String current = remaining;
|
||||
if (CommonUtils.isValid(rootDirectory)) {
|
||||
current = rootDirectory;
|
||||
if (CommonUtils.isValid(remaining) && !".".equals(remaining)) {
|
||||
if (!current.endsWith("/"))
|
||||
current += "/";
|
||||
if (remaining.startsWith("/"))
|
||||
current += remaining.substring(1);
|
||||
else
|
||||
current += remaining;
|
||||
}
|
||||
}
|
||||
log.debug("CREATING ENDPOINT FOR [{}]", current);
|
||||
return super.buildFileEndpoint(uri, current, parameters);
|
||||
}
|
||||
|
||||
public String getRootDirectory() {
|
||||
return rootDirectory;
|
||||
}
|
||||
|
||||
public void setRootDirectory(String rootDirectory) {
|
||||
this.rootDirectory = rootDirectory;
|
||||
}
|
||||
|
||||
}
|
@ -1,540 +0,0 @@
|
||||
{
|
||||
"adapter": {
|
||||
"id": "file.adapter.1",
|
||||
"name": "fileAdapter",
|
||||
"description": "File adapter to interact with FS.",
|
||||
"fields": [
|
||||
{
|
||||
"name": "directoryName",
|
||||
"type": "File",
|
||||
"default": "./default-directory/",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "bridgeErrorHandler",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "lazyStartProducer",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "autowiredEnabled",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true,
|
||||
"option": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "charset",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "doneFileName",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "fileName",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "delete",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "moveFailed",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "noop",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "preMove",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "preSort",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "recursive",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "sendEmptyMessageWhenIdle",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "directoryMustExist",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exceptionHandler",
|
||||
"type": "ExceptionHandler",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exchangePattern",
|
||||
"type": "ExchangePattern",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "extendedAttributes",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "inProgressRepository",
|
||||
"type": "IdempotentRepository",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "IdempotentRepository",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "onCompletionExceptionHandler",
|
||||
"type": "ExceptionHandler",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "pollStrategy",
|
||||
"type": "PollingConsumerPollStrategy",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "probeContentType",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "processStrategy",
|
||||
"type": "GenericFileProcessStrategy",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "startingDirectoryMustExist",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "startingDirectoryMustHaveAccess",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "appendChars",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "fileExist",
|
||||
"type": "GenericFileExist",
|
||||
"default": "Override",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "flatten",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "jailStartingDirectory",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "moveExisting",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "tempFileName",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "tempPrefix",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "allowNullBody",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "chmod",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "chmodDirectory",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "eagerDeleteTargetFile",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "forceWrites",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "keepLastModified",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "moveExistingFileStrategy",
|
||||
"type": "FileMoveExistingStrategy",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "autoCreate",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "bufferSize",
|
||||
"type": "int",
|
||||
"default": "131072",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "copyAndDeleteOnRenameFail",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "renameUsingCopy",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "synchronous",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "antExclude",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "antFilterCaseSensitive",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "antInclude",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "eagerMaxMessagesPerPoll",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exclude",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "excludeExt",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "filter",
|
||||
"type": "GenericFileFilter",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "filterDirectory",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "filterFile",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "idempotent",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "idempotentKey",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "idempotentRepository",
|
||||
"type": "IdempotentRepository",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "include",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "includeExt",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "maxDepth",
|
||||
"type": "int",
|
||||
"default": "2147483647",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "maxMessagesPerPoll",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "minDepth",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "move",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "exclusiveReadLockStrategy",
|
||||
"type": "GenericFileExclusiveReadLockStrategy",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLock",
|
||||
"default": "none",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockCheckInterval",
|
||||
"type": "long",
|
||||
"default": "1000",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockDeleteOrphanLockFiles",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockIdempotentReleaseAsync",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockIdempotentReleaseAsyncPoolSize",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockIdempotentReleaseDelay",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockIdempotentReleaseExecutorService",
|
||||
"type": "ScheduledExecutorService",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockLoggingLevel",
|
||||
"type": "LoggingLevel",
|
||||
"default": "DEBUG",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockMarkerFile",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockMinAge",
|
||||
"type": "long",
|
||||
"default": "0",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockMinLength",
|
||||
"type": "long",
|
||||
"default": "1",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockRemoveOnCommit",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockRemoveOnRollback",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readLockTimeout",
|
||||
"type": "long",
|
||||
"default": "10000",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "backoffErrorThreshold",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "backoffIdleThreshold",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "backoffMultiplier",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "delay",
|
||||
"type": "long",
|
||||
"default": "500",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "greedy",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "initialDelay",
|
||||
"type": "long",
|
||||
"default": "1000",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "repeatCount",
|
||||
"type": "long",
|
||||
"default": "0",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "runLoggingLevel",
|
||||
"type": "LoggingLevel",
|
||||
"default": "TRACE",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "scheduledExecutorService",
|
||||
"type": "ScheduledExecutorService",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "scheduler",
|
||||
"type": "Object",
|
||||
"default": "none",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "schedulerProperties",
|
||||
"type": "Map",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "startScheduler",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "timeUnit",
|
||||
"type": "TimeUnit",
|
||||
"default": "MILLISECONDS",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "useFixedDelay",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "shuffle",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "sortBy",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "sorter",
|
||||
"type": "Comparator",
|
||||
"option": true
|
||||
}
|
||||
],
|
||||
"generators":[
|
||||
{
|
||||
"type": "pathParameter",
|
||||
"generator": "",
|
||||
"config": {
|
||||
"expression": "${directoryName}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "init",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "ref",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "from",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "to",
|
||||
"generator": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,55 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint"}]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
|
||||
xsi:schemaLocation="
|
||||
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
|
||||
>
|
||||
|
||||
<service interface="org.apache.camel.Component" ref="[=objectId]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=objectId]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
|
||||
[#if properties??]
|
||||
[#if properties.ext_createResourceProvider??]
|
||||
[#if properties.ext_createResourceProvider]
|
||||
<!-- RESOURCE PROVIDER BEAN -->
|
||||
<bean id="[=objectId].resourceProvider" class="ru.entaxy.esb.resources.provider.FileResourceProvider">
|
||||
<property name="protocol" value="[=objectId]" />
|
||||
<property name="rootDirectory" value="[=properties.rootDirectory]" />
|
||||
[#if properties.ext_ignoreFolders??]
|
||||
<property name="ignoreFolders" value="[=properties.ext_ignoreFolders]" />
|
||||
[/#if]
|
||||
[#if properties.ext_ignoreResources??]
|
||||
<property name="ignoreResources" value="[=properties.ext_ignoreResources]" />
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
<service interface="ru.entaxy.esb.resources.EntaxyResourceProvider" ref="[=objectId].resourceProvider">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=objectId]"/>
|
||||
<entry key="protocol" value="[=objectId]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
[/#if]
|
||||
[/#if]
|
||||
[/#if]
|
||||
|
||||
<bean id="[=objectId]" class="ru.entaxy.platform.adapter.file.ExtendedFileComponent">
|
||||
[#if properties??]
|
||||
[#list properties as key, value]
|
||||
[#if !key?starts_with("##") && !key?starts_with("__") && !key?starts_with("ext_")] [#-- we skip additional properties --]
|
||||
[#if key?starts_with("file_")] [#-- we add parent component properties --]
|
||||
<property name="[=key[5..]]" value="[=value]"/>
|
||||
[#else]
|
||||
<property name="[=key]" value="[=value]"/>
|
||||
[/#if]
|
||||
[/#if]
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
</blueprint>
|
@ -1,39 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint.fragment"}]
|
||||
<!-- <service interface="org.apache.camel.Component" ref="[=objectId]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=objectId]"/>
|
||||
</service-properties>
|
||||
</service> -->
|
||||
|
||||
[#if properties??]
|
||||
[#if properties.ext_createResourceProvider??]
|
||||
[#if properties.ext_createResourceProvider]
|
||||
<!-- RESOURCE PROVIDER BEAN -->
|
||||
<bean id="[=objectId].resourceProvider" class="ru.entaxy.esb.resources.provider.FileResourceProvider">
|
||||
<property name="protocol" value="[=objectId]" />
|
||||
<property name="rootDirectory" value="[=properties.rootDirectory]" />
|
||||
</bean>
|
||||
|
||||
<service interface="ru.entaxy.esb.resources.EntaxyResourceProvider" ref="[=objectId].resourceProvider">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=objectId]"/>
|
||||
<entry key="protocol" value="[=objectId]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
[/#if]
|
||||
[/#if]
|
||||
[/#if]
|
||||
|
||||
<bean id="[=objectId]" class="ru.entaxy.platform.adapter.file.ExtendedFileComponent">
|
||||
[#if properties??]
|
||||
[#list properties as key, value]
|
||||
[#if !key?starts_with("##") && !key?starts_with("__") && !key?starts_with("ext_")] [#-- we skip additional properties --]
|
||||
[#if key?starts_with("file_")] [#-- we add parent component properties --]
|
||||
<property name="[=key[5..]]" value="[=value]"/>
|
||||
[#else]
|
||||
<property name="[=key]" value="[=value]"/>
|
||||
[/#if]
|
||||
[/#if]
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
@ -1,3 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint.fragment"}]
|
||||
<reference id="[=objectId]" interface="org.apache.camel.Component"
|
||||
filter="(connection.name=[=objectId])"/>
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
file-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<from uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,74 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
file-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
|
||||
xsi:schemaLocation="
|
||||
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
|
||||
>
|
||||
|
||||
<cm:property-placeholder persistent-id="[=connection.configurationPid]"
|
||||
update-strategy="reload">
|
||||
[#if connection.properties??]
|
||||
<cm:default-properties>
|
||||
[#list connection.properties as key, value]
|
||||
<cm:property name="[=connection.configurationPid].[=key]" value="[=value]"/>
|
||||
[/#list]
|
||||
</cm:default-properties>
|
||||
[/#if]
|
||||
</cm:property-placeholder>
|
||||
|
||||
<service interface="org.apache.camel.Component" ref="[=connection.name]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=connection.name]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
|
||||
<bean id="[=connection.name]" class="ru.entaxy.platform.adapter.file.ExtendedFileComponent">
|
||||
[#if connection.properties??]
|
||||
[#list connection.properties as key, value]
|
||||
<property name="[=key]" value="[='$']{[=connection.configurationPid].[=key]}"/>
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
</blueprint>
|
@ -1,47 +0,0 @@
|
||||
[#ftl]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
file-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign queryParameters]
|
||||
[#if connection.options??]
|
||||
[@compress single_line=true]
|
||||
?[#list connection.options as key, value][=key]=[=value][#sep]&[/#list]
|
||||
[/@compress]
|
||||
[/#if]
|
||||
[/#assign]
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
file-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<reference id="[=connection.name]" interface="org.apache.camel.Component"
|
||||
filter="(connection.name=[=connection.name])"/>
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
file-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<to uri="[=connection.name]:[=connection.pathParameter][=queryParameters]"/>
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,47 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>h2-adapter</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: H2 ADAPTER</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: H2 ADAPTER</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.dynamicimport.pkg>*</bundle.osgi.dynamicimport.pkg>
|
||||
<h2.version>1.4.199</h2.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Entaxy-Adapter>true</Entaxy-Adapter>
|
||||
<Entaxy-Adapter-Class />
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.camel</groupId>
|
||||
<artifactId>camel-jdbc</artifactId>
|
||||
<version>${camel.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@ -1,34 +0,0 @@
|
||||
###
|
||||
# ~~~~~~licensing~~~~~~
|
||||
# h2-adapter
|
||||
# ==========
|
||||
# Copyright (C) 2020 - 2023 EmDev LLC
|
||||
# ==========
|
||||
# You may not use this file except in accordance with the License Terms of the Copyright
|
||||
# Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||
# rights to the Software and any copies are the property of the Copyright Holder. Unless
|
||||
# it is explicitly allowed the Copyright Holder, the User is prohibited from using the
|
||||
# Software for commercial purposes to provide services to third parties.
|
||||
#
|
||||
# The Copyright Holder hereby declares that the Software is provided on an "AS IS".
|
||||
# Under no circumstances does the Copyright Holder guarantee or promise that the
|
||||
# Software provided by him will be suitable or not suitable for the specific purposes
|
||||
# of the User, that the Software will meet all commercial and personal subjective
|
||||
# expectations of the User, that the Software will work properly, without technical
|
||||
# errors, quickly and uninterruptedly.
|
||||
#
|
||||
# Under no circumstances shall the Copyright Holder or its Affiliates is not liable
|
||||
# to the User for any direct or indirect losses of the User, his expenses or actual
|
||||
# damage, including, downtime; loss of bussines; lost profit; lost earnings; loss
|
||||
# or damage to data, property, etc.
|
||||
# ~~~~~~/licensing~~~~~~
|
||||
###
|
||||
dataSourceName=entaxy.esb.storage
|
||||
osgi.jdbc.driver.name=H2 JDBC Driver
|
||||
|
||||
databaseName=${karaf.data}/storage
|
||||
user=sa
|
||||
password=
|
||||
pool=dbcp2
|
||||
xa=true
|
||||
jdbc.pool.maxTotal=50
|
@ -1,134 +0,0 @@
|
||||
{
|
||||
"adapter": {
|
||||
"id": "h2.adapter.${h2.version}",
|
||||
"name": "h2Adapter",
|
||||
"description": "H2 adapter to interact with databases.",
|
||||
"fields": [
|
||||
{
|
||||
"name": "dataSourceName",
|
||||
"type": "String",
|
||||
"default": "dataSource",
|
||||
"property": false,
|
||||
"option": false
|
||||
},
|
||||
|
||||
{
|
||||
"name": "dataSource",
|
||||
"type": "DataSource",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "lazyStartProducer",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "autowiredEnabled",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"property": true
|
||||
},
|
||||
{
|
||||
"name": "connectionStrategy",
|
||||
"type": "ConnectionStrategy",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
|
||||
{
|
||||
"name": "allowNamedParameters",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "outputClass",
|
||||
"property": true,
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "outputType",
|
||||
"type": "JdbcOutputType",
|
||||
"default": "SelectList",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "parameters",
|
||||
"default": "Map",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "readSize",
|
||||
"type": "int",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "resetAutoCommit",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "transacted",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "useGetBytesForBlob",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "useHeadersAsParameters",
|
||||
"type": "boolean",
|
||||
"default": "false",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "useJDBC4ColumnNameAndLabelSemantics",
|
||||
"type": "boolean",
|
||||
"default": "true",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "beanRowMapper",
|
||||
"type": "BeanRowMapper",
|
||||
"option": true
|
||||
},
|
||||
{
|
||||
"name": "prepareStatementStrategy",
|
||||
"type": "JdbcPrepareStatementStrategy",
|
||||
"option": true
|
||||
}
|
||||
],
|
||||
"generators":[
|
||||
{
|
||||
"type": "pathParameter",
|
||||
"generator": "",
|
||||
"config": {
|
||||
"expression": "${dataSourceName}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "init",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "ref",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "from",
|
||||
"generator": ""
|
||||
},
|
||||
{
|
||||
"type": "to",
|
||||
"generator": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -1,79 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint"} /]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
h2-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
|
||||
xsi:schemaLocation="
|
||||
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"
|
||||
>
|
||||
|
||||
<cm:property-placeholder persistent-id="[=connection.configurationPid]"
|
||||
update-strategy="reload">
|
||||
[#if connection.properties??]
|
||||
<cm:default-properties>
|
||||
[#list connection.properties as key, value]
|
||||
<cm:property name="[=connection.configurationPid].[=key]" value="[=value]"/>
|
||||
[/#list]
|
||||
</cm:default-properties>
|
||||
[/#if]
|
||||
</cm:property-placeholder>
|
||||
|
||||
<service interface="org.apache.camel.Component" ref="[=connection.name]">
|
||||
<service-properties>
|
||||
<entry key="connection.name" value="[=connection.name]"/>
|
||||
</service-properties>
|
||||
</service>
|
||||
|
||||
<bean id="[=connection.name]" class="org.apache.camel.component.jdbc.JdbcComponent">
|
||||
[#-- //TODO change template for property reference usage instead of text value --]
|
||||
<property name="dataSource" ref="dataSource"/>
|
||||
[#if connection.properties??]
|
||||
[#list connection.properties as key, value]
|
||||
<property name="[=key]" value="[='$']{[=connection.configurationPid].[=key]}"/>
|
||||
[/#list]
|
||||
[/#if]
|
||||
</bean>
|
||||
|
||||
<reference id="dataSource" interface="javax.sql.DataSource" filter="(osgi.jndi.service.name=[=connection.pathParameter])"
|
||||
availability="mandatory"/>
|
||||
|
||||
</blueprint>
|
@ -1,47 +0,0 @@
|
||||
[#ftl]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
h2-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#assign queryParameters]
|
||||
[#if connection.options??]
|
||||
[@compress single_line=true]
|
||||
?[#list connection.options as key, value][=key]=[=value][#sep]&[/#list]
|
||||
[/@compress]
|
||||
[/#if]
|
||||
[/#assign]
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
h2-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
<reference id="[=connection.name]" interface="org.apache.camel.Component"
|
||||
filter="(connection.name=[=connection.name])"/>
|
@ -1,42 +0,0 @@
|
||||
[#ftl attributes={"generated.type":"blueprint-node"}]
|
||||
[#--
|
||||
|
||||
~~~~~~licensing~~~~~~
|
||||
h2-adapter
|
||||
==========
|
||||
Copyright (C) 2020 - 2023 EmDev LLC
|
||||
==========
|
||||
You may not use this file except in accordance with the License Terms of
|
||||
the Copyright
|
||||
Holder located at: https://entaxy.ru/eula . All copyrights, all
|
||||
intellectual property
|
||||
rights to the Software and any copies are the property of the Copyright
|
||||
Holder. Unless
|
||||
it is explicitly allowed the Copyright Holder, the User is prohibited
|
||||
from using the
|
||||
Software for commercial purposes to provide services to third parties.
|
||||
|
||||
The Copyright Holder hereby declares that the Software is provided on an
|
||||
"AS IS".
|
||||
Under no circumstances does the Copyright Holder guarantee or promise
|
||||
that the
|
||||
Software provided by him will be suitable or not suitable for the
|
||||
specific purposes
|
||||
of the User, that the Software will meet all commercial and personal
|
||||
subjective
|
||||
expectations of the User, that the Software will work properly, without
|
||||
technical
|
||||
errors, quickly and uninterruptedly.
|
||||
|
||||
Under no circumstances shall the Copyright Holder or its Affiliates is
|
||||
not liable
|
||||
to the User for any direct or indirect losses of the User, his expenses
|
||||
or actual
|
||||
damage, including, downtime; loss of bussines; lost profit; lost
|
||||
earnings; loss
|
||||
or damage to data, property, etc.
|
||||
~~~~~~/licensing~~~~~~
|
||||
|
||||
--]
|
||||
[#include 'queryParameters.ftl']
|
||||
<to uri="[=connection.name]:entaxy[=queryParameters]"/>
|
@ -1,175 +0,0 @@
|
||||
ЛИЦЕНЗИЯ ОГРАНИЧЕННОГО ПРИМЕНЕНИЯ
|
||||
|
||||
Настоящий документ устанавливает для Пользователя условия применения Базовой (некоммерческой)
|
||||
версии лицензии для пробного использования программного обеспечения ENTAXY, принадлежащего
|
||||
Правообладателю – Обществу с ограниченной ответственностью "ЕМДЕВ" (ОГРН 1057810026658, ИНН
|
||||
7813313860, юридический адрес: 197022, Россия, г. Санкт-Петербург, ул. Профессора Попова,
|
||||
д. 23, литера В, помещение 3Н), расположенной в сети Интернет по адресу
|
||||
https://www.emdev.ru/about (далее - Компания).
|
||||
|
||||
Используя или получая доступ к Программному обеспечению, или нажав «Я согласен с Условиями»
|
||||
(или аналогичную кнопку или флажок) после загрузки или установки Программного обеспечения,
|
||||
Пользователь выражает свое согласие на обязательность условий и ограничений, изложенных в
|
||||
настоящем документе, в противном случае, он должен не использовать или не получать доступ
|
||||
к Программному обеспечению.
|
||||
|
||||
1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
|
||||
|
||||
a) ПО – Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) в любой ее версии
|
||||
или редакции, исключительные права на которую принадлежат Правообладателю.
|
||||
b) Правообладатель (Компания) – ООО «ЕМДЕВ», ОГРН 1057810026658, ИНН 7813313860, исключительные
|
||||
права которого подтверждаются Свидетельством о государственной регистрации в Реестре программ
|
||||
для ЭВМ № 2021610848 от 19.01.2021 года.
|
||||
c) Пользователь – юридическое или физическое лицо, получившее через скачивание с сайта
|
||||
https://entaxy.ru или иным образом, дистрибутив ПО, пользующееся ПО.
|
||||
d) ИС – интеллектуальная собственность – закреплённое законом исключительное право, а также
|
||||
личные неимущественные права авторов произведений на результат интеллектуальной деятельности.
|
||||
e) Подписка – это коммерческое предложение Правообладателя, состоящее из Лицензии на использование
|
||||
ПО и доступа к технической поддержке программного обеспечения на срок Подписки. Подписка
|
||||
включает предоставление Пользователю неисключительного права использования ПО, в том числе
|
||||
получение обновлений функционала ПО и безопасности ПО, исправление ошибок ПО и получение
|
||||
патчей с обновлениями и исправлениями программного обеспечения. Подписка приобретается
|
||||
Пользователем на период времени, указанный в Сертификате. Количество подписок устанавливается
|
||||
для каждого Пользователя индивидуально в Сертификате.
|
||||
f) Сертификат – документ, выдаваемый Дистрибъютором или Авторизованным партнёром (Партнёром),
|
||||
подтверждающий факт приобретения физическим или юридическим лицом Подписки на программное
|
||||
обеспечение в ограниченном объёме и на определённый период времени.
|
||||
g) Лицензия (простая (неисключительная) – совокупность ограниченных прав использования ПО,
|
||||
предоставленных Пользователю согласно условиям Подписки.
|
||||
h) Библиотека – совокупность подпрограмм и объектов, используемых для разработки программного
|
||||
обеспечения.
|
||||
i) Исходный код – текст компьютерной программы на каком-либо языке программирования, состоящий
|
||||
из одного или нескольких файлов, который может быть прочтён человеком.
|
||||
j) Объектный код – файл (часть машинного кода) с промежуточным представлением отдельного модуля
|
||||
программы, полученный в результате обработки исходного кода, еще не связанный в полную программу.
|
||||
Это машинный код для одной конкретной библиотеки или модуля, который будет составлять готовый
|
||||
продукт.
|
||||
k) Некоммерческое использование – индивидуальное личное использование Пользователем программного
|
||||
обеспечения с целью обучения работе с Программным обеспечением, для оценки или демонстрации
|
||||
возможностей Программного обеспечения, при котором, Пользователем не извлекается коммерческая
|
||||
выгода и/или не идёт в доход денежное вознаграждение при использовании Программного обеспечения.
|
||||
|
||||
2. ДОПУСТИМЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
|
||||
|
||||
2.1. Правообладатель предоставляет Пользователю ограниченное право использования Программного
|
||||
обеспечения на условиях простой (неисключительной) лицензии в объёме, ограниченном правом
|
||||
воспроизведения полной рабочей версии программного обеспечения, новых версий программного обеспечения
|
||||
в памяти оборудования и его запуска на оборудовании в соответствии со ст. 1280 ГК РФ.
|
||||
2.2. Право на использование Программного обеспечения, предоставляемое Пользователю, носит
|
||||
неисключительный характер.
|
||||
2.3. Пользователю предоставляется всемирная, неисключительная, не подлежащая сублицензированию,
|
||||
лицензия на ограниченное использование Программного обеспечения.
|
||||
2.4. Пользователь, имеющий Базовую (некоммерческую) версию лицензии для пробного использования
|
||||
имеет право приобрести Подписку на программное обеспечение. В этом случае Пользователь обязан
|
||||
обратиться в службу поддержки Правообладателя по адресу: https://entaxy.ru/ для изменения
|
||||
вида лицензии с Базовой бесплатной версии на Подписки.
|
||||
2.5. Срок использования скачанной Пользователем базовой (некоммерческой) версии лицензии для
|
||||
пробного использования программного обеспечения – не ограничен.
|
||||
2.6. Использование Пользователем настоящего программного обеспечения в целях разработки,
|
||||
модификации, обновления другого ПО, принадлежащего третьим лицам, а не Правообладателю,
|
||||
без разрешения Правообладателя не допускается.
|
||||
|
||||
3. АВТОРСКОЕ ПРАВО.
|
||||
|
||||
3.1. Все авторские права, все права интеллектуальной собственности на Программное обеспечение
|
||||
и любые его копии принадлежат Правообладателю.
|
||||
3.2. Все авторские права, все права интеллектуальной собственности в отношении любого контента,
|
||||
к которому можно получить доступ с помощью Программного обеспечения, является собственностью
|
||||
соответствующего владельца контента и защищается применимым законодательством об авторском
|
||||
праве или другими законами и договорами об интеллектуальной собственности.
|
||||
3.3. Условия использования Программного обеспечения.
|
||||
Лицензия, предоставленная Пользователю, действительна только в том случае, если Пользователь
|
||||
придерживается следующих условий:
|
||||
3.3.1. Принятие уведомлений об авторских правах. Пользователю запрещается удалять или изменять
|
||||
какие-либо уведомления об авторских правах или лицензиях, которые появляются при использовании
|
||||
Программного обеспечения или на нем.
|
||||
3.3.2. Модификация. Пользователю запрещается модифицировать, изменять, декомпилировать,
|
||||
расшифровывать, дизассемблировать, переводить или реверсировать, перепроектировать
|
||||
Программное обеспечение.
|
||||
3.3.3. Распространение. Пользователю запрещается сублицензировать, передавать право использования
|
||||
ПО или иным образом распространять или предоставлять Программное обеспечение любой третьей стороне.
|
||||
3.3.4. SaaS. За исключением случаев, когда это разрешено Правообладателем, Пользователю запрещено
|
||||
использовать Программное обеспечение в коммерческих целях для оказания услуг третьим лицам.
|
||||
|
||||
4. ОТВЕТСТВЕННОСТЬ ПРАВООБЛАДАТЕЛЯ ПРИ НАРУШЕНИИ ПОЛЬЗОВАТЕЛЕМ ПРАВ «ИС»
|
||||
|
||||
4.1. Правообладатель не несет никаких обязательств в отношении каких-либо претензий к Пользователю
|
||||
на предмет нарушения последним прав Интеллектуальной собственности, возникших в связи с
|
||||
использованием Пользователем:
|
||||
4.1.1. Любых компонентов программного обеспечения с открытым исходным кодом, включенных в
|
||||
Программное обеспечение;
|
||||
4.1.2. Любого нарушения правил использования Программного обеспечения, установленного условиями
|
||||
настоящего соглашения;
|
||||
4.1.3. Любого использования Программного обеспечения в сочетании с другими ПО, оборудованием,
|
||||
или данными, не предоставленными Пользователю Правообладателем;
|
||||
4.1.4. Любого изменения Программного обеспечения любым третьим лицом, а не Правообладателем.
|
||||
|
||||
|
||||
5. НАСТОЯЩИМ ПРАВООБЛАДАТЕЛЬ ЗАЯВЛЯЕТ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ПОЛЬЗОВАТЕЛЮ
|
||||
ПО ПРИНЦИПУ «AS IS» - «КАК ЕСТЬ». НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ НЕ ГАРАНТИРУЕТ
|
||||
И НЕ ОБЕЩАЕТ, ЧТО ПРЕДОСТАВЛЕННОЕ ИМ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ПОДХОДИТЬ ИЛИ НЕ ПОДХОДИТЬ
|
||||
ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ ОТВЕЧАТЬ ВСЕМ КОММЕРЧЕСКИМ
|
||||
И ЛИЧНЫМ СУБЪЕКТИВНЫМ ОЖИДАНИЯМ ПОЛЬЗОВАТЕЛЯ, ЧТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БУДЕТ РАБОТАТЬ
|
||||
ИСПРАВНО, БЕЗ ТЕХНИЧЕСКИХ ОШИБОК, БЫСТРО И БЕСПЕРЕБОЙНО.
|
||||
|
||||
6. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ.
|
||||
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ПРАВООБЛАДАТЕЛЬ ИЛИ ЕГО АФФИЛЛИРОВАННЫЕ ЛИЦА НЕ НЕСУТ ПЕРЕД ПОЛЬЗОВАТЕЛЕМ
|
||||
ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЯМЫЕ ИЛИ КОСВЕННЫЕ УБЫТКИ ПОЛЬЗОВАТЕЛЯ, ЕГО РАСХОДЫ ИЛИ РЕАЛЬНЫЙ УЩЕРБ,
|
||||
ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРОСТОИ; УТРАТУ БИЗНЕСА; УПУЩЕННУЮ ВЫГОДУ; НЕДОПОЛУЧЕННУЮ ПРИБЫЛЬ;
|
||||
ПОТЕРЮ ИЛИ ПОВРЕЖДЕНИЕ ДАННЫХ, ИМУЩЕСТВА И ИНОЕ.
|
||||
ОГРАНИЧЕНИЯ ПРИМЕНЯЮТСЯ НЕЗАВИСИМО ОТ ОСНОВАНИЯ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ; В ТОМ ЧИСЛЕ ВСЛЕДСТВИЕ
|
||||
ДЕЙСТВИЯ ИЛИ БЕЗДЕЙСТВИЯ, НЕБРЕЖНОСТИ, УМЫСЛА, ПРЯМОГО ИЛИ КОСВЕННОГО; НЕОСТОРОЖНОСТИ; ЗАБЛУЖДЕНИЯ;
|
||||
КЛЕВЕТЫ; НАРУШЕНИЯ КОНФИДЕНЦИАЛЬНОСТИ ИЛИ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ; ИЛИ ЛЮБОЕ ДРУГОЕ
|
||||
ОСНОВАНИЕ НАСТУПЛЕНИЯ ОТВЕТСТВЕННОСТИ.
|
||||
|
||||
7. ОБЯЗАННОСТЬ ПОЛЬЗОВАТЕЛЯ:
|
||||
Не осуществлять самостоятельно и (или) с привлечением третьих лиц нижеследующие действия
|
||||
(включая, но не ограничиваясь) по:
|
||||
-дизассемблированию и (или) декомпилированию (преобразованию объектного кода в исходный код)
|
||||
Программного обеспечения;
|
||||
-модификации Программного обеспечения, в том числе вносить изменения в объектный код, исходный
|
||||
код Программного обеспечения, за исключением тех изменений, которые вносятся средствами,
|
||||
включёнными в Программное обеспечение и описанными непосредственно в документации к нему;
|
||||
-созданию условий для использования Программного обеспечения лицами, не имеющими прав на
|
||||
использование данного Программного обеспечения, включая (но не ограничиваясь) вмешательство
|
||||
третьих лиц в функционирование Программного обеспечения, предоставление третьим лицам доступа
|
||||
к исследованию и (или) замене настроек Программного обеспечения, включая его первичную установку;
|
||||
-распространению Программного обеспечения в целом или в части (включая приложенную к нему документацию).
|
||||
|
||||
8. БИБЛИОТЕКА ПО. ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА.
|
||||
|
||||
8.1. Настоящим, Правообладатель заверяет, что Библиотека программного обеспечения состоит из
|
||||
лицензионных продуктов, используемых на законных основаниях, а
|
||||
именно https://entaxy.ru/libs/licenses/root-aggregated.deps.
|
||||
8.2. Любые программные средства, применяемые Пользователем при работе с ПО, должны быть
|
||||
совместимы с библиотекой ПО, указанной в п.8.1. настоящего соглашения.
|
||||
8.3. Перечень внешних модулей ПО, указанный в п.8.1 настоящего соглашения, может изменяться
|
||||
Правообладателем в одностороннем порядке, в зависимости от выпуска релизов программного обеспечения,
|
||||
содержащих все изменения и дополнения программного обеспечения.
|
||||
|
||||
9. ВНЕСЕНИЕ ИЗМЕНЕНИЙ В ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.
|
||||
|
||||
9.1. Программное обеспечение, интеграционная шина «ЭНТАКСИ» (ENTAXY) является свободно распространяемым
|
||||
программным обеспечением.
|
||||
9.2. Пользователь имеет право вносить изменения в исходный код программного обеспечения исключительно
|
||||
с согласия Правообладателя в порядке предложения изменений/правок/дополнений через механизм
|
||||
«Pull Requests» в открытом репозитории Правообладателя по адресу: https://git.entaxy.ru/entaxy/entaxy-public.
|
||||
9.3. Любые изменения программного обеспечения, осуществляемые Пользователем без соблюдения условий
|
||||
пункта 9.2. настоящего документа, являются нарушением авторских и смежных прав Правообладателя,
|
||||
прав интеллектуальной собственности Правообладателя и влекут применение к Пользователю мер
|
||||
ответственности в соответствии с условиями настоящей Лицензии, а также применимого законодательства
|
||||
Российской Федерации.
|
||||
|
||||
10. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ.
|
||||
|
||||
10.1. В случае нарушения Пользователем любого из условий настоящей Лицензии, Правообладатель имеет
|
||||
право взыскать с Пользователя любые причинённые таким нарушением убытки, реальный ущерб,
|
||||
недополученную прибыль, упущенную выгоду, а также в случае нарушения Пользователем условий
|
||||
пункта 9.2 настоящего соглашения, в том числе, взыскать с Пользователя штраф в размере
|
||||
2 000 000 (Два миллиона) рублей за каждый установленный случай несанкционированного изменения
|
||||
исходного или объектного кода Программного обеспечения «Энтакси» (Entaxy).
|
||||
10.2. В рамках исполнения Пользователем обязательств по настоящей Лицензии, применимое
|
||||
законодательство – Российской Федерации.
|
||||
10.3. Если какое-либо положение настоящей Лицензии будет признано судом недействительным,
|
||||
остальные положения будут продолжать своё действие, а Пользователь будет обязан продолжать
|
||||
исполнять свои обязанности в соответствии с этими положениями.
|
@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting</groupId>
|
||||
<artifactId>adapter</artifactId>
|
||||
<version>1.9.0</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ru.entaxy.esb.platform.runtime.base.connecting.adapter</groupId>
|
||||
<artifactId>jms-adapter</artifactId>
|
||||
<packaging>bundle</packaging>
|
||||
|
||||
<name>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: JMS ADAPTER</name>
|
||||
<description>ENTAXY :: PLATFORM :: RUNTIME :: BASE :: CONNECTING :: ADAPTER :: JMS ADAPTER</description>
|
||||
|
||||
|
||||
<properties>
|
||||
<bundle.osgi.dynamicimport.pkg>*</bundle.osgi.dynamicimport.pkg>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-bundle-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<instructions>
|
||||
<Entaxy-Adapter>true</Entaxy-Adapter>
|
||||
<Entaxy-Adapter-Class />
|
||||
</instructions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user