I'm Nuno Silva, former SysAdmin at IST.
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.
Project for the Software Engineering Course, IST, 2016
34d10c3 broke the build
Create methods to import and export XML file
Create method: createSuperUser()
Removes a file or an empty directory based on its path.
Requires #7
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
).
Implement the visitor pattern (which will be used in XML exports) to all the classes that can be exported.
This is basically (but not only) the Directory.addFile()
method.
Person.java has an example on how to do this.
needed for #8
Self-explanatory exceptions for each error situation.
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.
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.
We need to convert the 0
's and 1
's to a "human-readable format" (like rwxrwxr-x
). I suggest adding a method to User
(something like .getHRPermissions()
) that takes care of that.
Creates rootDir
Creates Super User
Creates Super User home directory
Advantages:
Once debated between the group, implement the solution agreed upon.
Implement InvalidUsernameException in case username is unacceptable
Create and handle exceptions in the code.
What data type should we choose for a user's home director?
String
attributeUser
The current dml does not allow to identify a specific FileSystem
. It needs some sort of identification.
just so we dont forget
Project doesn't compile due to class File in dml.
`class File{
String fileName;
User owner; <------- error here
long id;
byte perm;
DateTime lastMod;
}`
โข database name: drivedb
โข database user: mydrive
โข datebase password: mydriv3
Implement the Singleton pattern in Manager
class.
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).
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:
See section 6 of guialab.pdf.
needed for #14
Add functionality to import a FileSystem from XML.
Choose a template for commit messages.
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 consistency in usernames provided, they must be:
We need to reveal our dml's and come up with the best solution.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.