1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/LaineyC-blackdream

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

#BlackDream — платформа для создания генераторов файлов

Механическая повторяемость работы подобна чёрному кошмару, одну и ту же проблему не следует решать дважды.

Проект

В интернете существует множество разнообразных генераторов кода, которые отличаются своей функциональностью. Некоторые из них позволяют создавать проекты одним нажатием кнопки. Однако у таких генераторов есть существенный недостаток: они представляют собой готовые решения с фиксированными правилами генерации.

  • Например, генератор A может создавать только код для Struts, Spring и Mybatis, ограничивая выбор технологий для пользователя.
  • Генератор B требует подключения к базе данных для получения данных, что ограничивает гибкость использования данных.
  • А генератор C генерирует код, который должен быть разделён на слои Controller, Service и Dao, ограничивая свободу проектирования программы.

Эти примеры касаются только генерации Java-проектов, но ограничения могут распространяться и на другие языки программирования, такие как C, C++, C#, Python, HTML, JavaScript и т. д.

BlackDream представляет собой платформу для создания и совместного использования генераторов файлов. На начальном этапе она может быть использована внутри компании или для личного пользования, когда объём данных невелик. В этом случае данные хранятся в формате XML без использования базы данных.

Руководство по развёртыванию

Развёртываться должен проект BlackDream, а пример проекта (sample) служит для демонстрации работы с программными интерфейсами и операциями с данными.

После успешного развёртывания системы дополнительную документацию можно найти в навигационной панели системы — «Помощь» — «Руководство пользователя».

  • Серверная часть: требуется Java 8 и Tomcat 8.
  • Файл конфигурации: blackdream.properties.
  • blackdream.username: имя пользователя для системы root.
  • blackdream.password: пароль для системы root и пароль по умолчанию при создании новых пользователей системы.
  • blackdream.datapath: корневой путь для хранения системных данных.

Инструкция по использованию

  • Клиентская часть: поддерживается в браузерах Chrome, Firefox и Opera, рекомендуется использовать Chrome.
  • Роли в системе: root-пользователь, разработчик и пользователь.
  • Root-пользователь: обладает всеми правами, существует только один такой пользователь. Разработчики и пользователи могут быть созданы только через учётную запись root.
  • Разработчик: имеет права на разработку и использование, должен владеть языками программирования JAVA, JS, VTL и EL.
  • Пользователь: имеет только право на использование, вводит данные в соответствии с правилами генератора для создания целевых файлов.

Создание собственного генератора

Выполните вход по адресу http://localhost:8080/login.html или http://localhost:8080/client/login.html (IP-адрес и порт зависят от настроек развёртывания).

Перейдите на главную страницу.

Нажмите «Мой генератор», чтобы перейти к управлению генераторами.

Создайте новый генератор.

Генератор состоит из трёх частей: модели данных, шаблонов и стратегии генерации. Подробные инструкции см. в разделе «Помощь» — «Руководство пользователя».

Создайте новую модель данных, которая определяет структуру данных, необходимых для генерации. Каждый генератор может иметь несколько моделей данных.

Создайте новые шаблоны, используя Velocity.

  
package com.lite.blackdream.po;

#set($typeSet = $classTool.inspect("java.util.LinkedHashSet").getType().newInstance())
#foreach($property in $po.association)
#if($property.propertyType == "Date" && $typeSet.add("java.util.Date"))#end
#end
#foreach($type in $typeSet)
import $type;
#end

/**
 * $!{po.properties.comment}
 * @author ${global.user.userName}
 */
public class ${po.name}Po {

#foreach($property in $po.association)
    /**
     *  $!{property.propertyComment}
     */
    private ${property.propertyType} ${property.propertyName};

#end
    public ${po.name}Po() {

    }

#foreach($property in $po.association)
#set($propertyNameUpperCase = ${property.propertyName.substring(0, 1).toUpperCase().concat($property.propertyName.substring(1))})
    public ${property.propertyType} get${propertyNameUpperCase}() {
        return ${property.propertyName};
    }

    public void set${propertyNameUpperCase}(${property.propertyType} ${property.propertyName}) {
        this.${property.propertyName} = ${property.propertyName};
    }

#end
}
  

Создайте стратегию генерации, которая представляет собой набор тегов и определяет правила генерации файлов и папок. Свойства в тегах используют выражения EL для доступа к переменным.

Создайте экземпляр генератора, каждый генератор может иметь несколько экземпляров, представляющих отдельные наборы данных.

Введите необходимые данные на рабочей станции.

Выберите пользовательскую стратегию генерации из списка инструментов.

После подтверждения данных будет выполнена генерация.

Загрузите файл после завершения генерации для получения целевого кода.

Теперь на главной странице вы увидите заполненные разделы. Кроме того, генератор также можно экспортировать, чтобы удовлетворить некоторые потребности, такие как копирование и резервное копирование. Если есть экспорт, то есть и импорт!

Пример генератора в blackdream/src/site — JavaBean-генератор кода.

**Скачайте JavaBean-генератор кода: ** JavaBean-генератор кода.

Пример проекта

Поскольку данные, необходимые для генератора, могут быть введены только вручную, невозможно реализовать автоматизированные требования, например, импортировать данные через таблицы базы данных.

Пример проекта демонстрирует, как использовать простой miniSDK для управления данными определённого генератора blackdream.

Sample/src/site/Employee.sql — это скрипт SQL, который удобно использовать для создания тестовых таблиц.

sample/src/site/java — данные слоя кода генератора более сложный, чем в руководстве. После успешной установки его можно импортировать. Пример проекта управляет данными с помощью программного интерфейса.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/LaineyC-blackdream.git
git@api.gitlife.ru:oschina-mirror/LaineyC-blackdream.git
oschina-mirror
LaineyC-blackdream
LaineyC-blackdream
master