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>
|
<parent>
|
||||||
<artifactId>root</artifactId>
|
<artifactId>root</artifactId>
|
||||||
<groupId>ru.entaxy.esb</groupId>
|
<groupId>ru.entaxy.esb</groupId>
|
||||||
<version>1.9.0</version>
|
<version>1.10.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>runtime</module>
|
<module>runtime</module>
|
||||||
|
<module>integration</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<profiles>
|
<profiles>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
||||||
<artifactId>base</artifactId>
|
<artifactId>base</artifactId>
|
||||||
<version>1.9.0</version>
|
<version>1.10.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
||||||
<artifactId>base-support</artifactId>
|
<artifactId>base-support</artifactId>
|
||||||
@ -17,11 +17,16 @@
|
|||||||
ru.entaxy.platform.base.support.xml,
|
ru.entaxy.platform.base.support.xml,
|
||||||
ru.entaxy.platform.base.support.osgi,
|
ru.entaxy.platform.base.support.osgi,
|
||||||
ru.entaxy.platform.base.support.osgi.bundle,
|
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.service,
|
||||||
ru.entaxy.platform.base.support.osgi.tracker,
|
ru.entaxy.platform.base.support.osgi.tracker,
|
||||||
ru.entaxy.platform.base.support.osgi.tracker.filter,
|
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.export.pkg>
|
||||||
|
<bundle.osgi.private.pkg>
|
||||||
|
org.apache.felix.gogo.runtime.threadio
|
||||||
|
</bundle.osgi.private.pkg>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@ -48,8 +53,29 @@
|
|||||||
<artifactId>commons-codec</artifactId>
|
<artifactId>commons-codec</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.code.gson</groupId>
|
<groupId>ru.entaxy.bundles-repacked</groupId>
|
||||||
<artifactId>gson</artifactId>
|
<artifactId>ru.entaxy.bundles-repacked.com.google.code.gson-2.8.5.entaxy</artifactId>
|
||||||
|
<version>${gson.version}-ENTAXY</version>
|
||||||
</dependency>
|
</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>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* 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.Enumeration;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.ListIterator;
|
import java.util.ListIterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -49,243 +50,256 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class CommonUtils {
|
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 PACKET_TYPE_PARAM_NAME = "packetType";
|
|
||||||
|
|
||||||
public static class Path {
|
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 DEFAULT_SEPARATOR = "/";
|
public static final String NULL_GUID_ = GUID_0;
|
||||||
|
|
||||||
protected String separator = DEFAULT_SEPARATOR;
|
|
||||||
protected List<String> data = new ArrayList<>();
|
|
||||||
|
|
||||||
public static Path create() {
|
|
||||||
return new Path();
|
|
||||||
}
|
|
||||||
|
|
||||||
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 Path() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
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 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 absolute() {
|
|
||||||
return separator + relational();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Iterator<String> fragmentsIterator() {
|
|
||||||
return data.iterator();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ListIterator<String> fragmentsListIterator() {
|
|
||||||
return data.listIterator();
|
|
||||||
}
|
|
||||||
|
|
||||||
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 Iterator<String> iterator() {
|
|
||||||
return pathHierarchy().iterator();
|
|
||||||
}
|
|
||||||
|
|
||||||
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 GUID
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getGUID(){
|
|
||||||
return UUID.randomUUID().toString().toUpperCase();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
public static final String PACKET_TYPE_PARAM_NAME = "packetType";
|
||||||
* Generates GUID consisting of specified char
|
|
||||||
* @param c
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String getGUID(char c) {
|
|
||||||
return uid2guid(StringUtils.leftPad("", 32, c));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Converts GUID to UUID
|
|
||||||
* @param uid
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public static String guid2uid(String guid){
|
|
||||||
return guid.toLowerCase().replace("-", "");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @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 padLeft(String data, int length){
|
|
||||||
return padLeft(data, length, ' ');
|
|
||||||
}
|
|
||||||
public static String padRight(String data, int length){
|
|
||||||
return padRight(data, length, ' ');
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String padBoth(String data, int length){
|
public static class Path {
|
||||||
return padBoth(data, length, ' ');
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String padLeft(String data, int length, Character c){
|
public static final String DEFAULT_SEPARATOR = "/";
|
||||||
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 padBoth(String data, int length, Character c){
|
protected String separator = DEFAULT_SEPARATOR;
|
||||||
String val = data;
|
protected List<String> data = new ArrayList<>();
|
||||||
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 {
|
public static Path create() {
|
||||||
File f = new File(file);
|
return new Path();
|
||||||
FileOutputStream output = new FileOutputStream(f);
|
}
|
||||||
IOUtils.copy(input, output);
|
|
||||||
output.close();
|
public static boolean isAbsolute(String path) {
|
||||||
}
|
return isAbsolute(path, DEFAULT_SEPARATOR);
|
||||||
|
}
|
||||||
public static <K, V> Map<K, V> addDictionaryToMap(Dictionary<K, V> source, Map<K, V> sink) {
|
|
||||||
for (Enumeration<K> keys = source.keys(); keys.hasMoreElements();) {
|
public static boolean isAbsolute(String path, String separator) {
|
||||||
K key = keys.nextElement();
|
if (!isValid(path))
|
||||||
sink.put(key, source.get(key));
|
return false;
|
||||||
}
|
return path.trim().startsWith(separator);
|
||||||
return sink;
|
}
|
||||||
}
|
|
||||||
|
public Path() {
|
||||||
public static <K, V> Map<K, V> getDictionaryAsMap(Dictionary<K, V> source) {
|
super();
|
||||||
Map<K, V> result = new HashMap<>();
|
}
|
||||||
CommonUtils.addDictionaryToMap(source, result);
|
|
||||||
return result;
|
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 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 absolute() {
|
||||||
|
return separator + relational();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Iterator<String> fragmentsIterator() {
|
||||||
|
return data.iterator();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ListIterator<String> fragmentsListIterator() {
|
||||||
|
return data.listIterator();
|
||||||
|
}
|
||||||
|
|
||||||
|
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 Iterator<String> iterator() {
|
||||||
|
return pathHierarchy().iterator();
|
||||||
|
}
|
||||||
|
|
||||||
|
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 GUID
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getGUID() {
|
||||||
|
return UUID.randomUUID().toString().toUpperCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates GUID consisting of specified char
|
||||||
|
*
|
||||||
|
* @param c
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String getGUID(char c) {
|
||||||
|
return uid2guid(StringUtils.leftPad("", 32, c));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts GUID to UUID
|
||||||
|
*
|
||||||
|
* @param uid
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String guid2uid(String guid) {
|
||||||
|
return guid.toLowerCase().replace("-", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @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 padLeft(String data, int length) {
|
||||||
|
return padLeft(data, length, ' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String padRight(String data, int length) {
|
||||||
|
return padRight(data, length, ' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String padBoth(String data, int length) {
|
||||||
|
return padBoth(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 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~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* test-producers
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
@ -25,54 +25,53 @@
|
|||||||
*/
|
*/
|
||||||
package ru.entaxy.platform.base.support;
|
package ru.entaxy.platform.base.support;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class DependencySorter {
|
public class DependencySorter {
|
||||||
|
|
||||||
public static interface DependencyProvider<T> {
|
public static interface DependencyProvider<T> {
|
||||||
List<T> getDependencies(T inspectedObject);
|
List<T> getDependencies(T inspectedObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T> List<T> getSortedList(List<T> origin, DependencyProvider<T> provider) throws Exception {
|
public static <T> List<T> getSortedList(List<T> origin, DependencyProvider<T> provider) throws Exception {
|
||||||
List<T> result = new LinkedList<>();
|
List<T> result = new LinkedList<>();
|
||||||
|
|
||||||
// add independent objects
|
// add independent objects
|
||||||
result.addAll(
|
result.addAll(
|
||||||
origin.stream().filter(obj -> provider.getDependencies(obj).isEmpty())
|
origin.stream().filter(obj -> provider.getDependencies(obj).isEmpty())
|
||||||
.collect(Collectors.toList())
|
.collect(Collectors.toList()));
|
||||||
);
|
|
||||||
|
while (result.size() < origin.size()) {
|
||||||
while (result.size() < origin.size()) {
|
List<T> nextObjects = origin.stream().filter(obj -> !result.contains(obj))
|
||||||
List<T> nextObjects = origin.stream().filter(obj->!result.contains(obj))
|
.filter(obj -> result.containsAll(provider.getDependencies(obj)))
|
||||||
.filter(obj->result.containsAll(provider.getDependencies(obj)))
|
.collect(Collectors.toList());
|
||||||
.collect(Collectors.toList());
|
if (nextObjects.isEmpty())
|
||||||
if (nextObjects.isEmpty())
|
// TODO create more informative exception
|
||||||
// TODO create more informative exception
|
throw new UnsatisfiedDependenciesException(
|
||||||
throw new UnsatisfiedDependenciesException(
|
origin.stream().filter(obj -> !result.contains(obj))
|
||||||
origin.stream().filter(obj->!result.contains(obj))
|
.collect(Collectors.toList()));
|
||||||
.collect(Collectors.toList())
|
result.addAll(nextObjects);
|
||||||
);
|
}
|
||||||
result.addAll(nextObjects);
|
|
||||||
}
|
return result;
|
||||||
|
}
|
||||||
return result;
|
|
||||||
}
|
@SuppressWarnings("serial")
|
||||||
|
public static class UnsatisfiedDependenciesException extends Exception {
|
||||||
|
|
||||||
|
protected List<Object> objects;
|
||||||
|
|
||||||
|
public UnsatisfiedDependenciesException(List<?> list) {
|
||||||
|
super("Contains unsatisfied dependencies");
|
||||||
|
this.objects = new ArrayList(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Object> getObjects() {
|
||||||
|
return objects;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public static class UnsatisfiedDependenciesException extends Exception {
|
|
||||||
|
|
||||||
protected List<Object> objects;
|
|
||||||
|
|
||||||
public UnsatisfiedDependenciesException(List<?> list) {
|
|
||||||
super("Contains unsatisfied dependencies");
|
|
||||||
this.objects.addAll(list);
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Object> getObjects() {
|
|
||||||
return objects;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* 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~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* 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.Bundle;
|
||||||
import org.osgi.framework.wiring.BundleCapability;
|
import org.osgi.framework.wiring.BundleCapability;
|
||||||
|
import org.osgi.framework.wiring.BundleRevision;
|
||||||
import org.osgi.framework.wiring.BundleWiring;
|
import org.osgi.framework.wiring.BundleWiring;
|
||||||
|
|
||||||
public class BundleCapabilityHelper extends CapabilityHelper {
|
public class BundleCapabilityHelper extends CapabilityHelper {
|
||||||
|
|
||||||
protected Bundle bundle;
|
|
||||||
|
|
||||||
public BundleCapabilityHelper(Bundle bundle) {
|
protected Bundle bundle;
|
||||||
super();
|
|
||||||
this.bundle = bundle;
|
protected boolean isLoaded = false;
|
||||||
setMultipleNamespacesSupported(true);
|
|
||||||
load();
|
public BundleCapabilityHelper(Bundle bundle) {
|
||||||
}
|
super();
|
||||||
|
this.bundle = bundle;
|
||||||
@Override
|
setMultipleNamespacesSupported(true);
|
||||||
protected void load() {
|
load();
|
||||||
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
|
}
|
||||||
if (bundleWiring == null)
|
|
||||||
return;
|
@Override
|
||||||
List<BundleCapability> capabilities = bundleWiring.getCapabilities(null);
|
protected void load() {
|
||||||
for (BundleCapability cap: capabilities) {
|
List<BundleCapability> capabilities = null;
|
||||||
CapabilityDescriptorImpl descriptor = new CapabilityDescriptorImpl();
|
BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
|
||||||
descriptor.namespace(cap.getNamespace());
|
if (bundleWiring != null) {
|
||||||
for (Map.Entry<String, Object> attr: cap.getAttributes().entrySet())
|
capabilities = bundleWiring.getCapabilities(null);
|
||||||
descriptor.attribute(attr.getKey(), attr.getValue());
|
} else {
|
||||||
addProvidedCapability(descriptor);
|
BundleRevision bundleRevision = bundle.adapt(BundleRevision.class);
|
||||||
}
|
if (bundleRevision != null) {
|
||||||
}
|
capabilities = bundleRevision.getDeclaredCapabilities(null);
|
||||||
|
}
|
||||||
public CapabilityDescriptor findObjectDeclaration(String objectId, String objectType) {
|
}
|
||||||
if (this.providedCapabilities == null)
|
|
||||||
return null;
|
if (capabilities == null)
|
||||||
if (this.providedCapabilities.get(objectType) == null)
|
return;
|
||||||
return null;
|
|
||||||
for (CapabilityDescriptor desc: this.providedCapabilities.get(objectType))
|
for (BundleCapability cap : capabilities) {
|
||||||
if (objectId.equals(desc.getAttributes().getOrDefault("objectId", "").toString()))
|
CapabilityDescriptorImpl descriptor = new CapabilityDescriptorImpl();
|
||||||
return desc;
|
descriptor.namespace(cap.getNamespace());
|
||||||
return null;
|
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~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* artifact-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
@ -25,42 +25,53 @@
|
|||||||
*/
|
*/
|
||||||
package ru.entaxy.platform.base.support.osgi.bundle;
|
package ru.entaxy.platform.base.support.osgi.bundle;
|
||||||
|
|
||||||
import org.osgi.resource.Capability;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.osgi.resource.Capability;
|
||||||
|
|
||||||
public interface CapabilityDescriptor extends Capability {
|
public interface CapabilityDescriptor extends Capability {
|
||||||
|
|
||||||
public static final String HEADER_PROVIDE_CAPABILITY = "Provide-Capability";
|
public static final String HEADER_PROVIDE_CAPABILITY = "Provide-Capability";
|
||||||
public static final String HEADER_REQUIRE_CAPABILITY = "Require-Capability";
|
public static final String HEADER_REQUIRE_CAPABILITY = "Require-Capability";
|
||||||
|
|
||||||
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 String TYPED_LIST(String itemType) {
|
|
||||||
return LIST + "<" + itemType + ">";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isList(String itemType) {
|
public static interface ATTRIBUTE_TYPES {
|
||||||
return (itemType!=null) && (itemType.startsWith(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 boolean isList(String itemType) {
|
||||||
|
return (itemType != null) && (itemType.startsWith(LIST));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String itemType(String listType) {
|
||||||
|
if (!isList(listType))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
return listType.substring(listType.indexOf("<"), listType.indexOf(">"));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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);
|
||||||
|
|
||||||
public static String itemType(String listType) {
|
|
||||||
if (!isList(listType))
|
|
||||||
return null;
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* artifact-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
@ -25,6 +25,11 @@
|
|||||||
*/
|
*/
|
||||||
package ru.entaxy.platform.base.support.osgi.bundle;
|
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.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -37,130 +42,178 @@ import ru.entaxy.platform.base.support.CommonUtils;
|
|||||||
|
|
||||||
public class CapabilityDescriptorImpl implements CapabilityDescriptor {
|
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<>();
|
|
||||||
|
|
||||||
private static class AttributeDescriptor {
|
|
||||||
String type;
|
|
||||||
Object value;
|
|
||||||
|
|
||||||
public AttributeDescriptor(Object value) {
|
|
||||||
this(value, CapabilityTypeHelper.getTypeName(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public AttributeDescriptor(Object value, String type) {
|
|
||||||
this.type = type;
|
|
||||||
this.value = value==null?"":value; //.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public CapabilityDescriptorImpl() {
|
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
|
||||||
|
|
||||||
public CapabilityDescriptorImpl(String namespace) {
|
protected Map<String, String> directives = new HashMap<>();
|
||||||
this();
|
protected Map<String, AttributeDescriptor> attributes = new HashMap<>();
|
||||||
namespace(namespace);
|
|
||||||
}
|
|
||||||
|
|
||||||
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(";"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getNamespace() {
|
|
||||||
return this.namespace;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
private static class AttributeDescriptor {
|
||||||
public Map<String, String> getDirectives() {
|
|
||||||
return this.directives;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
public static final String MARKER_BASE64 = "@BASE64";
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
private static final CharsetEncoder ENCODER = StandardCharsets.ISO_8859_1.newEncoder();
|
||||||
public Resource getResource() {
|
|
||||||
// not implemented
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
private static final Encoder BASE64_ENCODER = Base64.getEncoder();
|
||||||
public CapabilityDescriptor namespace(String namespace) {
|
|
||||||
this.namespace = namespace;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
private static final Decoder BASE64_DECODER = Base64.getDecoder();
|
||||||
public CapabilityDescriptor attribute(String name, Object value) {
|
|
||||||
this.attributes.put(name, new AttributeDescriptor(value));
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
String type;
|
||||||
public CapabilityDescriptor attribute(String name, Object value, String type) {
|
Object value;
|
||||||
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 AttributeDescriptor(Object value) {
|
||||||
public CapabilityDescriptor attributes(Map<String, Object> attributes) {
|
this(value, CapabilityTypeHelper.getTypeName(value));
|
||||||
if (attributes == null)
|
}
|
||||||
return this;
|
|
||||||
for (Entry<String, Object> entry: attributes.entrySet()) {
|
public AttributeDescriptor(Object value, String type) {
|
||||||
this.attribute(entry.getKey(), entry.getValue());
|
this.type = type;
|
||||||
}
|
this.value = value == null ? "" : value; // .toString();
|
||||||
return this;
|
}
|
||||||
}
|
|
||||||
|
public String getPackedStringValue(String data) {
|
||||||
|
if (ENCODER.canEncode(data))
|
||||||
|
return data;
|
||||||
|
return BASE64_ENCODER.encodeToString(data.getBytes()).concat(MARKER_BASE64);
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getValue() {
|
||||||
|
if (!CapabilityDescriptor.ATTRIBUTE_TYPES.STRING.equals(type))
|
||||||
|
return value;
|
||||||
|
return getUnpackedStringValue(value.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public CapabilityDescriptorImpl() {
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
public CapabilityDescriptorImpl(String namespace) {
|
||||||
|
this();
|
||||||
|
namespace(namespace);
|
||||||
|
}
|
||||||
|
|
||||||
|
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(";"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getNamespace() {
|
||||||
|
return this.namespace;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, String> getDirectives() {
|
||||||
|
return this.directives;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* test-producers
|
* 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
|
* 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
|
* 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.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import ru.entaxy.platform.base.support.CommonUtils;
|
import ru.entaxy.platform.base.support.CommonUtils;
|
||||||
|
|
||||||
public class CapabilityHelper {
|
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<>();
|
|
||||||
|
|
||||||
public CapabilityHelper() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void load() {
|
protected Map<String, CapabilityDescriptorImpl> requiredCapabilities = new HashMap<>();
|
||||||
/* String existing = this.manifest.getCustomAttributes().get(CapabilityDescriptor.HEADER_PROVIDE_CAPABILITY);
|
protected Map<String, List<CapabilityDescriptorImpl>> providedCapabilities = new HashMap<>();
|
||||||
if (CommonUtils.isValid(existing)) {
|
|
||||||
List<CapabilityDescriptorImpl> list = parse(existing);
|
protected Set<String> osgiCapabilities = new HashSet<>();
|
||||||
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()
|
|
||||||
, Collections.singletonList(capabilityDescriptorImpl));
|
|
||||||
else
|
|
||||||
this.providedCapabilities.get(capabilityDescriptorImpl.getNamespace())
|
|
||||||
.add(capabilityDescriptorImpl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
public CapabilityHelper() {
|
||||||
|
super();
|
||||||
protected void addRequiredCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
osgiCapabilities.add("osgi.identity");
|
||||||
if (capabilityDescriptorImpl == null)
|
osgiCapabilities.add("osgi.wiring.bundle");
|
||||||
return;
|
osgiCapabilities.add("osgi.wiring.host");
|
||||||
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 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
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){
|
protected void load() {
|
||||||
if (!this.providedCapabilities.containsKey(namesoace))
|
/*
|
||||||
return new ArrayList<>();
|
* String existing =
|
||||||
return this.providedCapabilities.get(namesoace)
|
* this.manifest.getCustomAttributes().get(CapabilityDescriptor.HEADER_PROVIDE_CAPABILITY);
|
||||||
.stream()
|
* if (CommonUtils.isValid(existing)) { List<CapabilityDescriptorImpl> list =
|
||||||
.map(c -> (CapabilityDescriptor)c)
|
* parse(existing); for (CapabilityDescriptorImpl c: list) addProvidedCapability(c); }
|
||||||
.collect(Collectors.toList());
|
* 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 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 isCapabilityRequired(String namespace) {
|
protected void addProvidedCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
||||||
return this.requiredCapabilities.containsKey(namespace);
|
if (capabilityDescriptorImpl == null)
|
||||||
}
|
return;
|
||||||
|
if (!isMultipleNamespacesSupported) {
|
||||||
public CapabilityDescriptor provideCapability(String namespace) {
|
this.providedCapabilities.put(capabilityDescriptorImpl.getNamespace(),
|
||||||
CapabilityDescriptorImpl desc = new CapabilityDescriptorImpl(namespace);
|
Collections.singletonList(capabilityDescriptorImpl));
|
||||||
addProvidedCapability(desc);
|
} else {
|
||||||
return desc;
|
if (!this.providedCapabilities.containsKey(capabilityDescriptorImpl.getNamespace()))
|
||||||
}
|
this.providedCapabilities.put(capabilityDescriptorImpl.getNamespace(), new ArrayList<>());
|
||||||
|
this.providedCapabilities.get(capabilityDescriptorImpl.getNamespace())
|
||||||
|
.add(capabilityDescriptorImpl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
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 void setMultipleNamespacesSupported(boolean isMultipleNamespacesSupported) {
|
protected void addRequiredCapability(CapabilityDescriptorImpl capabilityDescriptorImpl) {
|
||||||
this.isMultipleNamespacesSupported = isMultipleNamespacesSupported;
|
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 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> 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 boolean isCapabilityProvided(String namespace) {
|
||||||
|
return this.providedCapabilities.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 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 void setMultipleNamespacesSupported(boolean isMultipleNamespacesSupported) {
|
||||||
|
this.isMultipleNamespacesSupported = isMultipleNamespacesSupported;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* test-producers
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* system-commons
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* system-commons
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* system-commons
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* system-commons
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* profile-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* profile-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* profile-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* profile-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* profile-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* profile-management
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* base-support
|
* 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
|
* 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
|
* 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.bind.Unmarshaller;
|
||||||
import javax.xml.parsers.DocumentBuilder;
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
import javax.xml.parsers.DocumentBuilderFactory;
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
import javax.xml.transform.OutputKeys;
|
import javax.xml.transform.OutputKeys;
|
||||||
import javax.xml.transform.Result;
|
import javax.xml.transform.Result;
|
||||||
import javax.xml.transform.Transformer;
|
import javax.xml.transform.Transformer;
|
||||||
|
import javax.xml.transform.TransformerConfigurationException;
|
||||||
import javax.xml.transform.TransformerFactory;
|
import javax.xml.transform.TransformerFactory;
|
||||||
import javax.xml.transform.dom.DOMSource;
|
import javax.xml.transform.dom.DOMSource;
|
||||||
import javax.xml.transform.stream.StreamResult;
|
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.Document;
|
||||||
import org.w3c.dom.Node;
|
import org.w3c.dom.Node;
|
||||||
import org.w3c.dom.NodeList;
|
import org.w3c.dom.NodeList;
|
||||||
@ -56,195 +60,255 @@ import org.xml.sax.InputSource;
|
|||||||
import ru.entaxy.platform.base.support.CommonUtils;
|
import ru.entaxy.platform.base.support.CommonUtils;
|
||||||
|
|
||||||
public class CommonXMLUtils {
|
public class CommonXMLUtils {
|
||||||
|
public static final Logger log = LoggerFactory.getLogger(CommonXMLUtils.class);
|
||||||
// GETTING DOCUMENT
|
private static final String XML_SAX_EXTERNAL_GENERAL_ENTITIES =
|
||||||
|
"http://xml.org/sax/features/external-general-entities";
|
||||||
public static Document getDocument(URL url) throws Exception{
|
private static final String XML_SAX_EXTERNAL_PARAMETER_ENTITIES =
|
||||||
return getDocument(url.openStream());
|
"http://xml.org/sax/features/external-parameter-entities";
|
||||||
}
|
|
||||||
|
// GETTING DOCUMENT
|
||||||
public static Document getDocument(InputStream stream) throws Exception {
|
|
||||||
return getDocument(false, stream);
|
public static Document getDocument(URL url) throws Exception {
|
||||||
}
|
return getDocument(url.openStream());
|
||||||
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, InputStream stream) throws Exception {
|
||||||
}
|
InputSource is = new InputSource(stream);
|
||||||
public static Document getDocument(boolean namespaceAware, String path) throws Exception{
|
return getDocument(namespaceAware, is);
|
||||||
return getDocument(namespaceAware, CommonUtils.isValid(path)?(new File(path)):null);
|
}
|
||||||
}
|
|
||||||
public static Document getDocument(boolean namespaceAware, File file) throws Exception{
|
public static Document newDocument(boolean namespaceAware) throws Exception {
|
||||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
return getDocument(namespaceAware, (File) null);
|
||||||
dbf.setNamespaceAware(namespaceAware);
|
}
|
||||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
|
||||||
if (file!=null)
|
public static Document getDocument(boolean namespaceAware, String path) throws Exception {
|
||||||
return db.parse(file);
|
return getDocument(namespaceAware, CommonUtils.isValid(path) ? (new File(path)) : null);
|
||||||
else
|
}
|
||||||
return db.newDocument();
|
|
||||||
|
public static Document getDocument(boolean namespaceAware, File file) throws Exception {
|
||||||
}
|
DocumentBuilderFactory dbf = newDocumentBuilderFactoryInstance();
|
||||||
public static Document newDocument() throws Exception {
|
|
||||||
return newDocument(false);
|
dbf.setNamespaceAware(namespaceAware);
|
||||||
}
|
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||||
public static Document getDocument(String path) throws Exception{
|
if (file != null)
|
||||||
return getDocument(false, path);
|
return db.parse(file);
|
||||||
}
|
else
|
||||||
public static Document parseString(boolean namespaceAware, String xmlData) throws Exception{
|
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));
|
InputSource is = new InputSource(new StringReader(xmlData));
|
||||||
return getDocument(namespaceAware, is);
|
return getDocument(namespaceAware, is);
|
||||||
}
|
}
|
||||||
public static Document getDocument(InputSource source) throws Exception {
|
|
||||||
return getDocument(false, source);
|
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(boolean namespaceAware, InputSource source) throws Exception {
|
||||||
|
DocumentBuilderFactory factory = newDocumentBuilderFactoryInstance();
|
||||||
|
|
||||||
factory.setNamespaceAware(namespaceAware);
|
factory.setNamespaceAware(namespaceAware);
|
||||||
DocumentBuilder builder = factory.newDocumentBuilder();
|
DocumentBuilder builder = factory.newDocumentBuilder();
|
||||||
Document d = builder.parse( source );
|
Document d = builder.parse(source);
|
||||||
return d;
|
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");
|
|
||||||
|
|
||||||
//create string from xml tree
|
public static DocumentBuilderFactory newDocumentBuilderFactoryInstance() {
|
||||||
StringWriter sw = new StringWriter();
|
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||||
StreamResult result = new StreamResult(sw);
|
|
||||||
DOMSource source = new DOMSource(doc);
|
|
||||||
trans.transform(source, result);
|
|
||||||
String xmlString = sw.toString();
|
|
||||||
|
|
||||||
return xmlString;
|
// Disable external entities declarations
|
||||||
}
|
try {
|
||||||
|
factory.setFeature(XML_SAX_EXTERNAL_GENERAL_ENTITIES, false);
|
||||||
public static String node2string(Node node) throws Exception {
|
factory.setFeature(XML_SAX_EXTERNAL_PARAMETER_ENTITIES, false);
|
||||||
Transformer t = TransformerFactory.newInstance().newTransformer();
|
} catch (ParserConfigurationException e) {
|
||||||
t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
// log.warn(e.getMessage(), e);
|
||||||
StringWriter sw = new StringWriter();
|
log.warn(e.getMessage());
|
||||||
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{
|
return factory;
|
||||||
DOMSource source = new DOMSource(doc);
|
}
|
||||||
Result result = new StreamResult(file);
|
|
||||||
Transformer xformer = TransformerFactory.newInstance().newTransformer();
|
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 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);
|
xformer.transform(source, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARSHAL
|
// MARSHAL
|
||||||
public static void jaxbMarshal(JAXBContext context, JAXBElement<?> object, Node node) throws Exception{
|
public static void jaxbMarshal(JAXBContext context, JAXBElement<?> object, Node node) throws Exception {
|
||||||
Marshaller m = context.createMarshaller();
|
Marshaller m = context.createMarshaller();
|
||||||
jaxbMarshall(m, object, node);
|
jaxbMarshall(m, object, node);
|
||||||
}
|
}
|
||||||
public static void jaxbMarshall(Marshaller m, JAXBElement<?> object, Node node) throws Exception{
|
|
||||||
if (node==null || node.getNodeType()!=Node.ELEMENT_NODE)
|
public static void jaxbMarshall(Marshaller m, JAXBElement<?> object, Node node) throws Exception {
|
||||||
throw new IllegalArgumentException("Node is not Element");
|
if (node == null || node.getNodeType() != Node.ELEMENT_NODE)
|
||||||
m.marshal(object, 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;
|
|
||||||
|
public static String jaxbMarshall(JAXBContext context, JAXBElement<?> object) throws Exception {
|
||||||
Marshaller m = context.createMarshaller();
|
String result = null;
|
||||||
StringWriter sw = new StringWriter();
|
|
||||||
m.marshal(object, sw);
|
Marshaller m = context.createMarshaller();
|
||||||
result = sw.toString();
|
StringWriter sw = new StringWriter();
|
||||||
|
m.marshal(object, sw);
|
||||||
return result;
|
result = sw.toString();
|
||||||
}
|
|
||||||
// UNMARSHAL
|
return result;
|
||||||
/**
|
}
|
||||||
*
|
|
||||||
* @param context
|
// UNMARSHAL
|
||||||
* @param node
|
/**
|
||||||
* @param classMap
|
*
|
||||||
* @return
|
* @param context
|
||||||
* @throws Exception
|
* @param node
|
||||||
*/
|
* @param classMap
|
||||||
|
* @return
|
||||||
public static JAXBElement<?> jaxbUnmarshall(JAXBContext context, Node node, HashMap<String, Class<? extends Object>> classMap) throws Exception{
|
* @throws Exception
|
||||||
Unmarshaller um = context.createUnmarshaller();
|
*/
|
||||||
return jaxbUnmarshall(um, node, classMap);
|
|
||||||
}
|
public static JAXBElement<?> jaxbUnmarshall(JAXBContext context, Node node,
|
||||||
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node, HashMap<String, Class<? extends Object>> classMap) throws Exception{
|
HashMap<String, Class<? extends Object>> classMap) throws Exception {
|
||||||
if (node.getNodeType()!=Node.ELEMENT_NODE)
|
Unmarshaller um = context.createUnmarshaller();
|
||||||
throw new IllegalArgumentException("Node is not Element");
|
return jaxbUnmarshall(um, node, classMap);
|
||||||
String nodeName = node.getNodeName();
|
}
|
||||||
String[] s = nodeName.split(":");
|
|
||||||
nodeName = s[s.length-1];
|
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node,
|
||||||
Class<?> objectClass = classMap.get(nodeName.toLowerCase());
|
HashMap<String, Class<? extends Object>> classMap) throws Exception {
|
||||||
if (objectClass==null)
|
if (node.getNodeType() != Node.ELEMENT_NODE)
|
||||||
throw new IllegalArgumentException("Node name " +nodeName+ " not found in map " + classMap.toString());
|
throw new IllegalArgumentException("Node is not Element");
|
||||||
Object obj = um.unmarshal(node, objectClass);
|
String nodeName = node.getNodeName();
|
||||||
return (JAXBElement<?>)obj;
|
String[] s = nodeName.split(":");
|
||||||
}
|
nodeName = s[s.length - 1];
|
||||||
|
Class<?> objectClass = classMap.get(nodeName.toLowerCase());
|
||||||
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Document doc) throws Exception{
|
if (objectClass == null)
|
||||||
JAXBContext context = JAXBContext.newInstance(
|
throw new IllegalArgumentException("Node name " + nodeName + " not found in map " + classMap.toString());
|
||||||
type.getPackage().getName(), type.getClassLoader());
|
Object obj = um.unmarshal(node, objectClass);
|
||||||
NodeList list = doc.getChildNodes();
|
return (JAXBElement<?>) obj;
|
||||||
Node node = null;
|
}
|
||||||
for (int i=0; i<list.getLength(); i++){
|
|
||||||
if (list.item(i).getNodeType() == Node.ELEMENT_NODE){
|
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Document doc) throws Exception {
|
||||||
node = list.item(i);
|
JAXBContext context = JAXBContext.newInstance(
|
||||||
break;
|
type.getPackage().getName(), type.getClassLoader());
|
||||||
}
|
NodeList list = doc.getChildNodes();
|
||||||
}
|
Node node = null;
|
||||||
if (node == null)
|
for (int i = 0; i < list.getLength(); i++) {
|
||||||
throw new Exception("Root element not found in document");
|
if (list.item(i).getNodeType() == Node.ELEMENT_NODE) {
|
||||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
node = list.item(i);
|
||||||
}
|
break;
|
||||||
public static JAXBElement<?> jaxbUnmarshall(Class<?> type, Node node) throws Exception{
|
}
|
||||||
JAXBContext context = JAXBContext.newInstance(
|
}
|
||||||
type.getPackage().getName(), type.getClassLoader());
|
if (node == null)
|
||||||
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
throw new Exception("Root element not found in document");
|
||||||
}
|
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(Class<?> type, Node node) throws Exception {
|
||||||
public static JAXBElement<?> jaxbUnmarshall(Unmarshaller um, Node node, Class<?> type) throws Exception{
|
JAXBContext context = JAXBContext.newInstance(
|
||||||
Object obj = um.unmarshal(node, type);
|
type.getPackage().getName(), type.getClassLoader());
|
||||||
return (JAXBElement<?>)obj;
|
return jaxbUnmarshall(context.createUnmarshaller(), node, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XSLT
|
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 {
|
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");
|
|
||||||
|
|
||||||
InputStream is = input.openStream();
|
|
||||||
|
|
||||||
Source inputS = new StreamSource(is);
|
Source xsltS = new StreamSource(xslt.openStream());
|
||||||
transformer.transform(inputS, result);
|
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();
|
||||||
|
|
||||||
|
Source inputS = new StreamSource(is);
|
||||||
|
transformer.transform(inputS, result);
|
||||||
|
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// XPath
|
// XPath
|
||||||
|
|
||||||
/* public static XPath createXPath() throws Exception {
|
/* public static XPath createXPath() throws Exception {
|
||||||
XPathFactory factory = XPathFactory.newInstance(NamespaceConstant.OBJECT_MODEL_SAXON,
|
XPathFactory factory = XPathFactory.newInstance(NamespaceConstant.OBJECT_MODEL_SAXON,
|
||||||
"net.sf.saxon.xpath.XPathFactoryImpl", net.sf.saxon.xpath.XPathFactoryImpl.class.getClassLoader());
|
"net.sf.saxon.xpath.XPathFactoryImpl", net.sf.saxon.xpath.XPathFactoryImpl.class.getClassLoader());
|
||||||
XPath xpath = factory.newXPath();
|
XPath xpath = factory.newXPath();
|
||||||
return xpath;
|
return xpath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getStringXPathResult(org.w3c.dom.Node node, String expression) throws Exception {
|
public static String getStringXPathResult(org.w3c.dom.Node node, String expression) throws Exception {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
||||||
<artifactId>base</artifactId>
|
<artifactId>base</artifactId>
|
||||||
<version>1.9.0</version>
|
<version>1.10.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
@ -22,19 +22,6 @@
|
|||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
<plugins>
|
<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>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
@ -53,7 +40,7 @@
|
|||||||
<version>1.12</version>
|
<version>1.12</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>attach-artifacts</id>
|
<id>attach-branding-properties</id>
|
||||||
<phase>package</phase>
|
<phase>package</phase>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>attach-artifact</goal>
|
<goal>attach-artifact</goal>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# ~~~~~~licensing~~~~~~
|
# ~~~~~~licensing~~~~~~
|
||||||
# branding
|
# 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
|
# 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
|
# Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
<groupId>ru.entaxy.esb.platform.runtime</groupId>
|
||||||
<artifactId>base</artifactId>
|
<artifactId>base</artifactId>
|
||||||
<version>1.9.0</version>
|
<version>1.10.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
<groupId>ru.entaxy.esb.platform.runtime.base</groupId>
|
||||||
<artifactId>config-extensions</artifactId>
|
<artifactId>config-extensions</artifactId>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* config-plugin
|
* 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
|
* 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
|
* 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
|
* Configuration plugin providing resolving references from one config to others in a form
|
||||||
* in a form $PID_OF_OTHER_CONFIG{PROPERTY_NAME}
|
* $PID_OF_OTHER_CONFIG{PROPERTY_NAME} e.g.
|
||||||
* e.g. $org.ops4j.pax.url.mvn{org.ops4j.pax.url.mvn.localRepository}
|
* $org.ops4j.pax.url.mvn{org.ops4j.pax.url.mvn.localRepository}
|
||||||
*
|
*
|
||||||
* If pid or property not found no changes are made
|
* If pid or property not found no changes are made
|
||||||
*
|
*
|
||||||
@ -53,59 +53,58 @@ import org.slf4j.LoggerFactory;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Component(service = {ConfigurationPlugin.class}, immediate = true,
|
@Component(service = {ConfigurationPlugin.class}, immediate = true,
|
||||||
property = {
|
property = {
|
||||||
ConfigurationPlugin.CM_RANKING + "=100"
|
ConfigurationPlugin.CM_RANKING + "=100", "config.plugin.id=ConfigLookupConfigurationPlugin"})
|
||||||
, "config.plugin.id=ConfigLookupConfigurationPlugin"})
|
|
||||||
public class ConfigLookupConfigurationPlugin implements ConfigurationPlugin {
|
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;
|
|
||||||
|
|
||||||
@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) {
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
log.error("Error with pid: " + pid, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
properties.put(key, newValue);
|
|
||||||
|
|
||||||
}
|
@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) {
|
||||||
|
|
||||||
|
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();
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
properties.put(key, newValue);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* configuration-test-1
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* configuration-test-1
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* configuration-test-1
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* configuration-test-1
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* configuration-test-1
|
* 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
|
* 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
|
* Holder located at: https://entaxy.ru/eula . All copyrights, all intellectual property
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* ~~~~~~licensing~~~~~~
|
* ~~~~~~licensing~~~~~~
|
||||||
* configuration-test-1
|
* 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
|
* 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
|
* 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