• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

se-edu / addressbook-level4 / 4312
94%

Build:
DEFAULT BRANCH: master
Ran 19 Mar 2018 01:18PM UTC
Jobs 1
Files 92
Run time 5s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
4312

push

travis-ci

web-flow
[#796] PersonListPanel#personListView: revert type change (#818)

personListView is of type ListView<PersonCard>. We use EasyBind library
to map the Person objects to PersonCard objects. The mapping / applying
of Function<? super F, ? extends E> occurs only when either get(int) or
getRemoved() methods are called[1]; the creation of PersonCard objects
occur only when either of these methods are called.

The ClearCommand deletes all Person objects. When we have large number
of persons and getRemoved() is called, all the corresponding cards
will be created prior to them being removed. As creation of PersonCard
objects are costly, the app slows down tremendously.

Let's revert ListView<PersonCard> to ListView<Person>.
PersonListViewCell will create the PersonCard object. According to
javadoc for Cell that "it is not feasible to create an actual Cell for
every single item in the control. We represent extremely large data
sets using only very few Cells. Each Cell is "recycled", or reused."[2]
A Cell is created for every row in the ListView that is displayed on
the scene i.e. that is visible to the user, and additional Cells may be
created for efficient scroll handling.[3] This implies that there will
only be about 10 Cells at any point in time since the default screen
size is only large enough to display 10 Cells. Therefore, there will
only be about 10 PersonCard objects at any point. Creation of 10
PersonCard objects is performed in negligible time, thus the app no
longer slows down. This commit is performed by reverting from
75cbfa3.

Also, since PersonCard objects are only created when the card is
displayed on the list view, let's teach
GuiTestAssert#assertListMatching(PersonListPanelHandle, Person...) and
AddressBookSystemTest#assertSelectedCardChange(Index) to navigate to
the card that they are verifying before performing the verification.

[1]: https://github.com/TomasMikula/EasyBind/blob/master/src/main/java/org/fxmisc... (continued)

1473 of 1595 relevant lines covered (92.35%)

0.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 4312.1 19 Mar 2018 01:18PM UTC 0
92.35
Travis Job 4312.1
Source Files on build 4312
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #4312
  • a4ef5229 on github
  • Prev Build on master (#4310)
  • Next Build on master (#4382)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc