The JavaFX 2 WebView component might provide me with a convenient way to connect my software to existing school data management web applications without needing a direct connection to the database. Right now a secretary would run an export from the data management program, save the data as CSV, then import the data into my program. This process might need to be repeated 30 times, so I am investigating other ways of extracting the data my software needs.
I wonder if the following solution is possible:
Emben a Java FX 2 WebView component into my program. The user would then log into the data management web application and extract the data the wish to import. Most of these school management programs support CSV and XML as the file format.
If I can extact the content currently being viewed by WebView, I should be able to parse the XML and import the data. This would be less steps for the user with the added benefit that I can infer information about the database structure from the XML export more easily than from a CSV file.
I didn't see any method in the Java FX 2 JavaDocs for WebView that does what I want. Is there a way to get the content from the page?
A WebView is a node that displays the content of a WebEngine. The methods you want are in WebEngine.
Ex: you can get the document using webView.getEngine().getDocument()
Related
I'm just getting started with this process, but figured I'd ask if it is possible with only Java.
At work, we use an intranet for much of our work. I am developing an application that uses some of the information from those websites. However, we currently need to copy from IE and paste into my JavaFX application.
I was wondering if Java provides any sort of integration with the Windows API that would allow me to automatically pull that data from IE to my app.
For example, there is a web-based form with several textfields; I want to be able to capture the text that is written in them, programatically.
EDIT: I do not have access to the website code directly.
mmm i dont think it work that way,
you can make a java scraper , who is a program to get the code html of a certain page, but you cant get data from a form, because the clients are diferents.
maybe you can send from web client form the user/password to an app, but you cant make an intrusion from app to a form who is in a web page with content in the value of form fields
So you need to get form data from IE but you can't put code into the website. It sounds like a task for a plugin. Consider developing your own plugin or extension (probably in javascript) in IE.
We are trying to develop a website for tracking the progress of pipeline and assets. I want to link progress data entered from forms developed in Java to GIS. We will be capturing all the lat and longs of pipeline stretch and lat and log of progress of work.
I need help in developing shapefile dynamically based on the progress and also to view that shape file in my webpage
The javascript API does have functionality for uploading shapefiles form your desktop into the browser, but you will need another tool to create those shapefiles based on the progress.
For uploading the shapefiles, see the example here: https://developers.arcgis.com/javascript/3/jssamples/portal_addshapefile.html
There may be more examples available at https://developers.arcgis.com/javascript/3/.
For creating the shapefiles dynamically, you could use ArcMap or ArcPro if you have those, or one of many python libraries to help write shapefiles. There may even be some Java libraries to help with this as well but I only work on the front end so I cannot help you there.
For something simple in context, the complexity of what kind of workflow to best suite your needs can range depending on these questions (and probably others I'm not thinking of):
Do you absolutely need to create a shapefile for this? Why can't you just push the form to a spatial database (e.g. PostGIS) and then return the XYs of the points or the string of XYs for line features, etc.?
Where is the source of the data & what is the format? Is it a PDF, text on an HTML page, a .csv file downloadable from a page, etc.? You may need to implement scraping (from a site) or download and update, or your data could be live streaming - these are all different workflows and you need to establish these boundaries before setting up your workflow.
If your end game are points, all you need is XYs in a table format to display in GIS software. If they are lines or polygons, it'd be a little different. Again - what output type are they and what are you trying to do with it (e.g. import into QGIS)?
Without these answers, it doesn't make sense for anyone to suggest something to you that could be totally impossible for you to execute. Please answer these and think through your workflow from beginning to end and/or visa versa.
Cheers,
Shawn
I am creating an android application using the 2.2 API. I have created the layout of the app (Design interface) and now i need to populate my application with data.
For example, my application shall allow users of my uni to login and then find lecture (PDFS and POWERPOINT DOCUEMENTS) and be able to view them.
Now i am unsure whether to do this using a database where the files have been pre saved so when the user requires the files it is accessed from the database
OR
whether to have some sort of coding that directly links, say a button 'Lecture 3' to the actual web link of Lecture 3?
We have a Blackboard system which holds/displays all our lecture and labratory material, so i could have a link to the material held in the website?
I've heard of JSON, JQUERY but completely unsure on what they are lol.
I was going to use SQLite as my database, however, refering back to what i said before, i am unsure whether that can hold files (DOC, PPt etc)
Look forward to all your help
Thanks in advance
If you want to make your Application as off line(without internet user can access files) then Take files from server and store those files in Application memory and store that path in local data base.when you want to show those files to user take the path from data base,go to the path location and show files to user.
else download the files directly from server and show those files to user at that time only.
I need to make a data file to hold two empty tables with many fields
I have been successful at making a MySQL 5.5 Table with its DOS style IDE OK.
And MySQL registers with NetBeans very well.
Can I make a script to build this from with in my program
or can this be done directly in Java and get a Java file to read file parameters as its executed to create the data base file name.
I have no idea what direction to take to do this and what's possible.
I'm writing in Java and Delphi and Delphi has no MySQL support.
Has any one done anything similar before and how did they do it
The database is to hold 70 meduim size pictures, How slow will updates be when accessing pictures and should I use JPEG or BMP storage for wireless Java apps?
Can Java manage JPEG files and display them?
Lots of questions in one post. Let me try to address each point individually.
Yes, you can write Java code to create your MySQL database for you. On the other hand, tools such Liquibase can do this for you—you just need to learn its XML configuration syntax.
Lots of people have successfully written Java and Delphi code to access MySQL databases. If I recall correctly, at the very least Delphi supports MySQL access through ODBC, if not, through 3rd-party custom components.
Java can store & retrieve JPEG images to/from a database just like any other language, though, in practice, I wouldn't do it that way. Rather, I'd store the images themselves in the file system and just store their locations in the database. RDBMSes weren't really built with handling large binary BLOBs in mind.
How would you like to display the images? If on screen via a desktop client, then, yes, Java's Swing components can easily and readily display JPEG, even GIF & PNG images. If via a Web browser or remote client, then it's really just a matter of serving the images over HTTP to the browser/client app.
My work has tasked me with determining the feasibility of migrating our existing in-house built change management services(web based) to a Sharepoint solution. I've found everything to be easy except I've run into the issue that for each change management issue (several thousand) there may be any number of attachment files associated with them, called through javascript, that need to be downloaded and put into a document library.
(ex. ... onClick="DownloadAttachment(XXXXX,'ProjectID=YYYY');return false">Attachment... ).
To keep me from manually selecting them all I've been looking over posts of people wanting to do similar, and there seem to be many possible solutions, but they often seem more complicated than they need to be.
So I suppose in a nutshell I'm asking what would be the best way to approach this issue that yields some sort of desktop application or script that can interact with web pages and will let me select and organize all the attachments. (Making a purely web based app (php, javascript, rails, etc.) is not an option for me, so throwing that out there now).
Thanks in advance.
Given a document id and project id,
XXXXX and YYYY respectively in
your example, figure out the URL
from which the file contents can be
downloaded. You can observe a few
URL links in the browser and detect
the pattern which your web
application uses.
Use a tool like Selenium to get a
list of XXXXXs and YYYYs of
documents you need to download.
Write a bash script with wget to
download the files locally and put
in the correct folders.
This is a "one off" migration, right?
Get access to your in-house application's database, and create an SQL query which pulls out rows showing the attachment names (XXXXX?) and the issue/project (YYYY?), ex:
|file_id|issue_id|file_name |
| 5| 123|Feasibility Test.xls|
Analyze the DownloadAttachment method and figure out how it generates the URL that it calls for each download.
Start a script (personally I'd go for Python) that will do the migration work.
Program the script to connect and run the SQL query, or can read a CSV file you create manually from step #1.
Program the script to use the details to determine the target-filename and the URL to download from.
Program the script to download the file from the given URL, and place it on the hard drive with the proper name. (In Python, you might use urllib.)
Hopefully that will get you as far as a bunch of files categorized by "issue" like:
issue123/Feasibility Test.xls
issue123/Billing Invoice.doc
issue456/Feasibility Test.xls
Thank you everyone. I was able to get what I needed using htmlunit and java to traverse a report I made of all change items with attachments, go to each one, copy the source code, traverse that to find instances of the download method, and copy the unique IDs of each attachment and build an .xls of all items and their attachments.