// Add wordnet test ? public static String getSecondaryEntity(String title) { String potentialEntity = null; // e.g. National_Party_(South_Africa) if (title.contains("(") && title.endsWith(")")) { potentialEntity = StringUtils.substringBetween(title, "(", ")"); String[] parts = potentialEntity.split(","); // e.g. National_Party_(UK,_1976) if (parts.length > 1 && StringUtils.containsOnly(parts[1], "_0123456789")) { potentialEntity = parts[0]; } } // e.g. Chicago,_Illinois else if (title.contains(",")) { potentialEntity = StringUtils.substringAfterLast(title, ","); } // e.g. New_Progressive_Party_of_Puerto_Rico // Might need to be careful else if (title.contains("of")) { potentialEntity = StringUtils.substringAfterLast(title, "of"); if (title.startsWith("List_of")) { String[] tokens = potentialEntity.split("_"); int capPos = 0; StringBuilder sb = new StringBuilder(); while (capPos < tokens.length && (StringUtils.isEmpty(tokens[capPos]) || WordFeatures.isCapitalized(tokens[capPos]))) { sb.append(tokens[capPos]).append('_'); capPos++; } potentialEntity = sb.toString(); } } // Removes extra chars if (potentialEntity != null) potentialEntity = potentialEntity.replace('_', ' ').trim().replace(' ', '_'); try { if (wiki == null || wiki.getTitleIdOf(potentialEntity) >= 0) return potentialEntity; } catch (Exception e) { } return null; }
/** * Computes the best file to save the response to the given URL. * * @param url the requested URL * @param extension the preferred extension * @return the file to create * @throws IOException if a problem occurs creating the file */ private File createFile(final URL url, final String extension) throws IOException { String name = url.getPath().replaceFirst("/$", "").replaceAll(".*/", ""); name = StringUtils.substringBefore(name, "?"); // remove query name = StringUtils.substringBefore(name, ";"); // remove additional info name = StringUtils.substring(name, 0, 30); // avoid exceptions due to too long file names if (!name.endsWith(extension)) { name += extension; } int counter = 0; while (true) { final String fileName; if (counter != 0) { fileName = StringUtils.substringBeforeLast(name, ".") + "_" + counter + "." + StringUtils.substringAfterLast(name, "."); } else { fileName = name; } final File f = new File(reportFolder_, fileName); if (f.createNewFile()) { return f; } counter++; } }
public void index(final Entity entity, final Tenant tenant) throws SearchEngineException { try { Map<String, Object> source = entityIndexDocumentPurveyor.purveyDocument(entity, tenant); if (source.keySet().size() > 0) { String entityName = StringUtils.substringAfterLast(entity.getClass().getName(), ".").toLowerCase(); this.logger.debug("Indexing {} with id {}...", entityName, entity.getId()); IndexRequestBuilder builder = this.client .prepareIndex("entities", entityName, entity.getId().toString()) .setSource(source); if (tenant != null && !Tenant.class.isAssignableFrom(entity.getClass())) { builder.setParent(tenant.getId().toString()); } IndexResponse response = builder.execute().actionGet(); this.logger.debug("" + response.getType()); } } catch (Exception e) { throw new SearchEngineException("Failed to index entity", e); } }
@Override public FlowSnippetDTO instantiateTemplate( String groupId, Double originX, Double originY, String templateId, String idGenerationSeed) { ProcessGroup group = locateProcessGroup(flowController, groupId); // get the template id and find the template Template template = getTemplate(templateId); // ensure the template could be found if (template == null) { throw new ResourceNotFoundException( String.format("Unable to locate template with id '%s'.", templateId)); } try { // copy the template which pre-processes all ids TemplateDTO templateDetails = template.getDetails(); FlowSnippetDTO snippet = snippetUtils.copy(templateDetails.getSnippet(), group, idGenerationSeed); // calculate scaling factors based on the template encoding version // attempt to parse the encoding version final FlowEncodingVersion templateEncodingVersion = FlowEncodingVersion.parse(templateDetails.getEncodingVersion()); // get the major version, or 0 if no version could be parsed int templateEncodingMajorVersion = templateEncodingVersion != null ? templateEncodingVersion.getMajorVersion() : 0; // based on the major version < 1, use the default scaling factors. Otherwise, don't scale // (use factor of 1.0) double factorX = templateEncodingMajorVersion < 1 ? FlowController.DEFAULT_POSITION_SCALE_FACTOR_X : 1.0; double factorY = templateEncodingMajorVersion < 1 ? FlowController.DEFAULT_POSITION_SCALE_FACTOR_Y : 1.0; // reposition and scale the template contents org.apache.nifi.util.SnippetUtils.moveAndScaleSnippet( snippet, originX, originY, factorX, factorY); // find all the child process groups in each process group in the top level of this snippet final List<ProcessGroupDTO> childProcessGroups = org.apache.nifi.util.SnippetUtils.findAllProcessGroups(snippet); // scale (but don't reposition) child process groups childProcessGroups .stream() .forEach( processGroup -> org.apache.nifi.util.SnippetUtils.scaleSnippet( processGroup.getContents(), factorX, factorY)); // instantiate the template into this group flowController.instantiateSnippet(group, snippet); return snippet; } catch (ProcessorInstantiationException pie) { throw new NiFiCoreException( String.format( "Unable to instantiate template because processor type '%s' is unknown to this NiFi.", StringUtils.substringAfterLast(pie.getMessage(), "."))); } }
/** * Extracts the username from the specified DN. If the username cannot be extracted because the CN * is in an unrecognized format, the entire CN is returned. If the CN cannot be extracted because * the DN is in an unrecognized format, the entire DN is returned. * * @param dn the dn to extract the username from * @return the exatracted username */ public static String extractUsername(String dn) { String username = dn; String cn = ""; // ensure the dn is specified if (StringUtils.isNotBlank(dn)) { // attempt to locate the cn if (dn.startsWith("CN=")) { cn = StringUtils.substringBetween(dn, "CN=", ","); } else if (dn.startsWith("/CN=")) { cn = StringUtils.substringBetween(dn, "CN=", "/"); } else if (dn.startsWith("C=") || dn.startsWith("/C=")) { cn = StringUtils.substringAfter(dn, "CN="); } else if (dn.startsWith("/") && StringUtils.contains(dn, "CN=")) { cn = StringUtils.substringAfter(dn, "CN="); } // attempt to get the username from the cn if (StringUtils.isNotBlank(cn)) { if (cn.endsWith(")")) { username = StringUtils.substringBetween(cn, "(", ")"); } else if (cn.contains(" ")) { username = StringUtils.substringAfterLast(cn, " "); } else { username = cn; } } } return username; }
@Override public FlowSnippetDTO instantiateTemplate( String groupId, Double originX, Double originY, String templateId) { ProcessGroup group = locateProcessGroup(flowController, groupId); // get the template id and find the template Template template = flowController.getTemplate(templateId); // ensure the template could be found if (template == null) { throw new ResourceNotFoundException( String.format("Unable to locate template with id '%s'.", templateId)); } try { // copy the template which pre-processes all ids TemplateDTO templateDetails = template.getDetails(); FlowSnippetDTO snippet = snippetUtils.copy(templateDetails.getSnippet(), group); // reposition the template contents org.apache.nifi.util.SnippetUtils.moveSnippet(snippet, originX, originY); // instantiate the template into this group flowController.instantiateSnippet(group, snippet); return snippet; } catch (ProcessorInstantiationException pie) { throw new NiFiCoreException( String.format( "Unable to instantiate template because processor type '%s' is unknown to this NiFi.", StringUtils.substringAfterLast(pie.getMessage(), "."))); } }
/** 创建/更新/删除任务. */ @Test @Category(Smoke.class) public void createUpdateAndDeleteTask() { // create Task task = TaskData.randomTask(); URI createdTaskUri = restTemplate.postForLocation(resourceUrl, task); System.out.println(createdTaskUri.toString()); Task createdTask = restTemplate.getForObject(createdTaskUri, Task.class); assertThat(createdTask.getTitle()).isEqualTo(task.getTitle()); // update String id = StringUtils.substringAfterLast(createdTaskUri.toString(), "/"); task.setId(new Long(id)); task.setTitle(TaskData.randomTitle()); restTemplate.put(createdTaskUri, task); Task updatedTask = restTemplate.getForObject(createdTaskUri, Task.class); assertThat(updatedTask.getTitle()).isEqualTo(task.getTitle()); // delete restTemplate.delete(createdTaskUri); try { restTemplate.getForObject(createdTaskUri, Task.class); fail("Get should fail while feth a deleted task"); } catch (HttpStatusCodeException e) { assertThat(e.getStatusCode()).isEqualTo(HttpStatus.NOT_FOUND); } }
@Override public boolean move(FtpFile target) { try (Tx tx = StructrApp.getInstance().tx()) { logger.log(Level.INFO, "move()"); final AbstractStructrFtpFile targetFile = (AbstractStructrFtpFile) target; final String path = targetFile instanceof StructrFtpFile ? "/" : targetFile.getAbsolutePath(); try { if (!("/".equals(path))) { final String newName = path.contains("/") ? StringUtils.substringAfterLast(path, "/") : path; setProperty(AbstractNode.name, newName); } } catch (FrameworkException ex) { logger.log(Level.SEVERE, "Could not move ftp file", ex); return false; } tx.success(); return true; } catch (FrameworkException ex) { logger.log(Level.SEVERE, null, ex); } return false; }
@Override public Negotiator<?> findNegotiator( HttpServletRequest req, NegotiatingView view, ViewNegotiatorRegistry viewNegotiatorRegistry) { String requestUri = req.getRequestURI(); String extension = StringUtils.trimToEmpty(StringUtils.substringAfterLast(requestUri, ".")); String mimeType = MimeTypes.lookupMimeType(extension); return viewNegotiatorRegistry.getNegotiator(mimeType); }
@Override public String getProductVersion() { return getBrandingPlugins() .stream() .map(plugin -> StringUtils.substringAfterLast(plugin.getProductName(), " ")) .filter(Objects::nonNull) .findFirst() .orElse(""); }
@Override @Nullable public String getTrackableCodeFromUrl(@NonNull final String url) { final String geocode = StringUtils.upperCase(StringUtils.substringAfterLast(url, "swaggie/")); if (canHandleTrackable(geocode)) { return geocode; } return null; }
public MultipartFile mockImage(String path) { try (InputStream in = getClass().getResourceAsStream(path)) { byte[] content = IOUtils.toByteArray(in); return new MockMultipartFile( StringUtils.substringAfterLast(path, "/"), path, "image/png", content); } catch (IOException ex) { throw new RuntimeException(ex); } }
public static String getSuffix(File file) throws IOException { if (file == null) { Throw.ioe(TAG, "File is null."); return null; // To make static analysis happy } String path = file.getAbsolutePath(); String suffix = "." + StringUtils.substringAfterLast(path, "."); checkValidSuffix(suffix); return suffix; }
/** * 处理其他方法 * * @throws Exception * @throws * @throws InstantiationException */ @SuppressWarnings({"rawtypes", "unchecked"}) protected boolean handleOther( HttpServletRequest request, Set<SearchFilter> filterSet, Method method, DataControl dataControl, Module module) throws Exception { String[] ids = null; if (method.getName().endsWith(MANY_METHOD_SUFFIX)) { // 多对象操作方法 ids = request.getParameterValues(MANY_KEY); if (ids != null) { filterSet.add(new SearchFilter("id", Operator.IN, ids)); } } else { String id = request.getParameter("id"); if (id != null) { filterSet.add(new SearchFilter("id", Operator.EQ, id)); } else { // 截取类似/update/{id}的id String uri = request.getRequestURI(); String tmp = StringUtils.substringAfterLast(uri, "/"); Long longId = NumberUtils.toLong(tmp); if (longId != 0L) { filterSet.add(new SearchFilter("id", Operator.EQ, longId)); } } } Object clazz = Class.forName(module.getClassName()).newInstance(); // Object clazz = null; Specification spec = DynamicSpecifications.bySearchFilter(request, clazz.getClass(), filterSet); CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = builder.createQuery(clazz.getClass()); Root root = criteriaQuery.from(clazz.getClass()); Predicate predicate = spec.toPredicate(root, criteriaQuery, builder); criteriaQuery.where(predicate); List<Object> objects = em.createQuery(criteriaQuery).getResultList(); if (ids != null) { if (objects.size() == ids.length) { return true; } } else { if (objects.size() > 0) { return true; } } return false; }
/** * Get the guessed file extension of an URL. A file extension can contain up-to 4 characters in * addition to the dot. * * @param url the relative or absolute URL * @return the file extension, including the leading dot, or the empty string if none could be * determined */ static String getExtension(final String url) { final String urlExt; if (url.startsWith("data:")) { // "data:image/png;base64,i53…" -> ".png" urlExt = StringUtils.substringAfter(StringUtils.substringBefore(url, ";"), "/"); } else { // "http://example.com/foo/bar.png" -> ".png" urlExt = StringUtils.substringAfterLast(url, "."); } return urlExt.length() >= 1 && urlExt.length() <= 4 ? "." + urlExt : ""; }
/** * * * <li><b>Substring/Left/Right/Mid</b> - null-safe substring extractions * <li><b>SubstringBefore/SubstringAfter/SubstringBetween</b> - substring extraction relative to * other strings */ @Test public void testSubstringLeftStringUtils() { System.out.println(strOne + ":" + strOne.length()); System.out.println(StringUtils.substring(strOne, 3)); System.out.println(StringUtils.substring(strOne, 3, 7)); System.out.println(StringUtils.substringAfter(strOne, " ")); System.out.println(StringUtils.substringAfterLast(strOne, " ")); System.out.println(StringUtils.substringBefore(strOne, " ")); System.out.println(StringUtils.substringBeforeLast(strOne, " ")); System.out.println(StringUtils.substringBetween(strOne, "the", "not")); }
@Override public PropertyInterface get(String name) { PropertyInterface property = safeget(name); if (property == null) { // In previous versions the property name was the full Java class name of the property class // implementation. // Extract the actual property name (the hint used to lookup the property class provider) by // removing the // Java package prefix and the Class suffix. property = safeget(StringUtils.removeEnd(StringUtils.substringAfterLast(name, "."), "Class")); } return property; }
/** Logs the event type and some information about the associated proposal person bio */ protected void logEvent() { StringBuffer logMessage = new StringBuffer(StringUtils.substringAfterLast(this.getClass().getName(), ".")); logMessage.append(" with "); // vary logging detail as needed if (getProposalPersonBiography() == null) { logMessage.append("null proposalPersonBiography"); } else { logMessage.append(getProposalPersonBiography().toString()); } LOG.debug(logMessage); }
@Override protected void logEvent() { StringBuffer logMessage = new StringBuffer(StringUtils.substringAfterLast(this.getClass().getName(), ".")); logMessage.append(" with "); // vary logging detail as needed if (this.actionBean == null) { logMessage.append("null actionBean"); } else { logMessage.append(actionBean.toString()); } LOG.debug(logMessage); }
private void createThumbnail(String idImage, Integer size, String prefix) { File image = Paths.get(getRoot()).resolve(idImage).toFile(); BufferedImage i = null; try { i = ImageIO.read(image); BufferedImage thumbnail = i; if (i.getWidth() > size || i.getHeight() > size) { // dont resize if image is smaller that max_size thumbnail = Scalr.resize(i, Method.QUALITY, size, size); } File outputfile = Paths.get(getRoot()).resolve(prefix.concat(idImage)).toFile(); ImageIO.write(thumbnail, StringUtils.substringAfterLast(idImage, "."), outputfile); } catch (Exception e) { e.printStackTrace(); } }
/** Logs the event type and some information about the associated special review */ protected void logEvent() { if (LOG.isDebugEnabled()) { StringBuilder logMessage = new StringBuilder(StringUtils.substringAfterLast(this.getClass().getName(), ".")); logMessage.append(" with "); // vary logging detail as needed if (getAwardFandaRate() == null) { logMessage.append("null award F and a Rate Event"); } else { logMessage.append(getAwardFandaRate().toString()); } LOG.debug(logMessage); } }
@SuppressWarnings("unchecked") List<String> getListOfPlayerIDs() throws Exception { final List<String> playerList = new ArrayList<String>(); final HtmlPage page = (HtmlPage) this.webClient.getPage(STATS_PAGE_2012); final HtmlTable battingStatsTable = (HtmlTable) page.getElementById(BATTING_TABLE_ID); final List<HtmlTableRow> statRows = (List<HtmlTableRow>) battingStatsTable.getByXPath("//tr[contains(@class, 'full_table')]"); for (HtmlTableRow row : statRows) { final DomNodeList<HtmlElement> dataCells = (DomNodeList<HtmlElement>) row.getElementsByTagName("td"); final HtmlAnchor playerLink = (HtmlAnchor) dataCells.get(1).getElementsByTagName("a").get(0); playerList.add( StringUtils.substringAfterLast(playerLink.getHrefAttribute().replace(".shtml", ""), "/")); } return playerList; }
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String requestPath = request .getRequestURI() .replaceFirst("^" + request.getContextPath() + request.getServletPath() + "/", ""); if (!requestPath.endsWith("/")) { String fileName = (requestPath.contains("/")) ? StringUtils.substringAfterLast(requestPath, "/") : requestPath; String mimeType = servletContext.getMimeType(fileName); if (mimeType != null) { response.setHeader(CONTENT_TYPE, mimeType); } } ThreadSafeStaticBRJSAccessor.aquireModel(); UrlContentAccessor contentAccessor = new ServletContentAccessor(app, servletContext, request, response); try (ResponseContent content = app.requestHandler() .handleLogicalRequest(requestPath, contentAccessor, RequestMode.Dev); ) { if (!response .isCommitted()) { // check the ServletContentAccessor hasnt been used to handle a request // and sent headers content.write(response.getOutputStream()); } } catch (MalformedRequestException e) { response.sendError(400, e.getMessage()); } catch (ResourceNotFoundException e) { response.sendError(404, e.getMessage()); } catch (ContentProcessingException e) { response.sendError(500, e.getMessage()); } catch (ModelOperationException e) { throw new ServletException(e); } finally { ThreadSafeStaticBRJSAccessor.releaseModel(); } }
private void processBinding( EnvironmentReferenceService envRefService, JNDIResourceService jndiResourceService, Set<ProjectModel> applications, Element resourceRef, String tagName) { String href = $(resourceRef).child(tagName).attr("href"); String resourceId = StringUtils.substringAfterLast(href, "ejb-jar.xml#"); String jndiLocation = $(resourceRef).attr("jndiName"); if (StringUtils.isNotBlank(jndiLocation) && StringUtils.isNotBlank(resourceId)) { JNDIResourceModel resource = jndiResourceService.createUnique(applications, jndiLocation); LOG.info("JNDI Name: " + jndiLocation + " to Resource: " + resourceId); // now, look up the resource which is resolved by DiscoverEjbConfigurationXmlRuleProvider for (EnvironmentReferenceModel ref : envRefService.findAllByProperty(EnvironmentReferenceModel.REFERENCE_ID, resourceId)) { envRefService.associateEnvironmentToJndi(resource, ref); } } }
/** * Transforms the given image (i.e. shrinks the image and changes its quality) before it is * downloaded. * * @param image the image to be downloaded * @param width the desired image width; this value is taken into account only if it is greater * than zero and less than the current image width * @param height the desired image height; this value is taken into account only if it is greater * than zero and less than the current image height * @param quality the desired compression quality * @param context the XWiki context * @return the transformed image * @throws Exception if transforming the image fails */ private XWikiAttachment downloadImage( XWikiAttachment image, int width, int height, float quality, XWikiContext context) throws Exception { initCache(context); boolean keepAspectRatio = Boolean.valueOf(context.getRequest().getParameter("keepAspectRatio")); XWikiAttachment thumbnail = (this.imageCache == null) ? shrinkImage(image, width, height, keepAspectRatio, quality, context) : downloadImageFromCache(image, width, height, keepAspectRatio, quality, context); // If the image has been transformed, update the file name extension to match the image format. String fileName = thumbnail.getFilename(); String extension = StringUtils.lowerCase(StringUtils.substringAfterLast(fileName, String.valueOf('.'))); if (thumbnail != image && !Arrays.asList("jpeg", "jpg", "png").contains(extension)) { // The scaled image is PNG, so correct the extension in order to output the correct MIME type. thumbnail.setFilename(StringUtils.substringBeforeLast(fileName, ".") + ".png"); } return thumbnail; }
public static void main(String[] args) { String path = Take.class.getResource("/").getPath(); String proFile = path + "file.json"; final List<String> urls = new ArrayList<String>(); Files.readLine( Files.findFile(proFile), new Callback<String>() { @Override public void invoke(String str) { urls.add(str); } }); for (String url : urls) { if (StringUtils.isBlank(url)) { continue; } Response req = Http.get(url); String savePath = path + "/temp/" + StringUtils.substringAfterLast(url, "/"); savePath = StringUtils.substringBefore(savePath, "?"); Files.write(savePath, req.getStream()); System.out.println("save Path:" + savePath); } }
@Override public void perform(GraphRewrite event, EvaluationContext context, XmlFileModel payload) { EnvironmentReferenceService envRefService = new EnvironmentReferenceService(event.getGraphContext()); XmlFileService xmlFileService = new XmlFileService(event.getGraphContext()); JNDIResourceService jndiResourceService = new JNDIResourceService(event.getGraphContext()); JmsDestinationService jmsDestinationService = new JmsDestinationService(event.getGraphContext()); GraphService<EjbSessionBeanModel> ejbSessionBeanService = new GraphService<>(event.getGraphContext(), EjbSessionBeanModel.class); GraphService<EjbMessageDrivenModel> mdbService = new GraphService<>(event.getGraphContext(), EjbMessageDrivenModel.class); ClassificationService classificationService = new ClassificationService(event.getGraphContext()); ClassificationModel classification = classificationService.attachClassification( context, payload, "WebSphere EJB Binding", "WebSphere Enterprise Java Bean Binding XML Descriptor"); classification.setEffort(1); TechnologyTagService technologyTagService = new TechnologyTagService(event.getGraphContext()); technologyTagService.addTagToFileModel(payload, "WebSphere EJB", TechnologyTagLevel.IMPORTANT); Document doc = xmlFileService.loadDocumentQuiet(context, payload); if (doc == null) { return; } VendorSpecificationExtensionService vendorSpecificationService = new VendorSpecificationExtensionService(event.getGraphContext()); // mark as vendor extension; create reference to ejb-jar.xml vendorSpecificationService.associateAsVendorExtension(payload, "ejb-jar.xml"); Set<ProjectModel> applications = ProjectTraversalCache.getApplicationsForProject( event.getGraphContext(), payload.getProjectModel()); // register beans to JNDI for (Element resourceRef : $(doc).find("ejbBindings").get()) { String href = $(resourceRef).child("enterpriseBean").attr("href"); String resourceId = StringUtils.substringAfterLast(href, "ejb-jar.xml#"); String jndiLocation = $(resourceRef).attr("jndiName"); // determine type: String type = $(resourceRef).child("enterpriseBean").attr("type"); LOG.info("Type: " + type); if (StringUtils.isNotBlank(jndiLocation) && StringUtils.isNotBlank(resourceId)) { JNDIResourceModel resource = jndiResourceService.createUnique(applications, jndiLocation); LOG.info("JNDI Name: " + jndiLocation + " to Resource: " + resourceId); // now, look up the resource which is resolved by DiscoverEjbConfigurationXmlRuleProvider for (EnvironmentReferenceModel ref : envRefService.findAllByProperty(EnvironmentReferenceModel.REFERENCE_ID, resourceId)) { envRefService.associateEnvironmentToJndi(resource, ref); } for (EjbSessionBeanModel ejb : ejbSessionBeanService.findAllByProperty(EjbSessionBeanModel.EJB_ID, resourceId)) { ejb.setGlobalJndiReference(resource); } } } // register beans to JNDI for (Element resourceRef : $(doc).find("resRefBindings").get()) { processBinding( envRefService, jndiResourceService, applications, resourceRef, "bindingResourceRef"); } for (Element resourceRef : $(doc).find("ejbRefBindings").get()) { processBinding( envRefService, jndiResourceService, applications, resourceRef, "bindingEjbRef"); } for (Element resourceRef : $(doc).find("messageDestinationRefBindings").get()) { processBinding( envRefService, jndiResourceService, applications, resourceRef, "bindingMessageDestinationRef"); } // Bind MDBs to Destinations for (Element resourceRef : $(doc).find("messageDestinationRefBindings").get()) { String jndiLocation = $(resourceRef).attr("jndiName"); // get the parent, as that has the reference to the MDB... String mdbRef = $(resourceRef).siblings("enterpriseBean").attr("href"); String mdbId = StringUtils.substringAfterLast(mdbRef, "ejb-jar.xml#"); if (StringUtils.isNotBlank(mdbId)) { for (EjbMessageDrivenModel mdb : mdbService.findAllByProperty(EjbMessageDrivenModel.EJB_ID, mdbId)) { String destination = jndiLocation; if (StringUtils.isNotBlank(destination)) { JmsDestinationModel jndiRef = jmsDestinationService.createUnique(applications, destination); mdb.setDestination(jndiRef); } } } } }
private static Long time(String value) { return Long.valueOf(StringUtils.substringAfterLast(value, "]")); }
@SuppressWarnings({"resource", "rawtypes", "unchecked"}) public static void main(String[] args) throws Exception { Configuration cfg = new Configuration(); // 设置FreeMarker的模版文件位置 cfg.setClassForTemplateLoading( SourceCodeFrameworkBuilder.class, "/lab/s2jh/tool/builder/freemarker"); cfg.setDefaultEncoding("UTF-8"); String rootPath = args[0]; Set<String> entityNames = new HashSet<String>(); String entityListFile = rootPath + "entity_list.properties"; BufferedReader reader = new BufferedReader(new FileReader(entityListFile)); String line; while ((line = reader.readLine()) != null) { if (StringUtils.isNotBlank(line) && !line.startsWith("#")) { entityNames.add(line); } } new File(rootPath + "\\codes").mkdir(); new File(rootPath + "\\codes\\integrate").mkdir(); new File(rootPath + "\\codes\\standalone").mkdir(); for (String entityName : entityNames) { String integrateRootPath = rootPath + "\\codes\\integrate\\"; String standaloneRootPath = rootPath + "\\codes\\standalone\\"; String rootPackage = StringUtils.substringBetween(entityName, "[", "]"); String rootPackagePath = StringUtils.replace(rootPackage, ".", "\\"); String className = StringUtils.substringAfterLast(entityName, "."); String classFullName = StringUtils.replaceEach(entityName, new String[] {"[", "]"}, new String[] {"", ""}); String modelName = StringUtils.substringBetween(entityName, "].", ".entity"); String modelPath = StringUtils.replace(modelName, ".", "/"); modelPath = "/" + modelPath; String modelPackagePath = StringUtils.replace(modelName, ".", "\\"); modelPackagePath = "\\" + modelPackagePath; Map<String, Object> root = new HashMap<String, Object>(); String nameField = propertyToField(StringUtils.uncapitalize(className)).toLowerCase(); root.put("model_name", modelName); root.put("model_path", modelPath); root.put("entity_name", className); root.put("entity_name_uncapitalize", StringUtils.uncapitalize(className)); root.put("entity_name_field", nameField); root.put("root_package", rootPackage + "." + modelName); root.put("action_package", rootPackage); root.put("table_name", "T_TODO_" + className.toUpperCase()); root.put("base", "${base}"); Class entityClass = Class.forName(classFullName); root.put("id_type", entityClass.getMethod("getId").getReturnType().getSimpleName()); MetaData classEntityComment = (MetaData) entityClass.getAnnotation(MetaData.class); if (classEntityComment != null) { root.put("model_title", classEntityComment.value()); } else { root.put("model_title", entityName); } debug("Entity Data Map=" + root); Set<Field> fields = new HashSet<Field>(); Field[] curfields = entityClass.getDeclaredFields(); for (Field field : curfields) { fields.add(field); } Class superClass = entityClass.getSuperclass(); while (superClass != null && !superClass.equals(BaseEntity.class)) { Field[] superfields = superClass.getDeclaredFields(); for (Field field : superfields) { fields.add(field); } superClass = superClass.getSuperclass(); } // 定义用于OneToOne关联对象的Fetch参数 Map<String, String> fetchJoinFields = Maps.newHashMap(); List<EntityCodeField> entityFields = new ArrayList<EntityCodeField>(); int cnt = 1; for (Field field : fields) { if ((field.getModifiers() & Modifier.FINAL) != 0 || "id".equals(field.getName())) { continue; } debug(" - Field=" + field); Class fieldType = field.getType(); EntityCodeField entityCodeField = null; if (fieldType.isEnum()) { entityCodeField = new EntityCodeField(); entityCodeField.setListFixed(true); entityCodeField.setListWidth(80); entityCodeField.setListAlign("center"); } else if (fieldType == Boolean.class) { entityCodeField = new EntityCodeField(); entityCodeField.setListFixed(true); entityCodeField.setListWidth(60); entityCodeField.setListAlign("center"); } else if (PersistableEntity.class.isAssignableFrom(fieldType)) { entityCodeField = new EntityCodeField(); entityCodeField.setFieldType("Entity"); } else if (Number.class.isAssignableFrom(fieldType)) { entityCodeField = new EntityCodeField(); entityCodeField.setListFixed(true); entityCodeField.setListWidth(60); entityCodeField.setListAlign("right"); } else if (fieldType == String.class) { entityCodeField = new EntityCodeField(); // 根据Hibernate注解的字符串类型和长度设定是否列表显示 Method getMethod = entityClass.getMethod("get" + StringUtils.capitalize(field.getName())); Column fieldColumn = getMethod.getAnnotation(Column.class); if (fieldColumn != null) { int length = fieldColumn.length(); if (length > 255) { entityCodeField.setList(false); entityCodeField.setListWidth(length); } } Lob fieldLob = getMethod.getAnnotation(Lob.class); if (fieldLob != null) { entityCodeField.setList(false); entityCodeField.setListWidth(Integer.MAX_VALUE); } } else if (fieldType == Date.class) { entityCodeField = new EntityCodeField(); entityCodeField.setListFixed(true); // 根据Json注解设定合理的列宽 entityCodeField.setListWidth(120); Method getMethod = entityClass.getMethod("get" + StringUtils.capitalize(field.getName())); JsonSerialize fieldJsonSerialize = getMethod.getAnnotation(JsonSerialize.class); if (fieldJsonSerialize != null) { if (DateJsonSerializer.class.equals(fieldJsonSerialize.using())) { entityCodeField.setListWidth(80); } } entityCodeField.setListAlign("center"); } if (entityCodeField != null) { if (fieldType.isEnum()) { entityCodeField.setEnumField(true); } if (StringUtils.isBlank(entityCodeField.getFieldType())) { entityCodeField.setFieldType(fieldType.getSimpleName()); } entityCodeField.setFieldName(field.getName()); EntityAutoCode entityAutoCode = field.getAnnotation(EntityAutoCode.class); if (entityAutoCode != null) { entityCodeField.setListHidden(entityAutoCode.listHidden()); entityCodeField.setEdit(entityAutoCode.edit()); entityCodeField.setList(entityAutoCode.listHidden() || entityAutoCode.listShow()); entityCodeField.setOrder(entityAutoCode.order()); } else { entityCodeField.setTitle(field.getName()); entityCodeField.setOrder(cnt++); } MetaData entityMetaData = field.getAnnotation(MetaData.class); if (entityMetaData != null) { entityCodeField.setTitle(entityMetaData.value()); } Method getMethod = entityClass.getMethod("get" + StringUtils.capitalize(field.getName())); JsonProperty fieldJsonProperty = getMethod.getAnnotation(JsonProperty.class); if (fieldJsonProperty != null) { entityCodeField.setList(true); } if (entityCodeField.getList() || entityCodeField.getListHidden()) { JoinColumn fieldJoinColumn = getMethod.getAnnotation(JoinColumn.class); if (fieldJoinColumn != null) { if (fieldJoinColumn.nullable() == false) { fetchJoinFields.put(field.getName(), "INNER"); } else { fetchJoinFields.put(field.getName(), "LEFT"); } } } entityFields.add(entityCodeField); } } Collections.sort(entityFields); root.put("entityFields", entityFields); if (fetchJoinFields.size() > 0) { root.put("fetchJoinFields", fetchJoinFields); } integrateRootPath = integrateRootPath + rootPackagePath + modelPackagePath; // process(cfg.getTemplate("Entity.ftl"), root, integrateRootPath + "\\entity\\", className + // ".java"); process( cfg.getTemplate("Dao.ftl"), root, integrateRootPath + "\\dao\\", className + "Dao.java"); process( cfg.getTemplate("Service.ftl"), root, integrateRootPath + "\\service\\", className + "Service.java"); process( cfg.getTemplate("Controller.ftl"), root, integrateRootPath + "\\web\\action\\", className + "Controller.java"); process( cfg.getTemplate("Test.ftl"), root, integrateRootPath + "\\test\\service\\", className + "ServiceTest.java"); process( cfg.getTemplate("JSP_Index.ftl"), root, integrateRootPath + "\\jsp\\", nameField + "-index.jsp"); process( cfg.getTemplate("JSP_Input_Tabs.ftl"), root, integrateRootPath + "\\jsp\\", nameField + "-inputTabs.jsp"); process( cfg.getTemplate("JSP_Input_Basic.ftl"), root, integrateRootPath + "\\jsp\\", nameField + "-inputBasic.jsp"); process( cfg.getTemplate("JSP_View_Tabs.ftl"), root, integrateRootPath + "\\jsp\\", nameField + "-viewTabs.jsp"); process( cfg.getTemplate("JSP_View_Basic.ftl"), root, integrateRootPath + "\\jsp\\", nameField + "-viewBasic.jsp"); standaloneRootPath = standaloneRootPath + rootPackagePath + modelPackagePath + "\\" + className; // process(cfg.getTemplate("Entity.ftl"), root, standaloneRootPath + "\\entity\\", className + // ".java"); process( cfg.getTemplate("Dao.ftl"), root, standaloneRootPath + "\\dao\\", className + "Dao.java"); process( cfg.getTemplate("Service.ftl"), root, standaloneRootPath + "\\service\\", className + "Service.java"); process( cfg.getTemplate("Controller.ftl"), root, standaloneRootPath + "\\web\\action\\", className + "Controller.java"); process( cfg.getTemplate("Test.ftl"), root, standaloneRootPath + "\\test\\service\\", className + "ServiceTest.java"); process( cfg.getTemplate("JSP_Index.ftl"), root, standaloneRootPath + "\\jsp\\", nameField + "-index.jsp"); process( cfg.getTemplate("JSP_Input_Tabs.ftl"), root, standaloneRootPath + "\\jsp\\", nameField + "-inputTabs.jsp"); process( cfg.getTemplate("JSP_Input_Basic.ftl"), root, standaloneRootPath + "\\jsp\\", nameField + "-inputBasic.jsp"); process( cfg.getTemplate("JSP_View_Tabs.ftl"), root, standaloneRootPath + "\\jsp\\", nameField + "-viewTabs.jsp"); process( cfg.getTemplate("JSP_View_Basic.ftl"), root, standaloneRootPath + "\\jsp\\", nameField + "-viewBasic.jsp"); } }
@Override protected void init() throws OAuth2Exception { final URI authURI = OAuthClientUtils.getAuthorizationURI( oauth2GrantServiceURI.toASCIIString(), OAuth2Provider.CLIENT_ID, OAuth2Provider.REDIRECT_URI, null, null); // Disable automatic redirects handling final HttpParams params = new BasicHttpParams(); params.setParameter(ClientPNames.HANDLE_REDIRECTS, false); final DefaultHttpClient httpClient = new DefaultHttpClient(params); JsonNode oAuthAuthorizationData = null; String authenticityCookie = null; try { // 1. Need to (basic) authenticate against the OAuth2 service final HttpGet method = new HttpGet(authURI); method.addHeader( "Authorization", "Basic " + Base64.encodeBase64String("odatajclient:odatajclient".getBytes())); final HttpResponse response = httpClient.execute(method); // 2. Pull out OAuth2 authorization data and "authenticity" cookie (CXF specific) oAuthAuthorizationData = new XmlMapper().readTree(EntityUtils.toString(response.getEntity())); final Header setCookieHeader = response.getFirstHeader("Set-Cookie"); if (setCookieHeader == null) { throw new IllegalStateException("OAuth flow is broken"); } authenticityCookie = setCookieHeader.getValue(); } catch (Exception e) { throw new OAuth2Exception(e); } String code = null; try { // 3. Submit the HTTP form for allowing access to the application final URI location = new URIBuilder(oAuthAuthorizationData.get("replyTo").asText()) .addParameter( "session_authenticity_token", oAuthAuthorizationData.get("authenticityToken").asText()) .addParameter("client_id", oAuthAuthorizationData.get("clientId").asText()) .addParameter("redirect_uri", oAuthAuthorizationData.get("redirectUri").asText()) .addParameter("oauthDecision", "allow") .build(); final HttpGet method = new HttpGet(location); method.addHeader( "Authorization", "Basic " + Base64.encodeBase64String("odatajclient:odatajclient".getBytes())); method.addHeader("Cookie", authenticityCookie); final HttpResponse response = httpClient.execute(method); final Header locationHeader = response.getFirstHeader("Location"); if (response.getStatusLine().getStatusCode() != 303 || locationHeader == null) { throw new IllegalStateException("OAuth flow is broken"); } // 4. Get the authorization code value out of this last redirect code = StringUtils.substringAfterLast(locationHeader.getValue(), "="); EntityUtils.consumeQuietly(response.getEntity()); } catch (Exception e) { throw new OAuth2Exception(e); } // 5. Obtain the access token try { accessToken = OAuthClientUtils.getAccessToken( getAccessTokenService(), OAUTH2_CONSUMER, new AuthorizationCodeGrant(code)); } catch (OAuthServiceException e) { throw new OAuth2Exception(e); } if (accessToken == null) { throw new OAuth2Exception("No OAuth2 access token"); } }