AOS 自动生成代码支持其它操作系统

原生AOS 在自动生成代码时只支持win,其它操作系统会提示  

  AOS.tip('选中节点不合法,请重新选择。');

由于在程序中 CoderService.java 中写了   StringUtils.contains( subPath, "java\\")  这是win 的写法,而其它 操作系统需要  StringUtils.contains( subPath, "java/")

所以改进以下程序:  CoderService.java   的 listProjectView 方法


public List<TreeNode> listProjectView(Dto queryDto) {
		List<TreeNode> fileList = Lists.newArrayList();
		String path = queryDto.getString("path");
		if (StringUtils.equalsIgnoreCase("aosroot_", path)) {
			// 根节点
			String coder_project_rootpath_ = WebCxt.getCfgOfDB("coder_project_rootpath_");
			if (StringUtils.equals(coder_project_rootpath_, "0")) {
				path = System.getProperty("user.dir");
			} else {
				path = coder_project_rootpath_;
			}
		}
		<span style="color:#ff0000;">String os = System.getProperty("os.name");  </span>
		File file = new File(path);
		if (file.exists()) {
			File[] subFiles = file.listFiles();
			for (File subFile : subFiles) {
				TreeNode treeNode = new TreeNode();
				String subPath = subFile.getAbsolutePath();
				treeNode.setId(subPath);
				String filename = subFile.getName();
				if (StringUtils.startsWith(filename, "."))
					continue;
				if (filename.equalsIgnoreCase("classes"))
					continue;
				if (filename.equalsIgnoreCase("icon"))
					continue;
				if (filename.equalsIgnoreCase("image"))
					continue;
				if (filename.equalsIgnoreCase("data") || filename.equalsIgnoreCase("report")
						|| filename.equalsIgnoreCase("tld") || filename.equalsIgnoreCase("lib")
						|| filename.equalsIgnoreCase("db"))
					continue;
				treeNode.setText(filename);
				if (subFile.isDirectory()) {
					// 目录
					treeNode.setA("1");
					
					<span style="color:#ff0000;">if (StringUtils.contains(subPath, "java\\")||StringUtils.contains(subPath, "java/"))</span> {
						// java package
						treeNode.setIcon("icon34.gif");
						// 目录类型:java源文件包
						treeNode.setB("1");
						String pkgpath = StringUtils.substringAfter(subPath, "java\\");
						pkgpath = AOSUtils.isEmpty(pkgpath)?StringUtils.substringAfter(subPath, "java/"):pkgpath;
						<span style="color:#ff0000;">if(os.toLowerCase().startsWith("win")){</span>
							pkgpath = pkgpath.replace("\\", ".");
						}else{
							pkgpath = pkgpath.replace("/", ".");
						}
						treeNode.setC(pkgpath);
						
					} else if (StringUtils.contains(subPath, "webapp\\")) {
						treeNode.setIcon("icon42.gif");
					} else {
						treeNode.setIcon("icon35.gif");
					}
					if (filename.equalsIgnoreCase("webapp")) {
						treeNode.setIcon("icon42.gif");
					}
					treeNode.setLeaf(false);
				} else {
					// 文件
					treeNode.setA("2");
					treeNode.setLeaf(true);
					if (StringUtils.endsWith(filename, "java")) {
						treeNode.setIcon("icon36.gif");
					} else if (StringUtils.endsWith(filename, "xml")) {
						treeNode.setIcon("icon39.gif");
					} else if (StringUtils.endsWith(filename, "js")) {
						treeNode.setIcon("icon37.gif");
					} else if (StringUtils.endsWith(filename, "jsp")) {
						treeNode.setIcon("icon26.gif");
					} else {
						treeNode.setIcon("icon38.gif");
					}
				}
				if (StringUtils.equalsIgnoreCase("webapp", treeNode.getText())
						|| StringUtils.equalsIgnoreCase("WEB-INF", treeNode.getText())
						|| StringUtils.equalsIgnoreCase("src", treeNode.getText())) {
					treeNode.setExpanded(true);
				}
				fileList.add(treeNode);
			}
		}
		// 重排序,树枝节点排在前面
		String jqlText = "SELECT * FROM :AOSList ORDER BY toNumber(a) ASC";
		fileList = AOSListUtils.select(fileList, TreeNode.class, jqlText, null);
		return fileList;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值