Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Newcomers » Newcomers » 32-bit application doesn't work...(No errors are given, but the program doesn't work. Need ideas on what may be going wrong, or some way to debug my deployed application (not from within IDE))
32-bit application doesn't work... [message #1715761] Wed, 25 November 2015 19:38
Matthew Birchler is currently offline Matthew BirchlerFriend
Messages: 2
Registered: November 2015
Junior Member
I created a JavaFX program in Eclipse using e(fx)clipse. it uses the 64-bit JVM (jdk1.8.0_65). It works perfectly both in the IDE, and also as a deployment.

Now, after realizing several people in my organization have 32-bit machines, I am trying to package another version accordingly. I created a second project, linking the src folders, and instead including the 32-bit JVM. The application runs fine within the IDE, but after deployment, it doesn't work.

The foundation of the application is:

It opens an excel file of addresses. Goes through them, and stores them as address objects. Then it compares those address objects with address objects from within a SQL database. It uses java-string-similarity-0.13.jar from debatty.info to come up with probability matches. Then it takes the SQL addresses that match, and writes them back into the excel file. The write process uses apache POI dom, while the reading employs SAX.

What isn't working is the write process of the 32-bit application (but remember, it does work within the IDE). The deployed application is capable of creating a Workbook from the file in use, and re-saving it, but it does not make any modifications.

Can someone help point me in the right direction for this?

Below is my code for my write sequence:

public static void writeMatchedRecords(XSSFWorkbook wb, HashMap<Integer, ExcelAddress> excelRecords,
			HeaderTemplate template) {

		if (Defaults.DEBUG) {
			System.out.println("Writing " + excelRecords.size() + " excel records");
		}
		
		// Variable to allow writing to excel file
		CreationHelper createHelper = wb.getCreationHelper();

		// Iterate through every row of the excel sheet
		for (Row row : wb.getSheetAt(0)) {
			
			if (excelRecords.containsKey(row.getRowNum() + 1)) {
				
				ExcelAddress excelTemp = excelRecords.get(row.getRowNum() + 1);
				HashMap<Double, ArrayList<ShipTo>> matchedShipTos = excelTemp.getMatchedShipTos();

				if (Defaults.DEBUG) {
					System.out.print(row.getCell(template.getColName()) + " from Excel matches with " + excelTemp.getName() + " from HASH with " + matchedShipTos.size() + " matches.");
				}
				
				if (matchedShipTos.isEmpty() == false) {
					
					if (Defaults.DEBUG) {
						System.out.println(" (non-zero confirmed)");
					}
					
					// If Matched Ship contains 100% matches remove all other
					// matches
					if (matchedShipTos.containsKey(1d)) {
						HashMap<Double, ArrayList<ShipTo>> tempHM = new HashMap<Double, ArrayList<ShipTo>>();
						tempHM.put(1d, matchedShipTos.get(1d));
						matchedShipTos.clear();
						matchedShipTos.putAll(tempHM);
					}

					Map<Double, ArrayList<ShipTo>> sortedShipTos = new TreeMap<Double, ArrayList<ShipTo>>(matchedShipTos).descendingMap();					
					
					for (Map.Entry<Double, ArrayList<ShipTo>> entry : sortedShipTos.entrySet()) {

						for (ShipTo shipTo : entry.getValue()) {

							if (Defaults.DEBUG) {
								System.out.print("Ship to Match: ");
								System.out.print(shipTo.getName());
								System.out.print(" P: " + entry.getKey() + "\n");
							}
							
							if (row.getLastCellNum() == wb.getSheetAt(0).getRow(0).getLastCellNum()) {
								// Create additional headers
								wb.getSheetAt(0).getRow(0).createCell(row.getLastCellNum())
										.setCellValue(createHelper.createRichTextString("Probability"));
								wb.getSheetAt(0).getRow(0).createCell(row.getLastCellNum() + 1)
										.setCellValue(createHelper.createRichTextString("P21 - Ship to ID"));
								wb.getSheetAt(0).getRow(0).createCell(row.getLastCellNum() + 2)
										.setCellValue(createHelper.createRichTextString("P21 - Ship to Name"));
								wb.getSheetAt(0).getRow(0).createCell(row.getLastCellNum() + 3).setCellValue(
										createHelper.createRichTextString("P21 - Ship to Address Line 1"));
							}

							row.createCell(row.getLastCellNum()).setCellValue(entry.getKey());
							row.createCell(row.getLastCellNum())
									.setCellValue(createHelper.createRichTextString(Integer.toString(shipTo.getId())));
							row.createCell(row.getLastCellNum())
									.setCellValue(createHelper.createRichTextString(shipTo.getName()));
							row.createCell(row.getLastCellNum())
									.setCellValue(createHelper.createRichTextString(shipTo.getAddress1()));

						}

					}

				}
			}
		}

		Date date = new Date();
		int rand = (int) (Math.random() * 10);
		File file = new File(System.getProperty("user.home") + "/Desktop/"
				+ String.format("%1$s %2$tF%3$s", template.getTemplateName(), date, " (" + rand + ").xlsx"));

		try

		{
			FileOutputStream fileout = new FileOutputStream(file);
			wb.write(fileout);
			fileout.close();
			Desktop.getDesktop().open(file);
		} catch (

		Exception e)

		{
			Alert alert = new Alert(AlertType.ERROR);
			alert.setTitle("Error");
			alert.setHeaderText("Could not save data");
			alert.setContentText("Could not save data to file:\n" + file.getPath());

			alert.showAndWait();
		}

	}

[Updated on: Fri, 27 November 2015 19:30]

Report message to a moderator

Previous Topic:My Eclipse Marketplace Repository doesn't contains favourite plugins
Next Topic:string style
Goto Forum:
  


Current Time: Thu Apr 25 12:16:06 GMT 2024

Powered by FUDForum. Page generated in 0.07623 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top