use of com.alibaba.otter.shared.common.model.config.data.mq.MqMediaSource in project otter by alibaba.
the class DataMediaSourceAction method doAdd.
/**
* 添加Channel
*
* @param channelInfo
* @param channelParameterInfo
* @throws Exception
*/
public void doAdd(@FormGroup("dataMediaSourceInfo") Group dataMediaSourceInfo, @FormField(name = "formDataMediaSourceError", group = "dataMediaSourceInfo") CustomErrors err, Navigator nav) throws Exception {
DataMediaSource dataMediaSource = new DataMediaSource();
dataMediaSourceInfo.setProperties(dataMediaSource);
if (dataMediaSource.getType().isMysql() || dataMediaSource.getType().isOracle()) {
DbMediaSource dbMediaSource = new DbMediaSource();
dataMediaSourceInfo.setProperties(dbMediaSource);
if (dataMediaSource.getType().isMysql()) {
dbMediaSource.setDriver("com.mysql.jdbc.Driver");
} else if (dataMediaSource.getType().isOracle()) {
dbMediaSource.setDriver("oracle.jdbc.driver.OracleDriver");
}
try {
dataMediaSourceService.create(dbMediaSource);
} catch (RepeatConfigureException rce) {
err.setMessage("invalidDataMediaSource");
return;
}
} else if (dataMediaSource.getType().isNapoli() || dataMediaSource.getType().isMq()) {
MqMediaSource mqMediaSource = new MqMediaSource();
dataMediaSourceInfo.setProperties(mqMediaSource);
try {
dataMediaSourceService.create(mqMediaSource);
} catch (RepeatConfigureException rce) {
err.setMessage("invalidDataMediaSource");
return;
}
}
nav.redirectTo(WebConstant.DATA_MEDIA_SOURCE_LIST_LINK);
}
use of com.alibaba.otter.shared.common.model.config.data.mq.MqMediaSource in project otter by alibaba.
the class DataMediaSourceServiceImpl method modelToDo.
/**
* 类型:数据库类型 Mysql和Oracle 用于Model对象转化为DO对象
*
* @param dataMediaSource
* @return DataMediaSourceDO
*/
private DataMediaSourceDO modelToDo(DataMediaSource dataMediaSource) {
DataMediaSourceDO dataMediaSourceDo = new DataMediaSourceDO();
try {
dataMediaSourceDo.setId(dataMediaSource.getId());
dataMediaSourceDo.setName(dataMediaSource.getName());
dataMediaSourceDo.setType(dataMediaSource.getType());
if (dataMediaSource instanceof DbMediaSource) {
dataMediaSourceDo.setProperties(JsonUtils.marshalToString((DbMediaSource) dataMediaSource));
} else if (dataMediaSource instanceof MqMediaSource) {
dataMediaSourceDo.setProperties(JsonUtils.marshalToString((MqMediaSource) dataMediaSource));
}
dataMediaSourceDo.setGmtCreate(dataMediaSource.getGmtCreate());
dataMediaSourceDo.setGmtModified(dataMediaSource.getGmtModified());
} catch (Exception e) {
logger.error("ERROR ## change the dataMediaSource Model to Do has an exception");
throw new ManagerException(e);
}
return dataMediaSourceDo;
}
use of com.alibaba.otter.shared.common.model.config.data.mq.MqMediaSource in project otter by alibaba.
the class DataSourceList method execute.
public void execute(@Param("pageIndex") int pageIndex, @Param("searchKey") String searchKey, Context context) throws Exception {
@SuppressWarnings("unchecked") Map<String, Object> condition = new HashMap<String, Object>();
if ("请输入关键字(目前支持DataSource的ID、名字搜索)".equals(searchKey)) {
searchKey = "";
}
condition.put("searchKey", searchKey);
int count = dataMediaSourceService.getCount(condition);
Paginator paginator = new Paginator();
paginator.setItems(count);
paginator.setPage(pageIndex);
condition.put("offset", paginator.getOffset());
condition.put("length", paginator.getLength());
List<DataMediaSource> dataMediaSources = dataMediaSourceService.listByCondition(condition);
List<SeniorDataMediaSource> seniorDataMediaSources = new ArrayList<SeniorDataMediaSource>();
for (DataMediaSource dataMediaSource : dataMediaSources) {
SeniorDataMediaSource seniorDataMediaSource = new SeniorDataMediaSource();
seniorDataMediaSource.setEncode(dataMediaSource.getEncode());
seniorDataMediaSource.setGmtCreate(dataMediaSource.getGmtCreate());
seniorDataMediaSource.setGmtModified(dataMediaSource.getGmtModified());
seniorDataMediaSource.setId(dataMediaSource.getId());
seniorDataMediaSource.setName(dataMediaSource.getName());
seniorDataMediaSource.setType(dataMediaSource.getType());
if (dataMediaSource instanceof DbMediaSource) {
seniorDataMediaSource.setDriver(((DbMediaSource) dataMediaSource).getDriver());
seniorDataMediaSource.setUrl(((DbMediaSource) dataMediaSource).getUrl());
seniorDataMediaSource.setUsername(((DbMediaSource) dataMediaSource).getUsername());
} else if (dataMediaSource instanceof MqMediaSource) {
seniorDataMediaSource.setUrl(((MqMediaSource) dataMediaSource).getUrl());
seniorDataMediaSource.setStorePath(((MqMediaSource) dataMediaSource).getStorePath());
}
List<DataMedia> dataMedia = dataMediaService.listByDataMediaSourceId(dataMediaSource.getId());
seniorDataMediaSource.setDataMedias(dataMedia);
if (dataMedia.size() < 1) {
seniorDataMediaSource.setUsed(false);
} else {
seniorDataMediaSource.setUsed(true);
}
seniorDataMediaSources.add(seniorDataMediaSource);
}
context.put("sources", seniorDataMediaSources);
context.put("paginator", paginator);
context.put("searchKey", searchKey);
}
use of com.alibaba.otter.shared.common.model.config.data.mq.MqMediaSource in project otter by alibaba.
the class DataMediaAction method doEdit.
public void doEdit(@FormGroup("dataMediaInfo") Group dataMediaInfo, @Param("pageIndex") int pageIndex, @Param("searchKey") String searchKey, @FormField(name = "formDataMediaError", group = "dataMediaInfo") CustomErrors err, Navigator nav) throws Exception {
DataMedia dataMedia = new DataMedia();
dataMediaInfo.setProperties(dataMedia);
DataMediaSource dataMediaSource = dataMediaSourceService.findById(dataMediaInfo.getField("sourceId").getLongValue());
if (dataMediaSource.getType().isMysql() || dataMediaSource.getType().isOracle()) {
dataMedia.setSource((DbMediaSource) dataMediaSource);
} else if (dataMediaSource.getType().isNapoli() || dataMediaSource.getType().isMq()) {
dataMedia.setSource((MqMediaSource) dataMediaSource);
}
try {
dataMediaService.modify(dataMedia);
} catch (RepeatConfigureException rce) {
err.setMessage("invalidDataMedia");
return;
}
nav.redirectToLocation("dataMediaList.htm?pageIndex=" + pageIndex + "&searchKey=" + urlEncode(searchKey));
}
use of com.alibaba.otter.shared.common.model.config.data.mq.MqMediaSource in project otter by alibaba.
the class DataMediaAction method doAdd.
/**
* 添加Channel
*
* @param channelInfo
* @param channelParameterInfo
* @throws Exception
*/
public void doAdd(@FormGroup("dataMediaInfo") Group dataMediaInfo, @FormField(name = "formDataMediaError", group = "dataMediaInfo") CustomErrors err, Navigator nav) throws Exception {
DataMedia dataMedia = new DataMedia();
dataMediaInfo.setProperties(dataMedia);
DataMediaSource dataMediaSource = dataMediaSourceService.findById(dataMediaInfo.getField("sourceId").getLongValue());
if (dataMediaSource.getType().isMysql() || dataMediaSource.getType().isOracle()) {
dataMedia.setSource((DbMediaSource) dataMediaSource);
} else if (dataMediaSource.getType().isNapoli() || dataMediaSource.getType().isMq()) {
dataMedia.setSource((MqMediaSource) dataMediaSource);
}
try {
dataMediaService.create(dataMedia);
} catch (RepeatConfigureException rce) {
err.setMessage("invalidDataMedia");
return;
}
nav.redirectTo(WebConstant.DATA_MEDIA_LIST_LINK);
}
Aggregations