⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelwriter.jsp

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JSP
字号:
<%@ page contentType="text/plain" %><%@ page import="java.util.*, java.io.*, java.net.*, org.ofbiz.base.config.*, org.ofbiz.base.util.*, org.ofbiz.entity.*, org.ofbiz.entity.config.*, org.ofbiz.entity.model.*" %><jsp:useBean id="delegator" type="org.ofbiz.entity.GenericDelegator" scope="request" /><jsp:useBean id="security" type="org.ofbiz.security.Security" scope="request" /><%try {if (security.hasPermission("ENTITY_MAINT", session) || request.getParameter("originalLoaderName") != null) {  if ("true".equals(request.getParameter("savetofile"))) {    //save to the file specified in the ModelReader config    String controlPath = (String) request.getAttribute("_CONTROL_PATH_");    String serverRootUrl = (String) request.getAttribute("_SERVER_ROOT_URL_");    ModelReader modelReader = delegator.getModelReader();    Iterator handlerIter = modelReader.getResourceHandlerEntitiesKeyIterator();    while (handlerIter.hasNext()) {      ResourceHandler resourceHandler = (ResourceHandler) handlerIter.next();      if (resourceHandler.isFileResource()) {          String filename = resourceHandler.getFullLocation();          java.net.URL url = new java.net.URL(serverRootUrl + controlPath + "/ModelWriter");          HashMap params = new HashMap();          params.put("originalLoaderName", resourceHandler.getLoaderName());          params.put("originalLocation", resourceHandler.getLocation());          HttpClient httpClient = new HttpClient(url, params);          InputStream in = httpClient.getStream();          File newFile = new File(filename);          FileWriter newFileWriter = new FileWriter(newFile);          BufferedReader post = new BufferedReader(new InputStreamReader(in));          String line = null;          while ((line = post.readLine()) != null) {            newFileWriter.write(line);            newFileWriter.write("\n");          }          newFileWriter.close();          %>              If you aren't seeing any exceptions, XML was written successfully to:              <%=filename%>              from the URL:              <%=url.toString()%>?originalLoaderName=<%=resourceHandler.getLoaderName()%>&originalLocation=<%=resourceHandler.getLocation()%>          <%      } else {          %>Cannot write to location <%=resourceHandler.getLocation()%> from           loader <%=resourceHandler.getLoaderName()%>, it is not a file.<%      }    }  } else {    String title = "Entity of an Open For Business Project Component";    String description = "None";    String copyright = "Copyright (c) 2002 The Open For Business Project - www.ofbiz.org";    String author = "None";    String version = "1.0";%><?xml version="1.0" encoding="UTF-8"?><!DOCTYPE entitymodel PUBLIC "-//OFBiz//DTD Entity Model//EN" "http://www.ofbiz.org/dtds/entitymodel.dtd"><!--/** *  Title: Entity Generator Definitions for the General Data Model *  Description: None *  Copyright (c) 2001, 2002 The Open For Business Project - www.ofbiz.org * *  Permission is hereby granted, free of charge, to any person obtaining a *  copy of this software and associated documentation files (the "Software"), *  to deal in the Software without restriction, including without limitation *  the rights to use, copy, modify, merge, publish, distribute, sublicense, *  and/or sell copies of the Software, and to permit persons to whom the *  Software is furnished to do so, subject to the following conditions: * *  The above copyright notice and this permission notice shall be included *  in all copies or substantial portions of the Software. * *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *  THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * @author     David E. Jones (jonesde@ofbiz.org) * @author     Andy Zeneski (jaz@ofbiz.org)  */--><%   //GenericDelegator delegator = GenericHelperFactory.getDefaultHelper();  ModelReader reader = delegator.getModelReader();  Map packages = new HashMap();  TreeSet packageNames = new TreeSet();  // ignore fields names  List ignoredFields = UtilMisc.toList("lastUpdatedStamp", "lastUpdatedTxStamp", "createdStamp", "createdTxStamp");  //put the entityNames TreeSets in a HashMap by packageName  Collection ec = null;  String originalLoaderName = request.getParameter("originalLoaderName");  String originalLocation = request.getParameter("originalLocation");  if (originalLoaderName != null && originalLocation != null) {    ec = reader.getResourceHandlerEntities(new MainResourceHandler(EntityConfigUtil.ENTITY_ENGINE_XML_FILENAME, originalLoaderName, originalLocation));  } else {    ec = reader.getEntityNames();  }  Iterator ecIter = ec.iterator();  while(ecIter.hasNext()) {    String eName = (String) ecIter.next();    ModelEntity ent = reader.getModelEntity(eName);    TreeSet entities = (TreeSet) packages.get(ent.getPackageName());    if (entities == null) {      entities = new TreeSet();      packages.put(ent.getPackageName(), entities);      packageNames.add(ent.getPackageName());    }    entities.add(eName);  }%><entitymodel>  <!-- ========================================================= -->  <!-- ======================== Defaults ======================= -->  <!-- ========================================================= -->    <title><%=title%></title>    <description><%=description%></description>    <copyright><%=copyright%></copyright>    <author><%=author%></author>    <version><%=version%></version>  <!-- ========================================================= -->  <!-- ======================== Data Model ===================== -->  <!-- The modules in this file are as follows:                  --><%  Iterator packageNameIter = packageNames.iterator();  while(packageNameIter.hasNext()) {    String pName = (String)packageNameIter.next();%>  <!--  - <%=pName%> --><%  }%>  <!-- ========================================================= --><%  Iterator piter = packageNames.iterator();  while(piter.hasNext()) {    String pName = (String)piter.next();    TreeSet entities = (TreeSet)packages.get(pName);%>  <!-- ========================================================= -->  <!-- <%=pName%> -->  <!-- ========================================================= --><%    Iterator i = entities.iterator();    while (i.hasNext()) {      String entityName = (String)i.next();      ModelEntity entity = reader.getModelEntity(entityName);      if (entity instanceof ModelViewEntity) {        ModelViewEntity viewEntity = (ModelViewEntity)entity;%>    <view-entity entity-name="<%=entity.getEntityName()%>"            package-name="<%=entity.getPackageName()%>"<%if (entity.getDependentOn().length() > 0) {%>            dependent-on="<%=entity.getDependentOn()%>"<%}%><%if (entity.getNeverCache()) {%>            never-cache="true"<%}%><%if (!title.equals(entity.getTitle())) {%>            title="<%=entity.getTitle()%>"<%}%><%if (!copyright.equals(entity.getCopyright())) {%>            copyright="<%=entity.getCopyright()%>"<%}%><%if (!author.equals(entity.getAuthor())) {%>            author="<%=entity.getAuthor()%>"<%}%><%if (!version.equals(entity.getVersion())) {%>            version="<%=entity.getVersion()%>"<%}%>><%if (!description.equals(entity.getDescription())) {%>      <description><%=entity.getDescription()%></description><%}%><%  Iterator meIter = viewEntity.getAllModelMemberEntities().iterator();  while(meIter.hasNext()) {    ModelViewEntity.ModelMemberEntity modelMemberEntity = (ModelViewEntity.ModelMemberEntity) meIter.next();%>      <member-entity entity-alias="<%=modelMemberEntity.getEntityAlias()%>" entity-name="<%=modelMemberEntity.getEntityName()%>"/><%  }  for (int y = 0; y < viewEntity.getAliasesSize(); y++) {    ModelViewEntity.ModelAlias alias = viewEntity.getAlias(y);%>      <alias entity-alias="<%=alias.getEntityAlias()%>" name="<%=alias.getName()%>"<%if (!alias.getName().equals(alias.getField())) {      %> field="<%=alias.getField()%>"<%}%><%if (alias.getIsPk() != null) {      %> prim-key="<%=alias.getIsPk().toString()%>"<%}%><%if (alias.getGroupBy()) {      %> group-by="true"<%}%><%if (UtilValidate.isNotEmpty(alias.getFunction())) {      %> function="<%=alias.getFunction()%>"<%}%>/><%  }  for (int r = 0; r < viewEntity.getViewLinksSize(); r++) {    ModelViewEntity.ModelViewLink viewLink = viewEntity.getViewLink(r);%>      <view-link entity-alias="<%=viewLink.getEntityAlias()%>" rel-entity-alias="<%=viewLink.getRelEntityAlias()%>"<%          if (viewLink.isRelOptional()) {%> rel-optional="true"<%}%>><%for (int km = 0; km < viewLink.getKeyMapsSize(); km++){ ModelKeyMap keyMap = viewLink.getKeyMap(km);%>        <key-map field-name="<%=keyMap.getFieldName()%>"<%if (!keyMap.getFieldName().equals(keyMap.getRelFieldName())) {%> rel-field-name="<%=keyMap.getRelFieldName()%>"<%}%>/><%}%>      </view-link><%  }  if (entity.getRelationsSize() > 0) {    for (int r = 0; r < entity.getRelationsSize(); r++) {      ModelRelation relation = entity.getRelation(r);%>      <relation type="<%=relation.getType()%>"<%if (relation.getTitle().length() > 0) {%> title="<%=relation.getTitle()%>"<%}              %> rel-entity-name="<%=relation.getRelEntityName()%>"><%for (int km = 0; km < relation.getKeyMapsSize(); km++){ ModelKeyMap keyMap = relation.getKeyMap(km);%>        <key-map field-name="<%=keyMap.getFieldName()%>"<%if (!keyMap.getFieldName().equals(keyMap.getRelFieldName())) {%> rel-field-name="<%=keyMap.getRelFieldName()%>"<%}%>/><%}%>      </relation><%    }  }%>    </view-entity><%      }      else {%>    <entity entity-name="<%=entity.getEntityName()%>"<%if (!entity.getEntityName().equals(ModelUtil.dbNameToClassName(entity.getPlainTableName()))){          %> table-name="<%=entity.getPlainTableName()%>"<%}%>            package-name="<%=entity.getPackageName()%>"<%if (entity.getDependentOn().length() > 0) {%>            dependent-on="<%=entity.getDependentOn()%>"<%}%><%if (entity.getDoLock()) {%>            enable-lock="true"<%}%><%if (entity.getNeverCache()) {%>            never-cache="true"<%}%><%if (!title.equals(entity.getTitle())) {%>            title="<%=entity.getTitle()%>"<%}%><%if (!copyright.equals(entity.getCopyright())) {%>            copyright="<%=entity.getCopyright()%>"<%}%><%if (!author.equals(entity.getAuthor())) {%>            author="<%=entity.getAuthor()%>"<%}%><%if (!version.equals(entity.getVersion())) {%>            version="<%=entity.getVersion()%>"<%}%>><%if (!description.equals(entity.getDescription())) {%>      <description><%=entity.getDescription()%></description><%}%><%  for (int y = 0; y < entity.getFieldsSize(); y++) {    ModelField field = entity.getField(y);    if (!ignoredFields.contains(field.getName())) {%>      <field name="<%=field.getName()%>"<%if (!field.getName().equals(ModelUtil.dbNameToVarName(field.getColName()))){      %> col-name="<%=field.getColName()%>"<%}%> type="<%=field.getType()%>"><%    for (int v = 0; v<field.getValidatorsSize(); v++) {      String valName = field.getValidator(v);      %><validate name="<%=valName%>"/><%    }%></field><%    }}  for (int y = 0; y < entity.getPksSize(); y++) {    ModelField field = entity.getPk(y);%>      <prim-key field="<%=field.getName()%>"/><%  }  if (entity.getRelationsSize() > 0) {    for (int r=0; r<entity.getRelationsSize(); r++) {      ModelRelation relation = entity.getRelation(r);%>      <relation type="<%=relation.getType()%>"<%if (relation.getFkName().length() > 0) {%> fk-name="<%=relation.getFkName()%>"<%}              %><%if (relation.getTitle().length() > 0) {%> title="<%=relation.getTitle()%>"<%}              %> rel-entity-name="<%=relation.getRelEntityName()%>"><%for (int km = 0; km < relation.getKeyMapsSize(); km++){ ModelKeyMap keyMap = relation.getKeyMap(km);%>        <key-map field-name="<%=keyMap.getFieldName()%>"<%if (!keyMap.getFieldName().equals(keyMap.getRelFieldName())) {%> rel-field-name="<%=keyMap.getRelFieldName()%>"<%}%>/><%}%>      </relation><%    }  }%>    </entity><%      }    }  }%></entitymodel><%  }} else {  %>ERROR: You do not have permission to use this page (ENTITY_MAINT needed)<%}} catch (Exception e) {    Debug.log(e);}%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -