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

📄 entityref_main.jsp

📁 国外的一套开源CRM
💻 JSP
📖 第 1 页 / 共 3 页
字号:
<!--
 *  Copyright (c) 2001 The Open For Business Project and respected authors.
 
 *  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 Andy Zeneski (jaz@ofbiz.org)
 * @author David E. Jones (jonesde@ofbiz.org)
 * @version 1.0
-->

<%@ page import="java.util.*" %>
<%@ page import="org.ofbiz.entity.*, org.ofbiz.entity.model.*, org.ofbiz.base.util.*" %>

<jsp:useBean id="security" type="org.ofbiz.security.Security" scope="request" />
<jsp:useBean id="delegator" type="org.ofbiz.entity.GenericDelegator" scope="request" />
<%String controlPath=(String)request.getAttribute("_CONTROL_PATH_");%>

<% 
if(security.hasPermission("ENTITY_MAINT", session)) {
  initReservedWords();
  //boolean checkWarnings = "true".equals(request.getParameter("CHECK_WARNINGS"));
  boolean checkWarnings = true;
  boolean forstatic = "true".equals(request.getParameter("forstatic"));
  if (forstatic) checkWarnings = false;
  String search = null;
  //GenericDelegator delegator = GenericHelperFactory.getDefaultHelper();
  ModelReader reader = delegator.getModelReader();
  Map packages = new HashMap();
  TreeSet packageNames = new TreeSet();
  TreeSet tableNames = new TreeSet();

  //put the entityNames TreeSets in a HashMap by packageName
  Collection ec = reader.getEntityNames();
  TreeSet entityNames = new TreeSet(ec);
  Iterator ecIter = ec.iterator();
  while(ecIter.hasNext()) {
    String eName = (String)ecIter.next();
    ModelEntity ent = reader.getModelEntity(eName);

    //make sure the table name is in the list of all table names, if not null
    if (UtilValidate.isNotEmpty(ent.getPlainTableName())) tableNames.add(ent.getPlainTableName());

    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);
  }
  int numberOfEntities = ec.size();
  int numberShowed = 0;
  search = (String) request.getParameter("search");
  //as we are iterating through, check a few things and put any warnings here inside <li></li> tags
  List warningList = new LinkedList();

  TreeSet fkNames = new TreeSet();
  TreeSet indexNames = new TreeSet();
%>

<html>
<head>
<title>Entity Reference</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style>
  .packagetext {font-family: Helvetica,sans-serif; font-size: 18pt; font-weight: bold; text-decoration: none; color: black;}
  .toptext {font-family: Helvetica,sans-serif; font-size: 16pt; font-weight: bold; text-decoration: none; color: black;}
  .titletext {font-family: Helvetica,sans-serif; font-size: 12pt; font-weight: bold; text-decoration: none; color: blue;}
  .headertext {font-family: Helvetica,sans-serif; font-size: 8pt; font-weight: bold; text-decoration: none; background-color: blue; color: white;}
  .enametext {font-family: Helvetica,sans-serif; font-size: 8pt; font-weight: bold; text-decoration: none; color: black;}
  .entitytext {font-family: Helvetica,sans-serif; font-size: 8pt; text-decoration: none; color: black;}
  .relationtext {font-family: Helvetica,sans-serif; font-size: 8pt; text-decoration: none; color: black;}
  A.rlinktext {font-family: Helvetica,sans-serif; font-size: 8pt; font-weight: bold; text-decoration: none; color: blue;}
  A.rlinktext:hover {color:red;}
</style>
</head>

<body bgcolor="#FFFFFF">
<div align="center">

  <DIV class='toptext'>Entity Reference Chart<br>
    <%= numberOfEntities %> Total Entities
    </DIV>
<%if (!forstatic) {%>
	<%if (checkWarnings) {%>
	  <A href='#WARNINGS'>View Warnings</A>
	<%} else {%>
	  <A href='<%=response.encodeURL(controlPath + "/view/entityref_main?CHECK_WARNINGS=true")%>'>View With Warnings Check</A>  
	<%}%>
<%}%>
<%
  Iterator piter = packageNames.iterator();
  while (piter.hasNext()) {
    String pName = (String) piter.next();
    TreeSet entities = (TreeSet) packages.get(pName);
%><A name='<%=pName%>'></A><HR><DIV class='packagetext'><%=pName%></DIV><HR><%
    Iterator i = entities.iterator();
    while (i.hasNext()) {
      String entityName = (String)i.next();
      String helperName = delegator.getEntityHelperName(entityName);
      String groupName = delegator.getEntityGroupName(entityName);
      if (search == null || entityName.toLowerCase().indexOf(search.toLowerCase()) != -1) {
        ModelEntity entity = reader.getModelEntity(entityName);
        if (checkWarnings) {
          if (helperName == null) {
            warningList.add("<span style=\"color: red;\">[HelperNotFound]</span> No Helper (DataSource) definition found for entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A>.");
            //only show group name warning if helper name not found
            if (groupName == null)
              warningList.add("<span style=\"color: red;\">[GroupNotFound]</span> No Group Name found for entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A>.");
          }
          if (entity.getPlainTableName() != null && entity.getPlainTableName().length() > 30)
            warningList.add("<span style=\"color: red;\">[TableNameGT30]</span> Table name <b>" + entity.getPlainTableName() + "</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> is longer than 30 characters.");
          if (entity.getPlainTableName() != null && reservedWords.contains(entity.getPlainTableName().toUpperCase()))
            warningList.add("<span style=\"color: red;\">[TableNameRW]</span> Table name <b>" + entity.getPlainTableName() + "</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> is a reserved word.");
        }
%>	
  <a name="<%= entityName %>"></a>
  <table width="95%" border="1" cellpadding='2' cellspacing='0'>
    <tr bgcolor="#CCCCCC"> 
      <td colspan="5"> 
        <div align="center" class="titletext">ENTITY: <%=entityName%> | TABLE: <%=entity.getPlainTableName()%></div>
        <div align="center" class="entitytext"><b><%=entity.getTitle()%></b>&nbsp;
            <%if (!forstatic) {%><a target='main' href="<%=response.encodeURL(controlPath + "/FindGeneric?entityName=" + entityName + "&find=true&VIEW_SIZE=50&VIEW_INDEX=0")%>">[view data]</a><%}%></div>
        <%if (entity.getDescription() != null && !entity.getDescription().equalsIgnoreCase("NONE") && !entity.getDescription().equalsIgnoreCase("")) {%>
        <div align="center" class="entitytext"><%=entity.getDescription()%></div>
        <%}%>
      </td>
    </tr>
    <tr class='headertext'>
      <td width="30%" align=center>Java Name</td>
      <td width="30%" align=center>DB Name</td>
      <td width="10%" align=center>Field-Type</td>
      <td width="15%" align=center>Java-Type</td>
      <td width="15%" align=center nowrap>SQL-Type</td>
    </tr>
	
<%
  TreeSet ufields = new TreeSet();
  for (int y = 0; y < entity.getFieldsSize(); y++) {
    ModelField field = entity.getField(y);	
    ModelFieldType type = delegator.getEntityFieldType(entity, field.getType());
    String javaName = null;
    javaName = field.getIsPk() ? "<span style=\"color: red;\">" + field.getName() + "</span>" : field.getName();

    if(checkWarnings) {
      if(ufields.contains(field.getName())) {
        warningList.add("<span style=\"color: red;\">[FieldNotUnique]</span> Field <b>" + field.getName() + "</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> is not unique for that entity.");
      } else {
        ufields.add(field.getName());
      }
      if(field.getColName().length() > 30 && !(entity instanceof ModelViewEntity)) {
        warningList.add("<span style=\"color: red;\">[FieldNameGT30]</span> Column name <b>" + field.getColName() + "</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> is longer than 30 characters.");
      }
      if(field.getColName().length() == 0) {
        warningList.add("<span style=\"color: red;\">[FieldNameEQ0]</span> Column name for field name <b>\"" + field.getName() + "\"</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> is empty (zero length).");
      }
      if(reservedWords.contains(field.getColName().toUpperCase()))
        warningList.add("<span style=\"color: red;\">[FieldNameRW]</span> Column name <b>" + field.getColName() + "</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> is a reserved word.");
    }
%>	
    <tr bgcolor="#EFFFFF">
      <td><div align="left" class='enametext'><%=javaName%></div></td>
      <td><div align="left" class='entitytext'><%=field.getColName()%></div></td>
      <td><div align="left" class='entitytext'><%=field.getType()%></div></td>
    <%if(type != null){%>
      <td><div align="left" class='entitytext'><%=type.getJavaType()%></div></td>
      <td><div align="left" class='entitytext'><%=type.getSqlType()%></div></td>
    <%}else{%>
      <td><div align="left" class='entitytext'>NOT FOUND</div></td>
      <td><div align="left" class='entitytext'>NOT FOUND</div></td>
      <%
        if(checkWarnings) {
            StringBuffer warningMsg = new StringBuffer();
            warningMsg.append("<span style=\"color: red;\">[FieldTypeNotFound]</span> Field type <b>" + field.getType() + "</b> of entity <A href=\"#" + entity.getEntityName() + "\">" + entity.getEntityName() + "</A> not found in field type definitions");
            if (helperName == null) {
                warningMsg.append(" (no helper definition found)");
            }
            warningMsg.append(".");
            warningList.add(warningMsg.toString());

⌨️ 快捷键说明

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