예제 #1
0
  private MethodInfo getMethodInfo(final Method method, final Map ejbds) {
    final MethodInfo methodInfo = new MethodInfo();

    final EjbDeployment d = (EjbDeployment) ejbds.get(method.getEjbName());

    methodInfo.description = method.getDescription();
    methodInfo.ejbDeploymentId = d == null ? null : d.getDeploymentId();
    methodInfo.ejbName = method.getEjbName();
    methodInfo.methodIntf =
        method.getMethodIntf() == null ? null : method.getMethodIntf().toString();
    methodInfo.methodName = method.getMethodName();
    if (methodInfo.methodName == null || methodInfo.methodName.equals("")) {
      methodInfo.methodName = "*";
    }
    methodInfo.className = method.getClassName();
    if (methodInfo.className == null || methodInfo.className.equals("")) {
      methodInfo.className = "*";
    }

    final MethodParams mp = method.getMethodParams();
    if (mp != null) {
      methodInfo.methodParams = mp.getMethodParam();
    }
    return methodInfo;
  }
예제 #2
0
  private EnterpriseBeanInfo initEntityBean(final EntityBean e, final Map m)
      throws OpenEJBException {
    final EntityBeanInfo bean = new EntityBeanInfo();

    final EjbDeployment d = (EjbDeployment) m.get(e.getEjbName());
    if (d == null) {
      throw new OpenEJBException(
          "No deployment information in openejb-jar.xml for bean "
              + e.getEjbName()
              + ". Please redeploy the jar");
    }
    bean.ejbDeploymentId = d.getDeploymentId();
    bean.containerId = d.getContainerId();

    final Icon icon = e.getIcon();
    bean.largeIcon = icon == null ? null : icon.getLargeIcon();
    bean.smallIcon = icon == null ? null : icon.getSmallIcon();
    bean.description = e.getDescription();
    bean.displayName = e.getDisplayName();
    bean.ejbClass = e.getEjbClass();
    bean.abstractSchemaName = e.getAbstractSchemaName();
    bean.ejbName = e.getEjbName();
    bean.home = e.getHome();
    bean.remote = e.getRemote();
    bean.localHome = e.getLocalHome();
    bean.local = e.getLocal();
    bean.transactionType = "Container";

    bean.primKeyClass = e.getPrimKeyClass();
    bean.primKeyField = e.getPrimkeyField();
    bean.persistenceType = e.getPersistenceType().toString();
    bean.reentrant = String.valueOf(e.getReentrant());
    bean.properties.putAll(d.getProperties());

    final CmpVersion cmpVersion = e.getCmpVersion();
    if (e.getPersistenceType() == PersistenceType.CONTAINER) {
      if (cmpVersion != null && cmpVersion == CmpVersion.CMP1) {
        bean.cmpVersion = 1;
      } else {
        bean.cmpVersion = 2;
      }
    }

    final List<CmpField> cmpFields = e.getCmpField();
    for (final CmpField cmpField : cmpFields) {
      bean.cmpFieldNames.add(cmpField.getFieldName());
    }

    if (bean.persistenceType.equalsIgnoreCase("Container")) {
      for (final Query q : e.getQuery()) {
        final QueryInfo query = new QueryInfo();
        query.queryStatement = q.getEjbQl().trim();

        final MethodInfo method = new MethodInfo();
        method.ejbName = bean.ejbName;
        method.className = "*";

        final QueryMethod qm = q.getQueryMethod();
        method.methodName = qm.getMethodName();
        if (qm.getMethodParams() != null) {
          method.methodParams = qm.getMethodParams().getMethodParam();
        }
        query.method = method;
        final ResultTypeMapping resultType = q.getResultTypeMapping();
        if (ResultTypeMapping.REMOTE.equals(resultType)) {
          query.remoteResultType = true;
        }
        bean.queries.add(query);
      }

      for (final org.apache.openejb.jee.oejb3.Query q : d.getQuery()) {
        final QueryInfo query = new QueryInfo();
        query.description = q.getDescription();
        query.queryStatement = q.getObjectQl().trim();

        final MethodInfo method = new MethodInfo();
        method.ejbName = bean.ejbName;
        method.className = "*";
        final org.apache.openejb.jee.oejb3.QueryMethod qm = q.getQueryMethod();
        method.methodName = qm.getMethodName();
        if (qm.getMethodParams() != null) {
          method.methodParams = qm.getMethodParams().getMethodParam();
        }
        query.method = method;
        bean.queries.add(query);
      }
    }
    return bean;
  }