Giter Site home page Giter Site logo

es16al_35-project's Introduction

Hi there ๐Ÿ‘‹

I'm Nuno Silva, former SysAdmin at IST.

:octocat: All the statistics

github stats

NOTE: "Most Used Languages" does not indicate my skill level or anything like that. It's a GitHub metric of which languages have the most code on GitHub.

es16al_35-project's People

Contributors

bernardobranco avatar gisson avatar goncalo1995 avatar iluxonchik avatar nuno-silva avatar pmcarmo avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

es16al_35-project's Issues

Remove a file

Removes a file or an empty directory based on its path.

Requires #7

Implement File deletion from Directory

Support deleting a file from a directory.

While analysing this, I found that File does not need the isDeleted attribute. File deletion is handled using a File.remove() method, which removes it from it's parent Directory.

See Contact.java for an example (Contact is a File and Person is a Directory).

needed for #8
will affect #7

Exceptions

Self-explanatory exceptions for each error situation.

Dml change again(class File)

Class file needed an extra attribute, something to verify if it was deleted, since java doesn't have delete but instead uses a garbage collector.

Update on DML

On our DML we initially had the follow relation

relation DirectoryHasFiles {
    Directory playsRole directory { multiplicity 1; }
    File playsRole file { multiplicity 2..*; }
}

However if we wish it to run properly we need to create at least 2 files(supposedly it would be . and ..) but we wont have a copy of himself(.) in the database.
We should also discuss if we need the .. or if it's useless.

Should be solved before #23 is even thought about.

Decide on whether to implement filesystem manager class

Advantages:

  1. Relieve fileSystem class from the job of having to read and print the XML file (Manager would read the XML and call method from filesystem class to actually import it, thus updating new users)
  2. Separate domainRoot (fileSystem setup) from fileSystem functionality

Once debated between the group, implement the solution agreed upon.

Type of home directory

What data type should we choose for a user's home director?

  • String attribute
  • relation with User
  • none (it can be obtained from the username)
    #3 depends on this.

Filesystem Identification

The current dml does not allow to identify a specific FileSystem. It needs some sort of identification.

Project doesn't compile

Project doesn't compile due to class File in dml.
`class File{

String fileName;
User owner;  <------- error here
long id;
byte perm;
DateTime lastMod;

}`

Consistency in Users and Directories

Regarding the "users without home directories" and "directories/files without an owner" issues mentioned by the teacher, how should we tackle them?

I suggest to take an event-driven approach. What I mean by that is when a user or a directory/file is created, it will notify some central entity, for example the Manager or the FileSystem (or even a separate entity), which will make sure that everything is okay(i.e that the user has a home directory and that the directory/file has an owner). If something is not okay, that entity is responsible for correcting the problem, making sure that the business rules are not violated (for example, defaulting the owner of directories/files without an owner to root).

The idea is to centralize the business rules in a single place, that will make making changes to them easier in the future (if necessary).

Wiki for the 1st sprint

According to es16p1.pdf, the wiki for the first sprint should be finished, in our case, before the lab on 2016/03/07.

The wiki should contain:

  • specification of each story
  • story assignments for each team member, including the sprint-1 milestone
  • listing of the team members, including each member's first and last name, ISTid and GitHub username

See section 6 of guialab.pdf.

FileSystem Constructor

When working on the FileSystem's constructor I found what I think might be a problem... Are we gonna leave the home directory for the users (/home/username/) as a String or are we going to insert a new Directory in /home/ where the new directories name is the username?

Check username

Check consistency in usernames provided, they must be:

  1. not empty
  2. exclusively made up of characters and digits

DML

We need to reveal our dml's and come up with the best solution.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.