blob: d0709128f8b367c0b50b2b7bcc249ac9309f25e1 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import StringBuilder from './StringBuilder';
/**
* Properties generation entry point.
*/
export default class IgniteReadmeGenerator {
header(sb) {
sb.append('Content of this folder was generated by Apache Ignite Web Console');
sb.append('=================================================================');
}
/**
* Generate README.txt for jdbc folder.
*
* @param sb Resulting output with generated readme.
* @returns {string} Generated content.
*/
generateJDBC(sb = new StringBuilder()) {
sb.append('Proprietary JDBC drivers for databases like Oracle, IBM DB2, Microsoft SQL Server are not available on Maven Central repository.');
sb.append('Drivers should be downloaded manually and copied to this folder.');
return sb.asString();
}
/**
* Generate README.txt.
*
* @returns {string} Generated content.
*/
generate(sb = new StringBuilder()) {
this.header(sb);
sb.emptyLine();
sb.append('Project structure:');
sb.append(' /jdbc-drivers - this folder should contains proprietary JDBC drivers.');
sb.append(' /src - this folder contains generated java code.');
sb.append(' /src/main/java/config - this folder contains generated java classes with cluster configuration from code.');
sb.append(' /src/main/java/startup - this folder contains generated java classes with server and client nodes startup code.');
sb.append(' /src/main/java/[model] - this optional folder will be named as package name for your POJO classes and contain generated POJO files.');
sb.append(' /src/main/resources - this folder contains generated configurations in XML format and secret.properties file with security sensitive information if any.');
sb.append(' Dockerfile - sample Docker file. With this file you could package Ignite deployment with all the dependencies into a standard container.');
sb.append(' pom.xml - generated Maven project description, could be used to open generated project in IDE or build with Maven.');
sb.append(' README.txt - this file.');
sb.emptyLine();
sb.append('Ignite ships with CacheJdbcPojoStore, which is out-of-the-box JDBC implementation of the IgniteCacheStore ');
sb.append('interface, and automatically handles all the write-through and read-through logic.');
sb.emptyLine();
sb.append('You can use generated configuration and POJO classes as part of your application.');
sb.emptyLine();
sb.append('Note, in case of using proprietary JDBC drivers (Oracle, IBM DB2, Microsoft SQL Server)');
sb.append('you should download them manually and copy into ./jdbc-drivers folder.');
return sb.asString();
}
}