private void generateStage( Element[] parents, Class stage, Set<Class<? extends Stage>> generatedStages) { if (generatedStages.contains(stage)) return; boolean hasParentStage = Stage.class.isAssignableFrom(stage.getSuperclass()); if (hasParentStage) { generateStage(parents, stage.getSuperclass(), generatedStages); } org.radargun.config.Stage stageAnnotation = (org.radargun.config.Stage) stage.getAnnotation(org.radargun.config.Stage.class); if (stageAnnotation == null) return; // not a proper stage String stageType = generateClass(stage); if (!Modifier.isAbstract(stage.getModifiers()) && !stageAnnotation.internal()) { for (Element parent : parents) { createReference( parent, XmlHelper.camelCaseToDash(StageHelper.getStageName(stage)), stageType); } if (!stageAnnotation.deprecatedName().equals(org.radargun.config.Stage.NO_DEPRECATED_NAME)) { for (Element parent : parents) { createReference( parent, XmlHelper.camelCaseToDash(stageAnnotation.deprecatedName()), stageType); } } } generatedStages.add(stage); }
/** * Generate the XSD file. First argument is directory where the XSD file should be placed (it will * be named radargun-{version}.xsd. */ public static void main(String[] args) { if (args.length < 1 || args[0] == null) throw new IllegalArgumentException("No schema location directory specified!"); for (Class<? extends Stage> stage : StageHelper.getStages().values()) { stages.put(stage, stage.getProtectionDomain().getCodeSource().getLocation().getPath()); } new ConfigSchemaGenerator().generate(args[0], String.format("radargun-%s.xsd", VERSION)); }
private static void generateStage( Document doc, Element schema, Element[] parents, Class stage, Set<Class> generatedStages) { if (generatedStages.contains(stage)) return; boolean hasParentStage = Stage.class.isAssignableFrom(stage.getSuperclass()); if (hasParentStage) { generateStage(doc, schema, parents, stage.getSuperclass(), generatedStages); } org.radargun.config.Stage stageAnnotation = (org.radargun.config.Stage) stage.getAnnotation(org.radargun.config.Stage.class); if (stageAnnotation == null) return; // not a proper stage String stageName = StageHelper.getStageName(stage); String stageDocText = stageAnnotation.doc(); Element stageType = createComplexType( doc, schema, stageName, hasParentStage ? RG_PREFIX + StageHelper.getStageName(stage.getSuperclass()) : null, Modifier.isAbstract(stage.getModifiers()), stageDocText); for (Element parent : parents) { createReference(doc, parent, stageName, RG_PREFIX + stageName); } if (!stageAnnotation.deprecatedName().equals(org.radargun.config.Stage.NO_DEPRECATED_NAME)) { for (Element parent : parents) { createReference(doc, parent, stageAnnotation.deprecatedName(), RG_PREFIX + stageName); } } for (Map.Entry<String, Field> property : PropertyHelper.getDeclaredProperties(stage).entrySet()) { Property propertyAnnotation = property.getValue().getAnnotation(Property.class); if (propertyAnnotation.readonly()) continue; // cannot be configured String propertyDocText = propertyAnnotation.doc(); if (property.getKey().equals(propertyAnnotation.deprecatedName())) { propertyDocText = "*DEPRECATED* " + propertyDocText; } String type = generateType(doc, schema, property.getValue().getType(), propertyAnnotation.converter()); addAttribute( doc, stageType, property.getKey(), type, propertyDocText, !propertyAnnotation.optional()); } generatedStages.add(stage); }
private static void generateStageDefinitions(Document doc, Element schema, Element[] parents) { File dir = new File(stageDirectory); if (!dir.exists() || !dir.isDirectory()) { throw new IllegalArgumentException(dir + " is not an existing directory!"); } for (File file : dir.listFiles()) { if (!file.getName().startsWith("radargun-framework-") || !file.getName().endsWith(".jar")) continue; Set<Class> generatedStages = new HashSet<Class>(); for (Class<?> stage : StageHelper.getStagesFromJar(file.getPath()).values()) { generateStage(doc, schema, parents, stage, generatedStages); } } }
@Override public List<AbstractBean> getAllActiveFilterRecords(String array, String field, String username) { List<AbstractBean> retValue = new ArrayList<AbstractBean>(); String query = "select * from tbl_crm_lead where type = 0 and status = ? and userId = ? and " + field + " IN (" + array + ") UNION select * from tbl_crm_lead where leadId IN (select leadId from tbl_crm_share where userId = ?) and type = 0 and status = ? and " + field + " IN (" + array + ");"; try { preparedStatement = DBUtility.connection.prepareStatement(query); preparedStatement.setBoolean(1, true); preparedStatement.setString(2, username); preparedStatement.setString(3, username); preparedStatement.setBoolean(4, true); } catch (SQLException e) { ZLog.err("VNC CRM for Zimbra", "Error in getting all active records in LeadHelper", e); } ResultSet rs = dbu.select(preparedStatement); LeadBean leadBean = null; CountryHelper countryHelper = new CountryHelper(); StateHelper stateHelper = new StateHelper(); ChannelHelper channelHelper = new ChannelHelper(); SectionHelper sectionHelper = new SectionHelper(); CategoryHelper categoryHelper = new CategoryHelper(); PriorityHelper priorityHelper = new PriorityHelper(); StageHelper stageHelper = new StageHelper(); CompanyHelper companyHelper = new CompanyHelper(); LeadClassHelper leadClassHelper = new LeadClassHelper(); try { while (rs.next()) { leadBean = new LeadBean(); leadBean.setLeadId(rs.getInt("leadId")); leadBean.setSubjectName(rs.getString("subjectName")); leadBean.setLeadDescription(rs.getString("leadDescription")); leadBean.setContactName(rs.getString("contactName")); leadBean.setCompanyBean( (CompanyBean) (companyHelper.getRecordById(rs.getString("companyId")))); leadBean.setValuation(rs.getString("valuation")); leadBean.setLeadState(rs.getString("leadState")); leadBean.setLeadClassBean( (LeadClassBean) (leadClassHelper.getRecordById(rs.getString("leadClassId")))); leadBean.setPartnerName(rs.getString("partnerName")); leadBean.setPhone(rs.getString("phone")); leadBean.setFax(rs.getString("fax")); leadBean.setEmail(rs.getString("email")); leadBean.setWorkPhone(rs.getString("workPhone")); leadBean.setMobile(rs.getString("mobile")); leadBean.setStreet1(rs.getString("street1")); leadBean.setStreet2(rs.getString("street2")); leadBean.setCity(rs.getString("city")); leadBean.setZip(rs.getString("zip")); leadBean.setCountryBean( (CountryBean) (countryHelper.getRecordById(rs.getString("countryId")))); leadBean.setStateBean((StateBean) (stateHelper.getRecordById(rs.getString("stateId")))); leadBean.setChannelBean( (ChannelBean) (channelHelper.getRecordById(rs.getString("channelId")))); leadBean.setPriorityBean( (PriorityBean) (priorityHelper.getRecordById(rs.getString("priorityId")))); leadBean.setStageBean((StageBean) (stageHelper.getRecordById(rs.getString("stageId")))); leadBean.setCategoryBean( (CategoryBean) (categoryHelper.getRecordById(rs.getString("categoryId")))); leadBean.setSectionBean( (SectionBean) (sectionHelper.getRecordById(rs.getString("sectionId")))); leadBean.setType(rs.getString("type")); leadBean.setDateOpen(rs.getString("dateOpen")); leadBean.setDateClose(rs.getString("dateClose")); leadBean.setExpectedDateClose(rs.getString("expectedDateClose")); leadBean.setProbability(rs.getString("probability")); leadBean.setDayClose(rs.getString("dayClose")); leadBean.setDayOpen(rs.getString("dayOpen")); leadBean.setReferredBy(rs.getString("referredBy")); leadBean.setUserId(rs.getString("userId")); leadBean.setNextActionDate(rs.getString("nextActionDate")); leadBean.setNextAction(rs.getString("nextAction")); leadBean.setStatus(rs.getBoolean("status")); leadBean.setCreateBy(rs.getString("createBy")); leadBean.setCreateDate(rs.getString("createDate")); leadBean.setWriteBy(rs.getString("writeBy")); leadBean.setWriteDate(rs.getString("writeDate")); retValue.add(leadBean); } } catch (SQLException e) { ZLog.err("VNC CRM for Zimbra", "Error in Lead Helper Class", e); } return retValue; }