UCOSPLogCurtisMeerkerk

CMeerkerk edited this page Nov 29, 2015 · 23 revisions
Clone this wiki locally

Each UCOSP participant is asked to log all the steps they take as they make progress through the semester. This includes difficulties they faced (getting set up, understanding how to model in Umple, using UmpleOnline, code that is difficult to figure out, and development tools that are hard to figure out, or don't seem to work properly). The more log entries added the more we can better get a grip on the usability issues with Umple, and the more we can help future new contributors come up to speed.

Please record entries in reverse chronological order

Log Entries

Date

Nov. 29, 2015

Working on Issue 508 again.

Nov. 28, 2015

The bug is fixed but I cannot seem to get rid of this elusive failure in the build and would like to do so if possible before creating another pull req. See 601_corrected branch for latest changes.

template.test:
[junit] WARNING: multiple versions of ant detected in path for junit 
[junit]          jar:file:/usr/local/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit]      and jar:file:/home/curtis/test/luna/umple-master/dist/libs/core/ant.jar!/org/apache/tools/ant/Project.class
[junit] TEST cruise.umple.implementation.php.PhpCodeInjectionTest FAILED
[junit] TEST cruise.umple.statemachine.implementation.php.PhpStateMachineTemplateTest FAILED
[junit] Tests FAILED

[junitreport] Processing /home/curtis/test/luna/umple-master/dist/qa/cruise.umple/TESTS-TestSuites.xml to /tmp/null1485399053 [junitreport] Loading stylesheet jar:file:/usr/local/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl [junitreport] Transform time: 1598ms [junitreport] Deleting: /tmp/null1485399053 [echo] Last Version: 1.22.0.5146

I cannot justify spending more time on this as I don't have an issue in any of my tests which leads me to believe that there may be another test with incorrect results ie. expecting Integer varname instead of the corrected $varname. Though I would expect this to show up in testPhp and not template.test.

Nov. 26, 2015

Pull request had an issue after merging and was then reverted. I made the changes but ran into conflict issues on git and spent many hours trying to get it to commit and build without issues. Will revisit this later.

Nov. 25, 2015

During meeting got some advice where to look and later I found the related tests for issue 601 and made changes as well as submitting pull request after a "git reset --hard master" to remove some unnecessary changes and pasted raw changes back into the files.

Nov. 24, 2015

Working on adding my test to the php tests found a possible folder but expect that there are existing tests that should have uncovered this bug in the first place.

Nov. 23, 2015

Checked out master and added changes compiled and tested which worked. (Issue before with the php tests was due to an error in a function call that was returning a string with '[]' in it. Got code building re-tested bugfix.

I'm not sure if there needs to be the ability to have multiple arguments for an event. In the umple file cruise.umple.compiler Class Event where the getArgs() function is defined it uses an array of the arguments.

Nov. 20, 2015

Received an email from Dr. Timothy Lethbridge with the file and lines to comment out and found that script would compile to the tests but then have the build fail due to a php test which I think is a bug in my changes.

BUILD FAILED
/home/curtis/test/luna/umple-master/build/build.xml:7: /home/curtis/test/luna/umple-master/build/build.xml:27: The following error occurred while executing this line:
/home/curtis/test/luna/umple-master/build/build.testbed.xml:252: The following error occurred while executing this line:
/home/curtis/test/luna/umple-master/build/build.testbed.xml:145: The following error occurred while executing this line:
/home/curtis/test/luna/umple-master/build/build.testbed.xml:190: PHP tests failed ('Fail' found)\n<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>All Tests</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
.fail { background-color: inherit; color: red; }.pass { background-color: inherit; color: green; } pre { background-color: lightgray; color: inherit; }
</style>
</head>
<body>
<h1>All Tests</h1>
PHP Warning:  opendir(tracer): failed to open dir: No such file or directory in /home/curtis/test/luna/umple-master/testbed_php/test/AllTestHelper.php on line 19
PHP Parse error:  syntax error, unexpected '$wasEventProcessed' (T_VARIABLE), expecting ';' or '{' in     /home/curtis/test/luna/umple-master/testbed_php/src-gen-umple/CourseQ.php on line 44z

Nov. 19, 2015

Tried building with a couple other past versions of master which also didn't work. Copied files from a duplicate repository (I copied my working version with bugfix before checking out latest version to start the making the pull request one. This failed due to the wrong version number so reverted back to the . Cleared eclipse workspace

Nov. 18, 2015

Re-checked out master git repository from my fork and checkout branch for making changes for issue 601 again still did not get past the internet check also tried to add the -Donline=false -> -Donline=true and build still failed. Started trying to test building against HEAD^1 which also didn't work.

Nov. 17, 2015

Did some troubleshooting but cant get past build errors and therefore can't progress sent out an email yesterday but have not received a reply. I can get two different errors but I don't know what to do about them.

 first-build:
      [echo] Checking for Internet connectivity...
      [echo] Set property -Donline=false if connectivity is known to be unavailable.
      [exec] Result: 1  
      [echo] Internet connectivity available: false  
      [echo] Last Version: 1.22.0.5146  

 deps-resolve-all:  
      [echo] Internet connectivity available: false  

 BUILD FAILED  
 /home/curtis/test/luna/umple-master/build/build.umple.xml:484: The following error occurred while      executing this line:  
 /home/curtis/test/luna/umple-master/build/build.deps.xml:103: Can not resolve dependencies without Internet connection.  

AND umpleSandbox which now has a slightly different error...

 umpleSandbox:
      [java] Error: Unable to access jarfile /home/curtis/test/luna/umple-master/dist/umple-1.22.0.5146.jar
      [echo] Last Version: 1.22.0.5146

 qaLandingPage:
      [echo] Creating a QA Landing Page
      [copy] Copying 1 file to /home/curtis/test/luna/umple-master/dist/qa

 BUILD FAILED
 /home/curtis/test/luna/umple-master/build/build.xml:7: /home/curtis/test/luna/umple-master/build/build.xml:12: The following error occurred while executing this line:
 /home/curtis/test/luna/umple-master/build/build.sandbox.xml:59: The following error occurred while executing this line:
 /home/curtis/test/luna/umple-master/build/build.sandbox.xml:24: Java returned: 1

Bug 601 Solution

state_machine_Events.jet : line 91 <%= scope %> function <%=gen.translate("eventMethod",e)%>(<%= (e.getArgs()==null?"":e.getArgs())%>)

  • <%= scope %> function <%=gen.translate("eventMethod",e)%>(<%= (e.getArgs()==null?"": StringFormatter.format("${0}",e.getArgs().substr(e.getArgs().indexOf(" ") + 1)))%>)

StringFormatter.format("${0}",e.getArgs().substr(e.getArgs().indexOf(" ") + 1))

Alt. state_machine_Events.jet : line 91 <%= scope %> function <%=gen.translate("eventMethod",e)%>(<%= (e.getArgs()==null?"":e.getArgs())%>)

  • <%= scope %> function <%=gen.translate("eventMethod",e)%>($<%= (e.getArgs()==null?"":e.getName())

Nov. 16, 2015

Finished and tested bugfix for issue 601. Started to complete pull request but now building is giving me a strange error I wasn't having before:

umpleSandbox:  
 [java] Processing -> sandbox/src/sandbox.ump  
 [java] java.lang.Error: Unresolved compilation problems:   
 [java]     TriState cannot be resolved to a type  
 [java]     TriState cannot be resolved to a type  
 [java]     TriState cannot be resolved to a type  
 [java]     TriState cannot be resolved to a type  
 [java]   
 [java]     at cruise.umple.compiler.UmpleClass.getApplicableCodeInjections(UmpleClass.java:2612)  
 [java]     at cruise.umple.compiler.java.JavaClassGenerator.getConstructorCode(JavaClassGenerator.java:3226)  
 [java]     at cruise.umple.compiler.java.JavaClassGenerator.getCode(JavaClassGenerator.java:2667)  
 [java]     at cruise.umple.compiler.JavaGenerator.writeFile(JavaGenerator.java:2407)  
 [java]     at cruise.umple.compiler.JavaGenerator.generate(JavaGenerator.java:118)  
 [java]     at cruise.umple.compiler.UmpleModel.generate(UmpleModel.java:1227)  
 [java]     at cruise.umple.compiler.UmpleInternalParser.analyze(UmpleInternalParser.java:1040)  
 [java]     at cruise.umple.compiler.UmpleModel.run(UmpleModel.java:1171)  
 [java]     at cruise.umple.UmpleConsoleMain.runConsole(UmpleConsoleMain.java:109)  
 [java]     at cruise.umple.UmpleConsoleMain.main(UmpleConsoleMain.java:151)  
 [echo] Last Version: 1.22.0.5146  

I also have a test case which I am adding before submitting the final pull request and updating the php tests which may now fail due to the bugfix

Nov. 11, 2015

Ran a bunch of tests for all the different properties of event object 'e' to see if there was an existing variable that could be called to get the event variable name without the type as is needed to solve the bug. gen.translate("ParameterOne", e) gives $aE1 which would be a possible solution though I think it is not the ideal as it does not maintain the variable name as supplied by the user in their umple file. Decided to complete the bugfix using string comprehension to grab variable name from e.getArgs() string: "varType varName" => "${0}" (varName)

Nov. 9, 2015

Found php translation function in compiler files specifically Generator_CodePhp.ump. Read through the relevant code and also read related jet files code

Nov. 6, 2015

Found that php gen object is created in phpClassGenerator.jumpjet finding a way to change the translation to use '$' instead of 'int', 'String' etc. will likely need to be done prior to this as the object seems to be directly populated from the umple code input into the compiler. I am looking at cruise.umple.compiler.php to see if I can trace the path further back as so far I have it going from PhpClassGenerator.jumpjet to state_machine_Events_All.jet to state_machine_Event.jet. I am unsure if it is necessary to trace it back as I don't know the ramifications of removing the type at a higher level though it is rather clunky to add a function that substitutes the variable type strings for '$' some input on this would help.

Todo: find point to add php translation function removing type for variable calls.

Nov. 4, 2015

Due to the amount of time it was taking to build and test bug 508 I have moved on to fixing PHP generated from state machines with parameterized events #601. I have tracked down the section of code needing to be changed and have the bugfix nearly implemented just having issues with syntax and the full build increases testing time

601

state_machine_Event.jet
Replace: <%= (e.getArgs()==null?"":e.getArgs())%>
with <%= (e.getArgs()==null?"": (e.getArgs().substring(0,3)=="int":e.getArgs().replace("int","$")?e.getArgs()))%>

Other potential solutions would be to dump the variable type from the argument parsing and replace it there with a "$"

Nov. 3, 2015

Continued testing to test and isolate Association Class instance found that changes do not occur when I try to do a quick build: ant -Dmyenv=local -f build.umple.xml template.test Which means I have to run the full build to test any changes made and let it fail in the tests then verify that a change was made in building my test umple file.

This is strange eclipse error however it is not affecting the bug I'm working on... Errors occurred during the build. Errors running builder 'JET Builder' on project 'UmpleToTemplate'. The file 'association_GetOne.jet' cannot be read in 'association_Get_All.jet' at line 38 column 9 The file 'association_GetOne.jet' cannot be read in 'association_Get_All.jet' at line 38 column 9 The file 'association_GetOne.jet' cannot be read in 'association_Get_All.jet' at line 38 column 9 The file 'association_GetOne.jet' cannot be read in 'association_Get_All.jet' at line 38 column 9

Nov. 2, 2015

Still having issues with compiling changes to JET and not having build fail.

Oct. 30-31, 2015

Made minor changes to JET file then tried to compile which seems to fail every time I try it. One change did not correct itself after reverting so I had to re-clone the repository and rebuild the project after which changes again affected the generated code.

Oct. 24, 2015

Added test.ump for my issue to test solution against. Read through JET code trying to understand changes needing to be made.

Oct. 20, 2015

Found issue was that the src-gen-umple source in cruise.umple was not added correctly. All errors are gone after rebuilding umple and adding src-gen-umple to the source section of the java build path.

Oct. 18, 2015

Tried several suggested methods changing dependencies to no avail.

Oct. 17, 2015

Haven't been able to get rid of the dependency issues in eclipse using IvyDE but the errors persist. Need some help at this point so I can finish issue 508.

Oct. 15, 2015

Took some time to setup Umple in eclipse Luna ran into the 1000+ build errors upon importing the required projects and am working on making sure all the dependencies are properly included down to 5 errors. Went a little astray following the wiki tutorial though as it seems the dependancy management has changed so I went back to using the Development Setup doc.

Oct. 14, 2015

JET does not work at all in Eclipse Mars uncertain as to why but after several attempts to get it to work I downloaded Eclipse Luna the previous version of Eclipse and found JET worked. Now with functional JET plug-in I am working to verify my bugfix and build. Used following tutorials to verify working JET: tutorial_1 and tutorial_2

Oct. 13, 2015

Built and tested JET project (which failed) also working to use independent JET project to isolate conditions that are needed for abstract class. Goal is to complete issue by Friday; plan to complete is to finish the JET issues tomorrow, Oct 14, update unit tests on Thursday for change in generated code and then final testing and Pull request on Friday.

Oct. 10, 2015

Started fixing errors found when attempting to build with eclipse. Tested command line build and realized that JET changes don't seem to be generating different code. Next step is checking if the JET plug-in was setup correctly to generate the needed code plan is to test using a sample project.

Oct. 3, 2015

Moved Jet code from hash() function to the constructor verified that the bug was fixed in test cases by doing this. Found JET code that follows the same pattern as the Java code and moved the existing code. Attempted to build but ran into several errors.

Sept. 26-27, 2015

Continued work on Issue 508 reading some of the Jet Tutorials to be and found code section needing to be changed. Setup test cases to show the changes needed

Sept. 18-20, 2015

Fixed some mistakes during laptop setup: Needed latest version of eclipse, installed Ruby rake gem. Picked issue 508 to fix. Narrowed down problem and wrote test code to verify solution against. Tested editing Jet file in eclipse and found specific file needing to be changed to fix issue.

Sept. 13, 2015

Updated Ubuntu java version to Java 8 (Instructions here), PHP 5 and Ruby. Development Setup

Sept. 10, 2015

Setup Eclipse and commandline version of Umple in Ubuntu 14.04 LTS as per the instructions on the Install Eclipse Plugin page.